/* Bluepeak 3D site styles and shared design tokens */

:root {
  --pl-black: #15161b;
  --pl-dark-gray: #343741;
  --pl-blue: #0078d2;
  --pl-blue-dark: #005ca3;
  --pl-blue-deep: #003f6d;
  --pl-blue-tint: #d8ecfd;
  --pl-blue-tint-hover: #b1d9fb;
  --pl-green: #86bc25;
  --pl-hero-bg: #f5f7fa;
  --subpage-mist-blue: rgba(160, 188, 215, 0.8);
  --pl-border: #f1f4f8;
  --pl-hr: #e1e4ea;
  --pl-life: #ebf6ff;
  --pl-text: #333;
  --pl-muted: #687082;
  --muted: #687082;
  --gradient-pro-start: #449eca;
  --gradient-pro-end: #86bc25;
  --container: 1170px;
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/static/fonts/material-symbols-outlined.ttf") format("truetype");
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.5;
  color: var(--pl-text);
  background: #fff;
  overflow-x: hidden;
}

body.mobile-nav-open {
  overflow: hidden;
}

a {
  color: var(--pl-blue);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  vertical-align: middle;
  font-size: 1.15em;
}

/* Medical industry landing page */
.medical-hero {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
}

.medical-hero-inner {
  padding: 56px 0 50px;
  width: min(760px, calc(100% - 48px));
  margin-left: max(24px, calc((100% - var(--container)) / 2));
  margin-right: 24px;
}

.medical-eyebrow,
.medical-kicker {
  margin: 0 0 14px;
  color: #5db7ff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.medical-hero h1,
.medical-cta h2,
.medical-section h2 {
  margin: 0;
  line-height: 1.12;
}

.medical-hero h1 {
  max-width: 720px;
  color: #fff;
}

.medical-hero-lead {
  margin: 24px 0 0;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.92);
}

.medical-hero .hero2-lead.medical-hero-lead {
  color: rgba(255, 255, 255, 0.92);
}

.medical-hero-points {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.medical-hero-points li {
  position: relative;
  margin-top: 10px;
  padding-left: 24px;
  color: rgba(255, 255, 255, 0.95);
}

.medical-hero-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 8px;
  height: 8px;
  background: #26a8ff;
}

.medical-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.medical-section {
  padding: 88px 0;
}

.medical-section-alt {
  background: #f6f8fb;
}

.medical-section-heading {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}

.medical-section-heading h2 {
  font-size: clamp(19px, 1.75vw, 26px);
  line-height: 1.12;
  color: #2c3342;
}

.medical-section-heading p {
  margin: 18px 0 0;
  color: var(--pl-muted);
  font-size: 18px;
  line-height: 1.55;
}

.medical-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
}

.medical-benefit-card,
.medical-article-card,
.medical-machine-card,
.medical-quote-card {
  background: #fff;
  border: 1px solid #eaf0f6;
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(13, 31, 52, 0.06);
}

.medical-benefit-card {
  padding: 26px 22px 24px;
  text-align: center;
}

.medical-benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #e9f5ff;
  color: var(--pl-blue);
  font-size: 18px;
  font-weight: 800;
}

.medical-benefit-card h3,
.medical-article-card h3,
.medical-machine-card h3 {
  margin: 18px 0 10px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #2c3342;
}

.medical-benefit-card p,
.medical-article-copy p,
.medical-machine-copy p,
.medical-copy p,
.medical-cta p {
  margin: 0;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
}

.medical-benefit-card p {
  font-size: 15px;
}

.medical-case-study,
.medical-partnership,
.medical-materials,
.medical-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 36px;
  align-items: center;
}

.medical-case-study .medical-copy {
  max-width: 980px;
}

.medical-meta {
  margin: 18px 0 0;
  color: var(--pl-blue-deep);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.5;
}

.medical-results {
  margin: 22px 0 28px;
  padding-left: 20px;
}

.medical-results li {
  margin-top: 12px;
}

.medical-visual img,
.medical-article-card img,
.medical-machine-card img {
  display: block;
  width: 100%;
  height: auto;
}

.medical-visual img {
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(13, 31, 52, 0.12);
}

.medical-quote-card {
  max-width: 920px;
  margin: 0 auto;
  padding: 40px 44px;
  text-align: center;
}

.medical-quote-card blockquote {
  margin: 10px 0 18px;
  color: #122033;
  font-size: clamp(19px, 1.75vw, 26px);
  font-weight: 700;
  line-height: 1.12;
}

.medical-quote-attribution {
  color: var(--pl-muted);
}

.medical-article-grid,
.medical-machine-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.medical-machine-grid {
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
  gap: 18px;
}

.medical-article-card,
.medical-machine-card {
  overflow: hidden;
}

.medical-machine-card img {
  max-height: 360px;
  object-fit: contain;
  background: #fff;
}

.medical-article-copy,
.medical-machine-copy {
  padding: 26px 24px 28px;
}

.medical-machine-copy {
  padding: 20px 18px 22px;
}

.medical-article-copy h3,
.medical-machine-copy h3 {
  margin-top: 0;
}

.medical-copy h2,
.medical-cta h2 {
  font-size: clamp(19px, 1.75vw, 26px);
  line-height: 1.12;
  color: #2c3342;
  margin-bottom: 16px;
  max-width: 900px;
}

.medical-quote-attribution,
.medical-partner-pill,
.medical-material-chip {
  font-size: 15px;
  line-height: 1.5;
}

.medical-copy p,
.medical-results {
  max-width: 860px;
}

.medical-partner-list,
.medical-material-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.medical-partner-pill,
.medical-material-chip {
  padding: 14px 18px;
  border-radius: 999px;
  border: 1px solid #d8e7f5;
  background: #fff;
  color: #15314f;
  font-weight: 600;
}

.medical-cta {
  padding: 78px 0;
  background: linear-gradient(135deg, #0d2135, #0f4d82);
  color: #fff;
}

.medical-cta h2 {
  font-size: clamp(30px, 4vw, 44px);
}

.medical-cta p {
  margin-top: 16px;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.84);
}

.medical-cta .btn {
  justify-self: end;
  align-self: center;
}

@media (max-width: 1080px) {
  .medical-benefit-grid,
  .medical-article-grid,
  .medical-machine-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 80px);
  }

  .medical-case-study,
  .medical-partnership,
  .medical-materials,
  .medical-cta-inner {
    grid-template-columns: 1fr;
  }

  .medical-case-study .medical-copy {
    margin-left: 0;
    max-width: none;
  }

  .medical-cta .btn {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .medical-hero-inner {
    padding: 44px 0 36px;
    margin-left: 24px;
  }

  .medical-hero-lead,
  .medical-section-heading p {
    font-size: 16px;
  }

  .medical-section {
    padding: 68px 0;
  }

  .medical-benefit-grid,
  .medical-article-grid,
  .medical-machine-grid {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .medical-benefit-card,
  .medical-quote-card {
    padding: 28px 22px;
  }
}

/* Relevant certificates page */
.certificates-hero {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
}

.certificates-hero-inner {
  width: min(1180px, calc(100% - 48px));
  padding: clamp(42px, 6vw, 72px) 0 clamp(38px, 5vw, 62px);
  max-width: 760px;
  margin: 0 auto;
}

.certificates-eyebrow {
  margin: 0 0 14px;
  color: #5db7ff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.certificates-hero h1 {
  margin: 0;
  max-width: 720px;
  color: #fff;
  line-height: 1.12;
}

.certificates-hero-lead {
  margin: 24px 0 0;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.5;
}

.certificates-hero .hero2-lead.certificates-hero-lead {
  color: rgba(255, 255, 255, 0.92);
}

.certificates-section {
  padding: clamp(56px, 7vw, 88px) 0;
}

.certificates-section-alt {
  background: #f6f8fb;
}

.certificates-section-heading {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}

.certificates-section-heading h2,
.certificates-document-copy h2 {
  margin: 0;
  color: #2c3342;
  font-size: clamp(19px, 1.75vw, 26px);
  line-height: 1.12;
}

.certificates-section-heading p,
.certificates-document-copy p {
  margin: 18px 0 0;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
}

.certificates-section-heading p {
  font-size: 18px;
  line-height: 1.55;
}

.certificates-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 18px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.certificates-card {
  padding: 26px 24px 28px;
  background: #fff;
  border: 1px solid #eaf0f6;
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(13, 31, 52, 0.06);
}

.certificates-card h3 {
  margin: 0 0 10px;
  color: #2c3342;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

.certificates-card p {
  margin: 0;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
}

.certificates-table-wrap {
  overflow-x: auto;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  background: #fff;
  border: 1px solid #eaf0f6;
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(13, 31, 52, 0.06);
}

.certificates-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.certificates-table th,
.certificates-table td {
  padding: 16px 18px;
  border-bottom: 1px solid #eaf0f6;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}

.certificates-table th {
  color: #2c3342;
  font-weight: 700;
}

.certificates-table tr:last-child td {
  border-bottom: 0;
}

.certificates-document-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(420px, 1.1fr);
  gap: 36px;
  align-items: start;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.certificates-document-copy {
  max-width: 560px;
}

.certificates-document-copy .btn {
  margin-top: 28px;
}

.certificates-document-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 14px;
}

.certificates-document-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 18px;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
  background: #fff;
  border: 1px solid #eaf0f6;
  border-radius: 8px;
}

.certificates-document-item .material-symbols-outlined {
  color: var(--pl-blue);
  font-size: 22px;
}

@media (max-width: 1080px) {
  .certificates-overview-grid,
  .certificates-table-wrap {
    width: min(100% - 40px, 920px);
  }

  .certificates-overview-grid,
  .certificates-document-layout {
    width: min(100% - 40px, 920px);
    grid-template-columns: 1fr;
  }

  .certificates-document-copy {
    margin-left: 0;
    max-width: none;
  }
}

@media (max-width: 720px) {
  .certificates-hero-inner {
    width: min(100% - 32px, 640px);
    padding: 44px 0 36px;
  }

  .certificates-hero-lead,
  .certificates-section-heading p {
    font-size: 16px;
  }

  .certificates-section {
    padding: 68px 0;
  }

  .certificates-overview-grid,
  .certificates-table-wrap,
  .certificates-document-layout {
    width: min(100% - 32px, 640px);
  }

  .certificates-card {
    padding: 28px 22px;
  }

  .certificates-document-list {
    grid-template-columns: 1fr;
  }
}

/* Top announcement */
.pl-announcements {
  background: var(--pl-black);
  color: #fff;
  text-align: center;
  font-size: 13px;
  padding: 10px 16px;
}

.pl-announcements a {
  color: #fff;
  font-weight: 600;
}

.pl-announcements a:hover {
  text-decoration: underline;
}

.pl-announcements .bubble {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--pl-green);
  border-radius: 20px;
  padding: 2px 10px;
  margin-right: 8px;
  background: var(--pl-dark-gray);
  font-size: 12px;
  color: var(--pl-green);
  font-weight: 700;
}

/* Header */
#pl-header {
  position: sticky;
  top: 0;
  z-index: 1020;
  background: #fff;
  border-bottom: 1px solid var(--pl-border);
  min-height: 84px;
  overflow: visible;
}

.header-inner {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  min-height: 84px;
  position: relative;
}

#pl-header .logo img {
  height: 40px;
  width: auto;
  display: block;
}

#pl-header .logo {
  flex: 0 0 auto;
  margin-right: 22px;
}

.header-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--pl-border);
  border-radius: 8px;
  background: #fff;
  color: #1c2331;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
}

.header-menu-toggle .material-symbols-outlined {
  font-size: 26px;
}

.nav-desktop {
  display: none;
  flex: 1;
  justify-content: flex-start;
  gap: 0;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: stretch;
  position: static;
  align-self: stretch;
  white-space: nowrap;
  min-width: 0;
  margin-right: 18px;
}

.nav-item {
  position: static;
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
}

.nav-item-account {
  position: relative;
}

.nav-item > a {
  color: var(--pl-text);
  font-weight: 500;
  font-size: 16px;
  display: flex;
  align-items: center;
  min-height: 84px;
  padding: 0 20px;
  position: relative;
  z-index: 1000;
  border-radius: 0;
  transition: color 0.2s, background 0.2s;
}

.nav-item > a::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 2px;
  background: transparent;
  transition: background 0.2s;
}

.nav-item > a:hover,
.nav-item.has-dropdown:hover > a {
  color: var(--pl-blue);
  text-decoration: none;
  background: #f1f4f8;
}

.nav-item > a:hover::after,
.nav-item.has-dropdown:hover > a::after {
  background: var(--pl-blue);
}

/* Mega Menu styles */
.mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  transform: none;
  background: #fff;
  box-shadow: 0 18px 32px rgba(12, 24, 42, 0.08);
  padding: 0;
  width: auto;
  display: none;
  z-index: 999;
  margin-top: 0;
  border-top: 1px solid var(--pl-border);
  border-bottom: 1px solid var(--pl-border);
}

.mobile-nav-panel {
  display: none;
  border-top: 1px solid var(--pl-border);
  background: #fff;
}

.mobile-nav-inner {
  padding: 14px 20px 20px;
}

.mobile-nav-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 14px;
}

.mobile-nav-quote {
  width: 100%;
  justify-content: center;
}

.mobile-nav-signin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 1px solid var(--pl-blue);
  border-radius: 8px;
  color: var(--pl-blue);
  font-weight: 700;
}

.mobile-nav-signin:hover {
  text-decoration: none;
  background: var(--pl-blue-tint);
}

.mobile-nav-group {
  border-bottom: 1px solid var(--pl-border);
}

.mobile-nav-group summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 0;
  font-size: 17px;
  font-weight: 600;
  color: #182235;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mobile-nav-group summary::-webkit-details-marker {
  display: none;
}

.mobile-nav-group summary::after {
  content: "expand_more";
  font-family: "Material Symbols Outlined";
  font-size: 22px;
  color: var(--pl-blue);
}

.mobile-nav-group[open] summary::after {
  content: "expand_less";
}

.mobile-nav-links {
  display: grid;
  gap: 10px;
  padding: 0 0 16px;
}

.mobile-nav-links a {
  color: #45536a;
  font-size: 15px;
}

.nav-item.has-dropdown:hover .mega-menu {
  display: block;
  animation: fadeIn 0.3s ease-in-out;
}

.mega-menu-shell {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 470px;
}

.mega-menu-main {
  padding: 42px 70px 46px;
}

.mega-menu-grid {
  display: grid;
  row-gap: 38px;
  column-gap: 44px;
}

.mega-menu-grid-services {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 56px;
  align-items: start;
}

.mega-menu-grid-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mega-menu-col,
.mega-menu-col-links {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  width: 100%;
}

.mega-menu-col h4 {
  font-size: 17px;
  font-weight: 500;
  color: var(--pl-blue);
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #d9dde5;
  overflow-wrap: anywhere;
}

.mega-menu-link {
  display: block;
  color: #1f2430;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  padding: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.mega-menu-link:hover {
  color: var(--pl-blue);
  text-decoration: none;
}

.mega-menu-aside {
  background: #f5f7fa;
  padding: 46px 46px 42px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #e1e6ee;
}

.mega-menu-aside-image {
  width: 100%;
  height: 188px;
  object-fit: cover;
  display: block;
  margin-bottom: 24px;
}

.mega-menu-aside h4 {
  margin: 0 0 18px;
  color: #1b2432;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 600;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.mega-menu-aside p {
  margin: 0 0 28px;
  color: #263042;
  font-size: 15px;
  line-height: 1.45;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.mega-menu-aside-cta {
  width: 100%;
  min-height: 56px;
  font-size: 16px;
}

.mega-menu-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 4px;
  text-decoration: none;
  color: var(--pl-text);
  transition: background 0.2s;
}

.mega-menu-item:hover {
  background: var(--pl-blue-tint);
  text-decoration: none;
}

.mega-menu-item img {
  width: 60px;
  height: 40px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
}

.mega-menu-item-content {
  flex: 1;
}

.mega-menu-item-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--pl-text);
  margin-bottom: 2px;
}

.mega-menu-item-desc {
  font-size: 12px;
  color: var(--pl-muted);
  line-height: 1.4;
}

.mega-menu-item:hover .mega-menu-item-title {
  color: var(--pl-blue-deep);
}

.mega-menu-featured {
  background: var(--pl-hero-bg);
  padding: 16px;
  border-radius: 4px;
  margin-top: 16px;
}

.mega-menu-featured h4 {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.mega-menu-featured p {
  font-size: 13px;
  color: var(--pl-muted);
  margin: 0 0 12px 0;
}

/* Simple dropdown for smaller menus */
.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  padding: 8px 0;
  min-width: 200px;
  display: none;
  z-index: 999;
  margin-top: 0;
}

.nav-item.has-dropdown:hover .dropdown {
  display: block;
  animation: fadeIn 0.3s ease-in-out;
}

.dropdown a {
  padding: 8px 16px;
  font-weight: normal;
  white-space: nowrap;
  display: block;
  color: var(--pl-text);
}

.dropdown a:hover {
  background: var(--pl-blue-tint);
  color: var(--pl-blue-deep);
  text-decoration: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.header-cta {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: auto;
  padding-left: 12px;
  flex: 0 0 auto;
}

.sign-in-link {
  color: var(--pl-blue);
  font-weight: 600;
  font-size: 16px;
  padding: 8px 6px;
}

.sign-in-link:hover {
  text-decoration: none;
  color: var(--pl-blue-dark);
}

.header-utility {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
  padding-left: 4px;
  margin-right: 20px;
  position: relative;
}

.search-trigger {
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: #1c2331;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 999px;
}

.search-trigger:hover {
  background: #f1f4f8;
  color: var(--pl-blue);
}

.search-trigger .material-symbols-outlined {
  font-size: 28px;
}

.site-search-panel {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 1040;
  display: none;
  align-items: center;
  gap: 8px;
  width: min(520px, calc(100vw - 40px));
  padding: 12px;
  border: 1px solid var(--pl-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(19, 38, 55, 0.16);
}

.site-search-panel.is-open {
  display: flex;
}

.site-search-field {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #d8e1e8;
  border-radius: 6px;
  background: #f8fbfd;
}

.site-search-field .material-symbols-outlined {
  flex: 0 0 auto;
  color: #516779;
  font-size: 22px;
}

.site-search-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2a35;
  font: inherit;
}

.site-search-submit {
  height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 6px;
  background: var(--pl-blue);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.site-search-submit:hover {
  background: var(--pl-blue-dark);
}

.search-results-hero,
.search-results-section {
  background: #fff;
}

.search-results-hero {
  padding: 56px 20px 30px;
  border-bottom: 1px solid var(--pl-border);
}

.search-results-shell {
  width: min(1040px, calc(100% - 40px));
  margin: 0 auto;
}

.search-results-hero h1 {
  margin: 0 0 20px;
  color: #1c2733;
  font-size: 42px;
  line-height: 1.1;
}

.search-results-form {
  display: flex;
  gap: 10px;
  max-width: 720px;
}

.search-results-field {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 14px;
  border: 1px solid #d5e0e8;
  border-radius: 7px;
  background: #f8fbfd;
}

.search-results-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2a35;
  font: inherit;
}

.search-results-form button {
  height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 7px;
  background: var(--pl-blue);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.search-results-section {
  padding: 34px 20px 80px;
}

.search-results-count {
  margin: 0 0 18px;
  color: #5f7181;
  font-weight: 700;
}

.search-results-list {
  display: grid;
  gap: 12px;
}

.search-result-card {
  border: 1px solid #e2e9ef;
  border-radius: 8px;
  background: #fff;
}

.search-result-card a {
  display: grid;
  gap: 8px;
  padding: 18px 20px;
  color: inherit;
  text-decoration: none;
}

.search-result-card span {
  color: var(--pl-blue);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.search-result-card h2 {
  margin: 0;
  color: #1c2733;
  font-size: 21px;
  line-height: 1.25;
}

.search-result-card p {
  margin: 0;
  color: #607181;
  line-height: 1.55;
}

.search-result-card:hover {
  border-color: #b9c9d5;
  box-shadow: 0 14px 32px rgba(25, 44, 61, 0.08);
}

.search-results-empty {
  padding: 28px;
  border: 1px solid #e2e9ef;
  border-radius: 8px;
  background: #f8fbfd;
}

.search-results-empty h2 {
  margin: 0 0 8px;
  color: #1c2733;
}

.search-results-empty p {
  margin: 0;
  color: #607181;
}

.utility-locale {
  display: flex;
  align-items: center;
}

.utility-flag {
  display: inline-block;
  width: 28px;
  height: 20px;
  border: 1px solid #d5dae3;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.35);
}

.usa-flag {
  background:
    linear-gradient(to bottom,
      #b22234 0 7.69%,
      #fff 7.69% 15.38%,
      #b22234 15.38% 23.07%,
      #fff 23.07% 30.76%,
      #b22234 30.76% 38.45%,
      #fff 38.45% 46.14%,
      #b22234 46.14% 53.83%,
      #fff 53.83% 61.52%,
      #b22234 61.52% 69.21%,
      #fff 69.21% 76.9%,
      #b22234 76.9% 84.59%,
      #fff 84.59% 92.28%,
      #b22234 92.28% 100%);
  position: relative;
}

.usa-flag::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 40%;
  height: 53.85%;
  background: #3c3b6e;
}

.language-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 20px;
  overflow: hidden;
  position: relative;
  flex: 0 0 28px;
  border: 1px solid rgba(22, 28, 39, 0.14);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
  line-height: 1;
}

.language-flag::before,
.language-flag::after {
  content: "";
  position: absolute;
  inset: 0;
}

.flag-us {
  background:
    linear-gradient(
      to bottom,
      #b22234 0 7.69%,
      #fff 7.69% 15.38%,
      #b22234 15.38% 23.07%,
      #fff 23.07% 30.76%,
      #b22234 30.76% 38.45%,
      #fff 38.45% 46.14%,
      #b22234 46.14% 53.83%,
      #fff 53.83% 61.52%,
      #b22234 61.52% 69.21%,
      #fff 69.21% 76.9%,
      #b22234 76.9% 84.59%,
      #fff 84.59% 92.28%,
      #b22234 92.28% 100%
    );
}

.flag-us::before {
  right: auto;
  bottom: auto;
  width: 42%;
  height: 54%;
  background: #3c3b6e;
}

.flag-cn {
  background: #de2910;
}

.flag-cn::before {
  inset: 3px auto auto 4px;
  width: 6px;
  height: 6px;
  background: #ffde00;
  clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 56%, 79% 91%, 50% 70%, 21% 91%, 32% 56%, 2% 35%, 39% 35%);
}

.flag-cn::after {
  inset: 3px auto auto 12px;
  width: 10px;
  height: 9px;
  background:
    radial-gradient(circle at 2px 1px, #ffde00 0 1.1px, transparent 1.2px),
    radial-gradient(circle at 6px 3px, #ffde00 0 1.1px, transparent 1.2px),
    radial-gradient(circle at 6px 7px, #ffde00 0 1.1px, transparent 1.2px),
    radial-gradient(circle at 2px 9px, #ffde00 0 1.1px, transparent 1.2px);
}

.flag-es {
  background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%);
}

.flag-es::before {
  inset: 7px auto auto 7px;
  width: 3px;
  height: 5px;
  background: #c60b1e;
  border-left: 1px solid #f1bf00;
  border-right: 1px solid #f1bf00;
}

.flag-ru {
  background: linear-gradient(to bottom, #fff 0 33.33%, #0039a6 33.33% 66.66%, #d52b1e 66.66% 100%);
}

.user-account-link {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--pl-blue);
  font-weight: 600;
  font-size: 16px;
  padding: 8px 6px;
  text-decoration: none;
}

.user-account-link:hover {
  text-decoration: none;
  color: var(--pl-blue-dark);
}

.user-account-link .material-symbols-outlined {
  font-size: 20px;
}

/* Buttons (match bundled site) */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 2px;
  border: 1px solid #ccc;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.btn:hover {
  text-decoration: none;
}

.btn-default {
  color: #333;
  background: #fff;
  border-color: #ccc;
}

.header-cta .btn-default {
  min-height: 54px;
  padding: 12px 28px;
  border-radius: 8px;
  border: none;
  background: var(--pl-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.btn-default:hover {
  background: #e6e6e6;
  border-color: #adadad;
  color: #333;
}

.header-cta .btn-default:hover {
  background: var(--pl-blue-dark);
  border-color: transparent;
  color: #fff;
}

.btn-secondary.blue {
  color: var(--pl-blue-deep) !important;
  background: var(--pl-blue-tint) !important;
  border: none !important;
  font-weight: 700;
}

.btn-secondary.blue:hover {
  color: #003f6d !important;
  background: var(--pl-blue-tint-hover) !important;
}

@media (min-width: 992px) {
  .nav-desktop {
    display: flex;
  }
}

@media (max-width: 1199px) {
  .header-inner {
    padding: 0 20px;
  }

  .mega-menu-shell {
    grid-template-columns: 1fr;
  }

  .mega-menu-main {
    padding: 30px 28px;
  }

  .mega-menu-aside {
    padding: 28px;
  }

  .mega-menu-grid-services,
  .mega-menu-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  #pl-header {
    min-height: 72px;
  }

  .header-inner {
    min-height: 72px;
    padding: 12px 16px;
    gap: 10px;
  }

  #pl-header .logo {
    margin-right: auto;
    min-width: 0;
  }

  #pl-header .logo img {
    height: 34px;
    max-width: min(190px, 100%);
  }

  .header-menu-toggle {
    display: inline-flex;
    order: 4;
  }

  .header-utility {
    margin-left: 0;
    gap: 8px;
    order: 2;
  }

  .header-cta {
    order: 3;
  }

  .header-cta .btn-default {
    min-height: 44px;
    padding: 0 16px;
    font-size: 14px;
    min-width: 0;
    white-space: nowrap;
  }

  .sign-in-link {
    display: none;
  }

  .user-account-link {
    padding: 0;
    min-height: auto;
    font-size: 0;
  }

  .user-account-link .material-symbols-outlined {
    font-size: 28px;
  }

  .user-account-link::after {
    display: none;
  }

  .mobile-nav-panel.is-open {
    display: block;
  }

  .lang-dropdown {
    right: 0;
  }
}

/* Hero */
.hero2 {
  background: var(--pl-hero-bg);
  padding: 36px 0 44px;
}

.homepage-hero {
  background: rgba(160, 188, 215, 0.8);
}

.subpage .hero2,
.subpage .bg-pl-lt-gray,
.subpage .services-hero,
.subpage .certificates-section-alt,
.subpage .medical-section-alt {
  background: var(--subpage-mist-blue);
}

body:not(.subpage) .bg-pl-lt-gray {
  background: var(--subpage-mist-blue);
}

.hero2 .container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

.hero2-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
}

.hero2-row-centered {
  display: block;
}

.hero2-centered-content {
  max-width: 1360px;
  margin: 0 auto;
  text-align: center;
}

@media (min-width: 900px) {
  .hero2-row {
    grid-template-columns: 1fr 1.05fr;
  }
}

.hero2 .part-image img {
  width: 100%;
  max-width: 504px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.hero2-title {
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #111;
}

.hero2-title-centered {
  font-size: clamp(34px, 4.2vw, 56px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--pl-blue-deep);
  margin-bottom: 22px;
}

.hero2-lead {
  font-size: 18px;
  line-height: 1.55;
  color: var(--pl-text);
  margin: 0 0 22px;
  max-width: 560px;
}

.hero2-lead-centered {
  max-width: 940px;
  margin: 0 auto 26px;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.34;
  letter-spacing: -0.01em;
  color: var(--pl-blue-deep);
}

.hero2-lead-centered strong {
  font-weight: 800;
}

.hero2-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.hero2-ctas-centered {
  justify-content: center;
  margin-bottom: 34px;
}

.hero2-primary-cta {
  min-width: min(100%, 380px);
  min-height: 60px;
  padding: 16px 34px;
  border-radius: 12px;
  justify-content: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 400;
  color: #fff !important;
  background: #2a6ccf !important;
  box-shadow: none;
}

.hero2-primary-cta .material-symbols-outlined {
  font-size: 22px;
}

.hero2-primary-cta:hover {
  color: #fff !important;
  background: #1f5fc0 !important;
}

@media (max-width: 767px) {
  .hero2 {
    padding: 24px 0 30px;
  }

  .hero2-row {
    gap: 20px;
  }

  .hero2-title {
    font-size: 32px;
  }

  .hero2-title-centered {
    font-size: clamp(28px, 8.6vw, 40px);
    margin-bottom: 14px;
  }

  .hero2-lead {
    font-size: 16px;
  }

  .hero2-lead-centered {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 20px;
  }

  .hero2-ctas .btn {
    width: 100%;
    justify-content: center;
  }

  .hero2-cert-inline {
    gap: 10px 16px;
    margin-bottom: 22px;
    font-size: 13px;
  }

  .hero2-primary-cta {
    min-height: 54px;
    padding: 14px 24px;
    font-size: 15px;
  }

  .hero2-supporting-copy {
    font-size: 13px;
    line-height: 1.6;
  }

  .hero2-security-note {
    font-size: 13px;
    align-items: flex-start;
  }
}

.social-share-panel {
  max-width: var(--container);
  margin: 28px auto;
  padding: 18px;
  border: 1px solid #dce5eb;
  border-radius: 8px;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 18px;
  align-items: start;
}

.social-share-panel--sidebar {
  max-width: none;
  margin: 0;
  display: block;
}

.social-share-panel--sidebar .social-share-actions {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.social-share-panel--sidebar h3 {
  text-align: center;
}

.social-share-panel--sidebar .social-share-btn {
  width: 100%;
  min-height: 42px;
  text-align: center;
}

.social-share-copy h2 {
  margin: 3px 0 8px;
  font-size: 22px;
  line-height: 1.25;
  color: var(--pl-black);
}

.social-share-copy p {
  margin: 0;
  color: var(--pl-muted);
  line-height: 1.55;
}

.social-share-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--pl-blue) !important;
}

.social-share-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.social-share-btn {
  min-height: 38px;
  border: 1px solid #cfdce6;
  border-radius: 6px;
  background: #f8fbfd;
  color: #213243;
  font-weight: 700;
  cursor: pointer;
}

.social-share-btn:hover {
  border-color: var(--pl-blue);
  color: var(--pl-blue);
  background: #eef7ff;
}

.social-share-instagram {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  margin: 0;
  color: var(--pl-muted);
  font-weight: 700;
}

.social-share-instagram textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  border: 1px solid #dce5eb;
  border-radius: 6px;
  padding: 10px 12px;
  color: #273849;
  background: #fbfdff;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .social-share-panel {
    grid-template-columns: 1fr;
    margin: 20px 16px;
  }

  .social-share-actions {
    grid-template-columns: 1fr;
  }
}

.hero2-cert {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--pl-hr);
  font-size: 14px;
}

.hero2-cert:not(.hero2-cert-inline) a {
  font-weight: 700;
  color: var(--pl-blue);
}

.hero2-cert-inline {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 26px;
  margin-bottom: 30px;
  font-size: 13px;
}

.hero2-cert-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pl-blue-deep);
  font-weight: 500;
  text-decoration: none;
}

.hero2-cert-chip:hover {
  text-decoration: none;
  color: var(--pl-blue);
}

.hero2-cert-chip .material-symbols-outlined {
  color: #50be2e;
  font-size: 20px;
}

.hero2-supporting-copy {
  max-width: 1560px;
  margin: 0 auto 20px;
  color: #8f9198;
  font-size: 12px;
  line-height: 1.6;
}

.hero2-security-note {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #7f8289;
  font-size: 11px;
}

.hero2-security-note .material-symbols-outlined {
  color: #8e8f93;
  font-size: 18px;
}

.hero2-security-note a {
  color: inherit;
  font-weight: 700;
}

.services-hero-shell {
  background: var(--subpage-mist-blue);
  padding: 36px 0 44px;
}

.services-hero-shell > .container {
  width: min(var(--container), calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.services-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 28px;
  align-items: center;
  overflow: visible;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent !important;
}

.services-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 560px;
  padding-left: 0;
  padding-right: 0;
}

.services-hero-copy h1 {
  margin: 0 0 16px;
  max-width: 560px;
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: #111;
}

.services-hero-copy p {
  margin: 0 0 22px;
  max-width: 560px;
  font-size: 18px;
  line-height: 1.55;
  color: var(--pl-text);
}

.services-hero-cert {
  margin-top: 0;
  color: #27364a;
  font-size: 14px;
  line-height: 1.5;
}

.services-hero-cert a {
  display: inline-block;
  margin-bottom: 6px;
  color: #0078d2;
  font-weight: 700;
  text-decoration: underline;
}

.services-hero-art {
  position: relative;
  inset: auto;
  z-index: 1;
  justify-self: center;
  width: 100%;
  pointer-events: none;
}

.services-hero-art-piece {
  position: static;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgba(17, 29, 48, 0.12));
}

.services-hero-piece-main {
  margin: 0 auto;
  transform: none;
  width: 100%;
  max-width: 504px;
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
}


@media (max-width: 1199px) {
  .services-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    padding: 0;
  }

  .services-hero-copy {
    max-width: 560px;
    padding-left: 0;
    padding-right: 0;
  }

  .services-hero-copy h1 {
    max-width: 560px;
    font-size: clamp(26px, 3.6vw, 38px);
    line-height: 1.2;
  }

  .services-hero-copy p {
    max-width: 560px;
    font-size: 18px;
    line-height: 1.55;
  }

  .services-hero-cert {
    font-size: 13px;
    max-width: 460px;
  }

  .services-hero-piece-main {
    max-width: 504px;
  }
}

@media (max-width: 767px) {
  .services-hero-shell {
    padding: 28px 0 34px;
  }

  .services-hero {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
  }

  .services-hero-copy {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .services-hero-copy h1 {
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 1.2;
    max-width: none;
    letter-spacing: 0;
  }

  .services-hero-copy p {
    font-size: 16px;
    line-height: 1.55;
    max-width: none;
  }

  .services-hero-cert {
    font-size: 13px;
    max-width: none;
  }

  .services-hero-art {
    position: relative;
    inset: auto;
    margin-top: 18px;
    min-height: 0;
    justify-self: start;
  }

  .services-hero-art-piece {
    filter: drop-shadow(0 12px 20px rgba(17, 29, 48, 0.14));
  }

  .services-hero-piece-main {
    margin-left: 0;
    width: min(100%, 504px);
    max-width: 504px;
  }
}

.hr-section {
  border: none;
  height: 1px;
  background: var(--pl-hr);
  margin: 28px auto;
  max-width: var(--container);
}

.resources-top-spacer {
  height: 50px;
}

/* Logo strip */
.logo-strip {
  max-width: var(--container);
  margin: 0 auto;
  padding: 8px 20px 32px;
}

.logo-strip-caption {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 16px;
  color: var(--pl-text);
}

.logo-strip-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: center;
}

@media (min-width: 768px) {
  .logo-strip-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

.logo-strip-grid img {
  max-width: 100%;
  height: 36px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.85;
}

/* Services tabs */
.services-section {
  padding: 4px 0 34px;
}

.services-section h2 {
  text-align: center;
  font-size: clamp(19px, 1.75vw, 26px);
  line-height: 1.12;
  margin: 0 0 16px;
  color: #2c3342;
}

.svc-card-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 900px) {
  .svc-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .svc-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.svc-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(18, 32, 56, 0.04);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.svc-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(18, 32, 56, 0.07);
}

.svc-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  min-height: 222px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  background: #ffffff;
}

.svc-card-media:hover {
  text-decoration: none;
}

.svc-card .panel-img {
  width: 84%;
  height: 84%;
  max-width: 84%;
  max-height: 84%;
  object-fit: contain;
  display: block;
  transform: none;
}

.svc-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  padding: 14px 14px 16px;
}

.svc-card h3 {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.svc-card h3 a {
  display: block;
  color: #24344d;
  white-space: normal;
  text-align: center;
  letter-spacing: -0.01em;
}

.svc-card h3 a:hover {
  color: var(--pl-blue);
}

.svc-card p {
  margin: 0 0 12px;
  font-size: 14px;
  color: #425066;
  line-height: 1.5;
}

.svc-card .check-list {
  margin: 0 0 16px;
  padding-left: 18px;
  color: #425066;
  font-size: 14px;
}

.svc-card .check-list li {
  margin-bottom: 6px;
}

.svc-card .btn {
  margin: auto auto 0;
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
  border-radius: 4px;
  box-shadow: none;
}

@media (max-width: 1199px) {
  .svc-card-body {
    padding: 14px 14px 16px;
  }

  .svc-card-media {
    min-height: 192px;
  }

  .svc-card h3 {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .services-section {
    padding: 8px 0 34px;
  }

  .services-section h2 {
    margin-bottom: 18px;
    font-size: clamp(20px, 5.8vw, 24px);
  }

  .svc-card-grid {
    gap: 14px;
    padding: 0 16px;
  }

  .svc-card-media {
    min-height: 176px;
    aspect-ratio: 1.05 / 1;
  }

  .svc-card-body {
    padding: 12px 12px 14px;
  }

  .svc-card h3 {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .svc-card p,
  .svc-card .check-list {
    font-size: 12px;
  }

  .svc-card .btn {
    width: auto;
    justify-content: center;
  }

  .svc-tab-media {
    width: 96px;
    height: 64px;
  }
}

/*
Legacy tab styles retained for other templates that may still reference them.
*/
.svc-tabs-wrap {
  position: relative;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 12px;
}

.svc-tabs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0;
  border-bottom: 2px solid var(--pl-hr);
  justify-content: center;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.svc-tab {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px 18px 12px;
  cursor: pointer;
  border: none;
  background: none;
  font: inherit;
  color: var(--pl-text);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  min-width: 120px;
}

.svc-tab-media {
  width: 120px;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.svc-tab img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 2px;
  display: block;
}

.svc-tab.active {
  border-bottom-color: var(--pl-blue);
  font-weight: 700;
}

.svc-tab .chev {
  font-size: 18px;
  color: var(--pl-muted);
}

.svc-panels {
  max-width: var(--container);
  margin: 0 auto;
  padding: 28px 20px 0;
}

.svc-panel {
  display: none;
}

.svc-panel.active {
  display: block;
}

.svc-panel-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 992px) {
  .svc-tabs {
    justify-content: space-between;
    overflow-x: visible;
    gap: 20px;
  }

  .svc-tab {
    flex: 1 1 0;
    min-width: 0;
  }

  .svc-panel-inner {
    grid-template-columns: 1fr 1fr 1.1fr;
    align-items: start;
  }

  .svc-panel-copy {
    align-self: stretch;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.svc-panel h3 {
  margin: 0 0 12px;
  font-size: 22px;
}

.svc-panel .check-list {
  margin: 0;
  padding-left: 18px;
}

.svc-panel .check-list li {
  margin-bottom: 10px;
}

.svc-panel .panel-img {
  width: 100%;
  max-width: 400px;
  height: 242px;
  object-fit: contain;
  border-radius: 2px;
}

.laser-applications {
  max-width: var(--container);
  margin: 0 auto;
  padding: 62px 20px 72px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 56px;
  text-align: center;
}

.laser-application-item img {
  width: 185px;
  height: 185px;
  object-fit: contain;
  display: block;
  margin: 0 auto 24px;
}

.laser-application-item h3 {
  margin: 0 0 14px;
  font-size: 24px;
  line-height: 1.2;
}

.laser-application-item p {
  margin: 0 auto;
  max-width: 330px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 800px) {
  .laser-applications {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 48px 20px 56px;
  }
}

.forming-materials-section {
  background: #fff;
  padding: 58px 20px 70px;
}

.forming-materials {
  max-width: 980px;
  margin: 0 auto;
}

.forming-materials-head {
  text-align: center;
  margin-bottom: 42px;
}

.forming-materials-head h2 {
  margin: 0 0 18px;
  color: var(--ink);
  font-size: 32px;
  line-height: 1.2;
}

.forming-materials-head p {
  margin: 0 auto;
  max-width: 720px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
}

.forming-materials-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.forming-materials-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
}

.forming-materials-table th,
.forming-materials-table td {
  padding: 24px 24px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #b8c3ce;
}

.forming-materials-table thead th {
  padding-top: 0;
  font-weight: 700;
}

.forming-materials-table tbody th {
  width: 18%;
  font-weight: 700;
}

.forming-materials-table td:nth-child(2) {
  width: 28%;
}

.forming-materials-table td:nth-child(3) {
  width: 54%;
}

.forming-materials-table ul {
  margin: 0;
  padding-left: 22px;
}

.forming-materials-table li + li {
  margin-top: 10px;
}

.forming-materials-note {
  margin: 22px 0 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.45;
}

@media (max-width: 800px) {
  .forming-materials-section {
    padding: 46px 16px 56px;
  }

  .forming-materials-head {
    text-align: left;
    margin-bottom: 30px;
  }

  .forming-materials-head h2 {
    font-size: 28px;
  }

  .forming-materials-head p {
    margin-left: 0;
  }
}

.laser-guidelines-section {
  background: #fff;
  padding: 70px 20px 76px;
}

.laser-guidelines {
  max-width: var(--container);
  margin: 0 auto;
}

.laser-guidelines-head {
  text-align: center;
  margin-bottom: 48px;
}

.laser-guidelines-head h2 {
  margin: 0;
  font-size: 32px;
  line-height: 1.2;
}

.laser-guidelines-head span {
  width: 56px;
  height: 3px;
  display: block;
  margin: 24px auto 28px;
  background: var(--pl-green);
}

.laser-guidelines-head p {
  margin: 0 auto;
  max-width: 820px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.55;
}

.laser-guidelines-tabs {
  display: flex;
  justify-content: flex-end;
  gap: 26px;
  border-bottom: 1px solid var(--line);
}

.laser-guidelines-tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0 0 18px;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  border-bottom: 4px solid transparent;
}

.laser-guidelines-tab.active {
  border-bottom-color: var(--pl-blue);
}

.laser-guidelines-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.laser-guidelines-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.45;
}

.laser-guidelines-table th,
.laser-guidelines-table td {
  padding: 28px 24px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 2px solid #fff;
  background: #f3f6f9;
}

.laser-guidelines-table th {
  width: 25%;
  min-width: 220px;
  font-weight: 700;
}

.laser-guidelines-table td {
  width: 75%;
}

.laser-guidelines-table ul {
  margin: 0;
  padding-left: 22px;
}

.laser-guidelines-table li + li {
  margin-top: 12px;
}

@media (max-width: 800px) {
  .laser-guidelines-section {
    padding: 52px 16px 58px;
  }

  .laser-guidelines-head {
    margin-bottom: 32px;
  }

  .laser-guidelines-head h2 {
    font-size: 28px;
  }

  .laser-guidelines-tabs {
    justify-content: flex-start;
  }
}

.surface-finishes-section {
  padding: 58px 20px 34px;
  background: #fff;
}

.surface-finishes-card {
  max-width: var(--container);
  margin: 0 auto;
  padding: 34px 48px 38px;
  border: 1px solid #e3e8ee;
  background: #fff;
}

.surface-finishes-head h2 {
  margin: 0 0 10px;
  color: #2a3342;
  font-size: 33px;
  line-height: 1.15;
}

.surface-finishes-head p {
  margin: 0;
  color: #2e3643;
  font-size: 16px;
  line-height: 1.55;
}

.surface-finishes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 46px;
  margin-top: 28px;
}

.surface-finishes-item h3 {
  margin: 0 0 14px;
  color: #2a3342;
  font-size: 19px;
  line-height: 1.3;
}

.surface-finishes-item p {
  margin: 0;
  color: #2e3643;
  font-size: 16px;
  line-height: 1.75;
}

.surface-finishes-item ul {
  margin: 22px 0 0;
  padding-left: 32px;
  color: #2e3643;
}

.surface-finishes-item li {
  font-size: 16px;
  line-height: 1.65;
}

.surface-finishes-item li + li {
  margin-top: 12px;
}

.surface-finishes-note {
  margin: 42px 0 0;
  color: #2e3643;
  font-size: 16px;
  line-height: 1.65;
}

@media (max-width: 800px) {
  .surface-finishes-section {
    padding: 42px 16px 26px;
  }

  .surface-finishes-card {
    padding: 26px 22px 30px;
  }

  .surface-finishes-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .surface-finishes-head h2 {
    font-size: 28px;
  }
}

.punching-guidelines-section {
  background: #fff;
  padding: 64px 20px 76px;
}

.punching-guidelines {
  max-width: var(--container);
  margin: 0 auto;
}

.punching-guidelines h2 {
  margin: 0 0 18px;
  font-size: 34px;
  line-height: 1.15;
}

.punching-guidelines-lead {
  margin: 0 0 42px;
  max-width: 1120px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.55;
}

.punching-guidelines-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.9fr);
  gap: 70px;
  align-items: start;
}

.punching-guidelines-copy {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.55;
}

.punching-guidelines-copy ul {
  margin: 0 0 24px;
  padding-left: 26px;
}

.punching-guidelines-copy li + li {
  margin-top: 18px;
}

.punching-guidelines-copy p {
  margin: 0 0 24px;
}

.punching-guidelines-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.punching-guidelines-table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.45;
}

.punching-guidelines-table th,
.punching-guidelines-table td {
  padding: 22px 18px;
  text-align: left;
  border-bottom: 1px solid #b8c3ce;
}

.punching-guidelines-table th {
  font-weight: 700;
}

@media (max-width: 900px) {
  .punching-guidelines-section {
    padding: 48px 16px 58px;
  }

  .punching-guidelines h2 {
    font-size: 30px;
  }

  .punching-guidelines-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* Smart production */
.bg-pl-lt-gray {
  background: var(--pl-hero-bg);
}

.featured-split {
  max-width: var(--container);
  margin: 0 auto;
  padding: 48px 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
}

@media (min-width: 900px) {
  .featured-split {
    grid-template-columns: 1.1fr 1fr;
  }
}

.featured-split img,
.featured-split .media-fill {
  width: 100%;
  border-radius: 4px;
  display: block;
}

.featured-split h2 {
  font-size: 28px;
  margin: 0 0 16px;
}

.featured-split p {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.55;
}

.about-stats-section {
  padding: 44px 0;
}

.about-stats {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 28px;
}

.about-stat {
  min-width: 0;
}

.about-stat-label {
  margin: 0 0 12px;
  color: #5c6f8d;
  font-size: 15px;
  line-height: 1.35;
}

.about-stat-value {
  margin: 0;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #2d9cdb;
  background: linear-gradient(90deg, #2d9cdb 0%, #74c043 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 700px) {
  .about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 48px;
  }
}

@media (min-width: 1100px) {
  .about-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;
  }
}

.china-network-section {
  padding: 28px 0 18px;
  background: #fff;
}

.china-network {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
}

.china-network-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.china-location-list {
  display: grid;
  gap: 16px;
}

.china-location-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid #dfe5ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 12px 28px rgba(36, 48, 70, 0.06);
}

.china-location-index {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #2d9cdb 0%, #74c043 100%);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}

.china-location-item h3 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.1;
  color: #243046;
}

.china-location-item p {
  margin: 0;
  color: #526177;
  font-size: 15px;
  line-height: 1.6;
}

.china-map-panel {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px;
}

.china-map-frame {
  position: relative;
  width: min(100%, 620px);
}

.china-map-image {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 980px) {
  .china-network {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 48px;
  }
}

@media (max-width: 699px) {
  .china-location-item {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }

  .china-location-index {
    width: 50px;
    height: 50px;
    font-size: 17px;
  }

  .china-location-item h3 {
    font-size: 20px;
  }
}

@media (max-width: 699px) {
  .resources-section {
    padding: 0 16px 24px;
  }

  .resources-wrap {
    padding: 12px 32px 28px;
  }

  .resource-card {
    flex-basis: min(300px, 82vw);
  }

  .resource-card img {
    height: 188px;
  }

  .resource-card h3 {
    font-size: 20px;
  }
}

/* Resources carousel */
.resources-section {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px 40px;
}

.resources-section h2 {
  text-align: center;
  font-size: 28px;
  margin: 0 0 8px;
}

.resources-wrap {
  position: relative;
  max-width: 100%;
  padding: 16px 48px 40px;
}

.resources-scroller {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.resource-card {
  flex: 0 0 min(360px, 84vw);
  scroll-snap-align: start;
  border: 1px solid var(--pl-hr);
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

.resource-card a {
  color: inherit;
  display: block;
  text-decoration: none;
}

.resource-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.resource-card .body {
  padding: 18px 18px 22px;
}

.resource-card h3 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.2;
  color: #111;
}

.resource-card .cap {
  font-size: 15px;
  color: var(--pl-muted);
  margin-bottom: 14px;
  line-height: 1.55;
}

.resource-card .cta-line {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: var(--pl-blue);
  font-size: 14px;
}

.additive-story-section {
  padding: 18px 20px 72px;
  background: #fff;
}

.additive-story-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.additive-story-intro {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.additive-story-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--pl-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.additive-story-intro h2 {
  margin: 0 0 16px;
  color: #111;
  font-size: 34px;
  line-height: 1.16;
}

.additive-story-intro p,
.additive-timeline-card p {
  color: var(--pl-muted);
  font-size: 16px;
  line-height: 1.65;
}

.additive-timeline {
  position: relative;
  display: grid;
  gap: 28px;
  max-width: 760px;
  margin: 0 auto;
  padding: 6px 0 0;
}

.additive-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: #e1e7ee;
}

.additive-timeline-item {
  position: relative;
  display: flex;
  justify-content: flex-start;
}

.additive-timeline-item.right {
  justify-content: flex-end;
  margin-top: -260px;
}

.additive-timeline-item::before,
.additive-timeline-item::after {
  content: "";
  position: absolute;
  top: 34px;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: #1fb8e8;
  z-index: 2;
}

.additive-timeline-item::before {
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 6px #fff;
}

.additive-timeline-item::after {
  top: 58px;
  width: 8px;
  height: 8px;
}

.additive-timeline-card {
  width: calc(50% - 46px);
  min-height: 100%;
  padding: 12px 12px 16px;
  border: 1px solid #dde4ec;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17, 29, 48, 0.04);
}

.additive-timeline-card img {
  display: block;
  width: 100%;
  height: 152px;
  margin-bottom: 14px;
  object-fit: cover;
  background: #f3f6f9;
}

.additive-timeline-card h3 {
  margin: 0 0 8px;
  color: #111;
  font-size: 20px;
  line-height: 1.18;
}

.additive-timeline-card p + h3 {
  margin-top: 8px;
}

.additive-timeline-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.resource-video-section {
  padding-bottom: 64px;
}

.resource-video-category {
  margin-top: 56px;
}

.resource-video-category:first-of-type {
  margin-top: 38px;
}

.resource-video-category-head {
  margin: 0 auto 24px;
  max-width: 760px;
  text-align: center;
}

.resource-video-category-head h3 {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.2;
  color: #111;
}

.resource-video-category-head p {
  margin: 0;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.55;
}

.resource-video-count {
  display: inline-flex;
  margin-top: 10px;
  color: #607184;
  font-size: 13px;
  font-weight: 700;
}

.resource-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.resource-video-card {
  background: #fff;
  border: 1px solid #d9e4ee;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  box-shadow: 0 16px 34px rgba(20, 37, 58, 0.08);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.resource-video-card:hover {
  transform: translateY(-2px);
  border-color: #b8d4ec;
  box-shadow: 0 20px 42px rgba(20, 37, 58, 0.12);
}

.resource-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #111;
  overflow: hidden;
}

.resource-video-frame iframe,
.resource-video-frame img,
.resource-video-frame video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  max-width: none;
  max-height: none;
  object-fit: cover;
}

.resource-video-frame video {
  background: #0b1118;
}

.resource-video-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d7dde8;
}

.resource-video-placeholder-inner {
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.resource-video-placeholder-inner .material-symbols-outlined {
  font-size: 44px;
}

.resource-video-placeholder-inner strong {
  font-size: 16px;
  line-height: 1.35;
}

.resource-video-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px 20px 18px;
}

.resource-video-meta {
  min-height: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--pl-muted);
  font-size: 13px;
  font-weight: 700;
}

.resource-video-meta span + span::before {
  content: "|";
  margin-right: 8px;
  color: #bac4d2;
}

.resource-video-card h3,
.resource-video-empty h3 {
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.2;
  color: #111;
}

.resource-video-card h3 a {
  color: inherit;
  text-decoration: none;
}

.resource-video-card h3 a:hover {
  color: var(--pl-blue);
}

.resource-video-card .cap,
.resource-video-empty p {
  margin: 0;
  color: var(--pl-muted);
  line-height: 1.55;
  font-size: 15px;
}

.resource-video-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  color: var(--pl-blue);
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}

.resource-video-link .material-symbols-outlined {
  font-size: 18px;
}

.resource-video-share {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
}

.resource-video-share-btn {
  min-width: 0;
  min-height: 24px;
  padding: 5px 3px;
  border: 1px solid #cfdce6;
  border-radius: 4px;
  background: #f8fbfd;
  color: #1f2d3c;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.resource-video-share-btn:hover {
  border-color: var(--pl-blue);
  color: var(--pl-blue);
  background: #eef7ff;
}

.resource-video-empty {
  grid-column: 1 / -1;
  border: 1px dashed #c9d7e4;
  border-radius: 8px;
  padding: 28px;
  background: #f8fbfd;
}

.resource-video-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}

.resource-video-pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #cfdce6;
  border-radius: 6px;
  background: #fff;
  color: #24435f;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.resource-video-pagination a:hover,
.resource-video-pagination a.active {
  border-color: var(--pl-blue);
  background: var(--pl-blue);
  color: #fff;
}

@media (max-width: 980px) {
  .resource-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .resource-video-grid {
    grid-template-columns: 1fr;
  }
}

/* News carousel */
.news-section {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.news-section h2 {
  text-align: center;
  font-size: 28px;
  margin: 32px 0 8px;
}

.news-carousel-wrap {
  position: relative;
  max-width: 100%;
  padding: 16px 48px 40px;
  box-sizing: border-box;
}

.news-scroller {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.news-card-pl {
  flex: 0 0 min(340px, 85vw);
  scroll-snap-align: start;
  border: 1px solid var(--pl-hr);
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

.news-card-pl a {
  color: inherit;
  display: block;
}

.news-card-pl a:hover {
  text-decoration: none;
}

.news-card-pl img {
  width: 100%;
  height: 180px;
  object-fit: contain;
  display: block;
}

.news-card-pl .body {
  padding: 18px 18px 22px;
}

.news-card-pl h3 {
  margin: 0 0 10px;
  font-size: 17px;
  color: #111;
}

.news-card-pl .caption {
  font-size: 14px;
  color: var(--pl-muted);
  margin-bottom: 14px;
  line-height: 1.45;
}

.news-card-pl .cta-line {
  font-weight: 700;
  color: var(--pl-blue);
  font-size: 14px;
}

.carousel-glyph {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 1px solid var(--pl-hr);
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  color: var(--pl-dark-gray);
}

.carousel-glyph:hover {
  background: var(--pl-hero-bg);
}

/* Language and Currency Selector */
.language-currency-selector {
  display: flex;
  gap: 12px;
  align-items: center;
}

.lang-selector {
  position: relative;
}

.lang-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  font-size: 15px;
  color: #1c2331;
  font-weight: 500;
}

.lang-btn:hover {
  color: var(--pl-blue);
}

.current-lang {
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chev {
  font-size: 16px !important;
}

.lang-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  border: 1px solid var(--pl-border);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 1000;
  min-width: 180px;
  display: none;
  padding: 6px 0;
}

.lang-selector:hover .lang-dropdown,
.lang-selector:focus-within .lang-dropdown {
  display: block;
}

.lang-dropdown a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  color: var(--pl-text);
  font-size: 13px;
  text-decoration: none;
}

.lang-dropdown .language-flag {
  flex: 0 0 22px;
  width: 22px;
  height: 16px;
  font-size: 16px;
}

.lang-dropdown a:hover {
  background: var(--pl-hero-bg);
}

.lang-dropdown a.active {
  background: var(--pl-blue-tint);
  color: var(--pl-blue);
  font-weight: 600;
}

.currency-selector {
  position: relative;
}

.currency-btn {
  padding: 4px 12px;
  border: 1px solid var(--pl-border);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--pl-blue);
}

.currency-btn:hover {
  border-color: var(--pl-blue);
  background: var(--pl-blue-tint);
}

/* Chat Widget */
.chat-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

.chat-toggle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--pl-blue);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  position: relative;
  transition: transform 0.2s, background 0.2s;
}

.chat-toggle:hover {
  transform: scale(1.05);
  background: var(--pl-blue-dark);
}

.chat-toggle .material-symbols-outlined {
  color: #fff;
  font-size: 28px;
}

.chat-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--pl-green);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chat-window {
  position: absolute;
  bottom: 70px;
  right: 0;
  width: 360px;
  height: 500px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.chat-window.hidden {
  display: none;
}

.chat-header {
  background: var(--pl-blue);
  color: #fff;
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat-header-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.chat-header-info .material-symbols-outlined {
  font-size: 28px;
}

.chat-header-info strong {
  display: block;
  font-size: 14px;
}

.chat-status {
  font-size: 11px;
  color: var(--pl-green);
}

.chat-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.chat-close:hover {
  opacity: 1;
}

.chat-close .material-symbols-outlined {
  color: #fff;
  font-size: 22px;
}

.chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chat-message {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.chat-message.bot {
  align-self: flex-start;
}

.chat-message.user {
  align-self: flex-end;
  flex-direction: row-reverse;
}

.chat-message .material-symbols-outlined {
  font-size: 22px;
  color: var(--pl-blue);
  flex-shrink: 0;
}

.chat-message.user .material-symbols-outlined {
  color: var(--pl-green);
}

.message-content {
  background: var(--pl-hero-bg);
  padding: 10px 14px;
  border-radius: 12px;
  max-width: 75%;
  font-size: 14px;
  line-height: 1.4;
}

.chat-message.user .message-content {
  background: var(--pl-blue);
  color: #fff;
}

.message-content ul {
  margin: 8px 0;
  padding-left: 18px;
}

.message-content li {
  margin: 4px 0;
}

.chat-input-area {
  display: flex;
  padding: 12px;
  border-top: 1px solid var(--pl-border);
  gap: 8px;
}

.chat-input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--pl-border);
  border-radius: 20px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}

.chat-input:focus {
  border-color: var(--pl-blue);
}

.chat-send {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--pl-blue);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.chat-send:hover {
  background: var(--pl-blue-dark);
}

.chat-send .material-symbols-outlined {
  color: #fff;
  font-size: 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
  .current-lang {
    max-width: 60px;
  }

  .lang-dropdown {
    min-width: 150px;
    right: -8px;
  }

  .header-utility {
    gap: 10px;
    padding-left: 10px;
  }

  .chat-window {
    width: calc(100vw - 40px);
    height: calc(100vh - 140px);
    max-height: 500px;
    right: -10px;
  }

  .message-content {
    max-width: 85%;
  }
}

@media (max-width: 480px) {
  .language-currency-selector {
    gap: 6px;
  }

  .header-utility {
    gap: 8px;
  }

  .currency-btn {
    padding: 4px 8px;
    font-size: 12px;
  }

  .chat-widget {
    bottom: 12px;
    right: 12px;
  }

  .chat-toggle {
    width: 48px;
    height: 48px;
  }

  .chat-toggle .material-symbols-outlined {
    font-size: 24px;
  }

  .chat-window {
    bottom: 60px;
    width: calc(100vw - 24px);
    right: -6px;
  }
}

.carousel-glyph.prev {
  left: 4px;
}

.carousel-glyph.next {
  right: 4px;
}

/* Manufacture block */
.manufacture-split {
  max-width: var(--container);
  margin: 0 auto;
  padding: 48px 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
}

@media (min-width: 900px) {
  .manufacture-split {
    grid-template-columns: 1fr 1.05fr;
  }
}

.manufacture-split .media-side img {
  width: 100%;
  border-radius: 4px;
}

.manufacture-split h2 {
  text-align: left;
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 16px;
  color: #111;
}

.gradient-blue-green {
  background-image: linear-gradient(to right, var(--gradient-pro-start), var(--gradient-pro-end));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.manufacture-split .pro-tm {
  font-size: 0.45em;
  vertical-align: super;
  color: #111;
  -webkit-text-fill-color: #111;
}

/* How we work */
.section-title-center {
  text-align: center;
  font-size: 28px;
  margin: 36px 0 8px;
}

.home-how-section {
  padding-top: 20px;
}

.home-how-section .section-title-center {
  margin-top: 0;
}

.how-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px 20px 40px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

@media (min-width: 768px) {
  .how-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.how-cell {
  text-align: center;
  padding: 8px;
}

.how-cell img {
  height: 56px;
  width: auto;
  margin-bottom: 10px;
}

.how-cell h4 {
  margin: 0 0 8px;
  font-size: 16px;
}

.how-cell p {
  margin: 0;
  font-size: 14px;
  color: var(--pl-muted);
}

.cta-center {
  text-align: center;
  padding: 20px 20px 48px;
}

/* Design support */
.design-split {
  max-width: var(--container);
  margin: 0 auto;
  padding: 40px 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
}

@media (min-width: 900px) {
  .design-split {
    grid-template-columns: 1.05fr 1fr;
  }
}

.design-split img {
  width: 100%;
  border-radius: 4px;
}

.design-split-media {
  aspect-ratio: 67 / 36;
}

.design-split-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.design-split h2 {
  font-size: 28px;
  margin: 0 0 14px;
}

/* Lifecycle */
.lifecycle-title {
  text-align: center;
  font-size: 28px;
  margin: 28px 0 8px;
}

.lifecycle-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: 20px 20px 12px;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .lifecycle-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.lifecycle-card {
  background: var(--pl-life);
  padding: 24px;
  min-height: 100%;
}

.lifecycle-card img {
  height: 48px;
  width: auto;
  margin-bottom: 10px;
}

.lifecycle-card h4 {
  margin: 0 0 8px;
  font-size: 16px;
}

.lifecycle-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.about-purpose-section {
  padding: 40px 20px 56px;
}

.about-purpose {
  max-width: 1060px;
  margin: 0 auto;
  text-align: center;
}

.about-purpose-block + .about-purpose-block {
  margin-top: 52px;
}

.about-purpose-label {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.4;
  color: var(--pl-muted);
}

.about-purpose-text {
  margin: 0;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 700;
  color: #1f2937;
}

@media (max-width: 767px) {
  .about-purpose-section {
    padding: 32px 20px 44px;
  }

  .about-purpose-block + .about-purpose-block {
    margin-top: 36px;
  }

  .about-purpose-label {
    margin-bottom: 14px;
    font-size: 15px;
  }

  .about-purpose-text {
    font-size: 22px;
    line-height: 1.35;
  }
}

.history-spotlight {
  padding: 96px 20px 92px;
  background:
    linear-gradient(90deg, rgba(31, 157, 208, 0.94), rgba(84, 192, 222, 0.9)),
    url("/static/images/hero/30.png") center/cover no-repeat;
  color: #fff;
}

.history-spotlight-inner {
  display: grid;
  grid-template-columns: minmax(280px, 460px) minmax(0, 1fr);
  gap: 46px;
  align-items: center;
  max-width: 1040px;
  margin: 0 auto;
}

.history-video-card {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 16px 34px rgba(15, 42, 62, 0.22);
  background: #0c1a26;
}

.history-video-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  opacity: 0.72;
}

.history-video-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px;
  text-align: center;
}

.history-video-overlay .material-symbols-outlined {
  font-size: 48px;
}

.history-video-overlay strong {
  font-size: 24px;
  line-height: 1.2;
}

.history-video-overlay small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
}

.history-spotlight-copy span {
  display: block;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 800;
}

.history-spotlight-copy h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 34px;
  line-height: 1.18;
}

.history-spotlight-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 1.7;
}

.brand-history-section {
  padding: 74px 20px 96px;
  background: #fff;
}

.brand-history-inner {
  max-width: 980px;
  margin: 0 auto;
}

.brand-history-heading {
  margin-bottom: 46px;
  text-align: center;
}

.brand-history-heading h2 {
  margin: 0;
  color: #101820;
  font-size: 30px;
  line-height: 1.2;
}

.brand-history-heading span {
  display: block;
  width: 48px;
  height: 3px;
  margin: 16px auto 0;
  background: var(--pl-blue);
}

.brand-timeline {
  position: relative;
  display: grid;
  gap: 38px;
}

.brand-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  transform: translateX(-50%);
  background: #1596d2;
}

.brand-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.brand-timeline-marker {
  z-index: 2;
  width: 28px;
  height: 28px;
  justify-self: center;
  border-radius: 999px;
  background: #111;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease;
}

.brand-timeline-marker .material-symbols-outlined {
  font-size: 17px;
}

.brand-timeline-item.is-active .brand-timeline-marker {
  background: #1596d2;
}

.brand-timeline-card {
  min-height: 106px;
  padding: 22px 24px;
  background: #f4f4f4;
}

.brand-timeline-card h3 {
  margin: 0 0 9px;
  color: #101820;
  font-size: 18px;
  line-height: 1.25;
}

.brand-timeline-card p {
  margin: 0;
  color: #3c4656;
  font-size: 14px;
  line-height: 1.65;
}

.brand-timeline-year {
  position: relative;
  z-index: 3;
  color: #0f2d48;
  font-size: 17px;
  font-weight: 800;
  white-space: nowrap;
}

.brand-timeline-item.left .brand-timeline-card {
  grid-column: 1;
}

.brand-timeline-item.left .brand-timeline-marker,
.brand-timeline-item.right .brand-timeline-marker {
  grid-column: 2;
  justify-self: center;
}

.brand-timeline-item.left .brand-timeline-year {
  grid-column: 3;
  justify-self: start;
}

.brand-timeline-item.right .brand-timeline-year {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
}

.brand-timeline-item.right .brand-timeline-card {
  grid-column: 3;
}

.culture-hero {
  padding: 96px 20px 104px;
  background:
    linear-gradient(90deg, rgba(13, 80, 132, 0.88), rgba(33, 163, 214, 0.86)),
    url("/static/images/hero/24.jpg") center/cover no-repeat;
  color: #fff;
}

.culture-hero-inner {
  max-width: 980px;
  margin: 0 auto;
}

.culture-hero span,
.culture-principle span,
.culture-values-heading span {
  display: block;
  margin-bottom: 14px;
  color: #75d5ff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.culture-hero h1 {
  margin: 0 0 16px;
  max-width: 760px;
  color: #fff;
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1.2;
}

.culture-hero p {
  margin: 0;
  max-width: 560px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.55;
}

.culture-principles-section,
.culture-values-section {
  padding: 78px 20px;
  background: #fff;
}

.culture-values-section {
  background: #f5f8fb;
}

.culture-principles-inner,
.culture-values-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.culture-principles-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.culture-principle {
  padding: 30px;
  border: 1px solid #dde7f0;
  background: #fff;
}

.culture-principle-feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  gap: 36px;
  align-items: end;
  background: #10253d;
  color: #fff;
}

.culture-principle h2,
.culture-values-heading h2 {
  margin: 0;
  color: #101820;
  font-size: clamp(19px, 1.75vw, 26px);
  line-height: 1.12;
}

.culture-principle-feature h2 {
  color: #fff;
}

.culture-principle p {
  margin: 16px 0 0;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.6;
}

.culture-principle-feature p {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
}

.culture-values-heading {
  margin-bottom: 32px;
  text-align: center;
}

.culture-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.culture-value-card {
  padding: 28px 24px;
  background: #fff;
  border: 1px solid #dde7f0;
}

.culture-value-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  background: #e7f4ff;
  color: var(--pl-blue);
}

.culture-value-icon .material-symbols-outlined {
  font-size: 28px;
}

.culture-value-card h3 {
  margin: 0 0 12px;
  color: #101820;
  font-size: 22px;
  line-height: 1.2;
}

.culture-value-card p {
  margin: 0;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 991px) {
  .history-spotlight {
    padding: 64px 20px;
  }

  .history-spotlight-inner {
    grid-template-columns: 1fr;
  }

  .brand-timeline {
    gap: 28px;
    padding-left: 28px;
  }

  .brand-timeline::before {
    left: 0;
  }

  .brand-timeline-item,
  .brand-timeline-item.left,
  .brand-timeline-item.right {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .brand-timeline-marker {
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-50%);
  }

  .brand-timeline-item.left .brand-timeline-card,
  .brand-timeline-item.right .brand-timeline-card,
  .brand-timeline-item.left .brand-timeline-marker,
  .brand-timeline-item.right .brand-timeline-marker,
  .brand-timeline-item.left .brand-timeline-year,
  .brand-timeline-item.right .brand-timeline-year {
    grid-column: 1;
    justify-self: start;
  }

  .brand-timeline-year {
    order: -1;
    padding-left: 18px;
  }

  .culture-principles-inner,
  .culture-principle-feature,
  .culture-values-grid {
    grid-template-columns: 1fr;
  }

  .culture-hero h1 {
    font-size: 32px;
  }

  .culture-hero p {
    font-size: 16px;
  }

  .culture-principle h2,
  .culture-values-heading h2 {
    font-size: clamp(20px, 5.8vw, 24px);
  }
}

.materials-tech-section {
  padding: 28px 20px 42px;
}

.materials-tech-section .section-title-center {
  margin-top: 0;
  margin-bottom: 8px;
}

.materials-tech-section .hr-section {
  margin: 18px auto 42px;
}

.materials-tech-grid {
  width: min(1594px, 100%);
  max-width: none;
  padding: 0;
  gap: 28px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.materials-tech-grid .lifecycle-card {
  min-height: 202px;
  padding: 36px 34px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.materials-tech-grid .lifecycle-card h4 {
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.2;
}

.materials-tech-grid .lifecycle-card p {
  max-width: 280px;
  font-size: 16px;
  line-height: 1.45;
}

.materials-process-img {
  display: block;
  width: calc(100% + 10px);
  flex: 1 1 auto;
  min-height: 124px;
  margin: 0 -5px 10px;
  object-fit: cover;
  background: #dde6ef;
}

.custom-finishing-section {
  padding: 26px 20px 36px;
  background: #fff;
}

.custom-finishing-inner {
  width: min(1168px, 100%);
  margin: 0 auto;
}

.custom-finishing-inner h2 {
  margin: 0 0 11px;
  color: #1f2836;
  font-size: 26px;
  line-height: 1.15;
}

.custom-finishing-lead {
  margin: 0 0 21px;
  color: #273242;
  font-size: 13px;
  line-height: 1.55;
}

.custom-finishing-table-wrap {
  overflow-x: auto;
}

.custom-finishing-table {
  width: 100%;
  min-width: 688px;
  border-collapse: collapse;
  color: #222c3a;
}

.custom-finishing-table th,
.custom-finishing-table td {
  padding: 14px 13px;
  border: 2px solid #fff;
  background: #eef2f6;
  text-align: left;
  vertical-align: top;
  font-size: 13px;
  line-height: 1.48;
}

.custom-finishing-table th[scope="row"] {
  width: 200px;
  font-weight: 700;
}

.custom-finishing-table .custom-finishing-group-row th {
  padding: 12px 13px;
  background: #2f343e;
  color: #fff;
  font-weight: 800;
}

.custom-finishing-table a {
  color: var(--pl-blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.custom-finishing-table p {
  margin: 0 0 11px;
}

.custom-finishing-table ul {
  margin: 0;
  padding-left: 19px;
}

.custom-finishing-table li + li {
  margin-top: 6px;
}

.materials-catalog-section {
  padding: 22px 20px 28px;
  background: #fff;
}

.materials-catalog-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.materials-catalog-title {
  margin: 0 0 12px;
  color: #111b2d;
  font-size: clamp(34px, 3vw, 54px);
  line-height: 1.06;
  letter-spacing: -0.03em;
}

.materials-catalog-layout {
  display: grid;
  grid-template-columns: 284px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.materials-catalog-filters,
.materials-catalog-results {
  border: 1px solid #dfe6ee;
  border-radius: 0;
  background: #fff;
}

.materials-catalog-filters {
  position: sticky;
  top: 18px;
  padding: 12px;
}

.materials-catalog-search {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid #d8e0e8;
  border-radius: 8px;
  color: #657487;
  font-size: 14px;
}

.materials-catalog-search-field {
  width: 100%;
}

.materials-catalog-search-field input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #283244;
  font: inherit;
}

.materials-catalog-search-field input::placeholder {
  color: #7e8a9d;
}

.materials-catalog-search .material-symbols-outlined {
  font-size: 22px;
}

.materials-catalog-note {
  max-width: 920px;
  margin: 0 0 18px;
  color: #5c6a7f;
  font-size: 13px;
  line-height: 1.55;
}

.materials-catalog-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
  color: #6f7d92;
  font-size: 12px;
}

.materials-catalog-breadcrumbs a {
  color: #0078d2;
  text-decoration: none;
}

.materials-catalog-filter-block {
  margin-top: 0;
  padding: 14px 0 4px;
  border-bottom: 0;
}

.materials-catalog-filter-block h3 {
  margin: 0 0 18px;
  color: #283244;
  font-size: 18px;
  line-height: 1.25;
}

.materials-catalog-filter-block label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  color: #283244;
  font-size: 14px;
}

.materials-catalog-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  border-bottom: 1px solid #e5ebf2;
  color: #283244;
  font-size: 15px;
  font-weight: 700;
}

.materials-catalog-filter-row .material-symbols-outlined {
  color: #0078d2;
  font-size: 22px;
}

.materials-catalog-reset {
  width: 100%;
  justify-content: center;
  margin-top: 12px;
  min-height: 44px;
  font-size: 13px;
}

.materials-catalog-results {
  overflow: hidden;
}

.materials-catalog-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  padding: 12px 18px;
  border-bottom: 1px solid #e5ebf2;
}

.materials-catalog-units {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #39475b;
  font-size: 14px;
}

.materials-unit {
  min-width: 48px;
  min-height: 32px;
  border: 1px solid #d6dee8;
  border-radius: 2px;
  background: #fff;
  color: #39475b;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.materials-unit.active {
  background: #5d6980;
  border-color: #5d6980;
  color: #fff;
}

.materials-expand-all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  color: #283244;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.materials-material-card {
  border-bottom: 1px solid #e5ebf2;
}

.materials-material-card:last-child {
  border-bottom: 0;
}

.materials-material-card summary {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 128px;
  gap: 18px;
  align-items: center;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

.materials-material-card summary::-webkit-details-marker {
  display: none;
}

.materials-material-card summary img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border: 1px solid #dbe3ed;
  border-radius: 2px;
  background: linear-gradient(180deg, #4d5461 0%, #252b35 100%);
}

.materials-material-copy h3 {
  margin: 0 0 10px;
  color: #111b2d;
  font-size: 18px;
  line-height: 1.2;
}

.materials-material-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.materials-attribute-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #5b6880;
  font-size: 11px;
  font-weight: 600;
}

.materials-material-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.materials-material-meta span,
.materials-material-detail-grid span {
  display: block;
  margin-bottom: 4px;
  color: #6b788b;
  font-size: 13px;
}

.materials-material-meta strong,
.materials-material-detail-grid strong {
  color: #182338;
  font-size: 14px;
  font-weight: 600;
}

.materials-material-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.materials-material-actions a,
.materials-more-link {
  color: #0078d2;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.materials-more-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.materials-material-details {
  padding: 0 14px 14px 120px;
}

.materials-material-details p {
  margin: 0 0 14px;
  color: #39475b;
  font-size: 13px;
  line-height: 1.6;
  max-width: 720px;
}

.materials-material-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.materials-material-card[open] .materials-more-link .material-symbols-outlined {
  transform: rotate(180deg);
}

.materials-catalog-empty {
  padding: 36px 24px;
  color: #5c6a7f;
  font-size: 15px;
  text-align: center;
}

.sheet-metal-filter-block {
  max-height: 420px;
  overflow: auto;
}

.sheet-metal-filter-block input {
  accent-color: #0078d2;
}

.materials-quote-section {
  padding: 54px 20px 64px;
  background: #1f3d6d;
}

.materials-quote-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.materials-quote-head {
  max-width: 760px;
  margin: 0 auto 26px;
  text-align: center;
  color: #fff;
}

.materials-quote-head h2 {
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.12;
  letter-spacing: 0.02em;
}

.materials-quote-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  line-height: 1.55;
}

.materials-quote-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  overflow: hidden;
  max-width: 940px;
  margin: 0 auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 44px rgba(15, 36, 68, 0.18);
}

.materials-quote-contact,
.materials-quote-action {
  padding: 24px;
}

.materials-quote-contact {
  background: #f7fafd;
  border-right: 1px solid #e4ebf3;
}

.materials-quote-contact-item {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid #e5ebf3;
  border-radius: 8px;
  background: #fff;
}

.materials-quote-contact-item + .materials-quote-contact-item {
  margin-top: 14px;
}

.materials-quote-contact-item .material-symbols-outlined {
  color: #12385f;
  font-size: 28px;
}

.materials-quote-contact-item h3,
.materials-quote-action h3 {
  margin: 0 0 6px;
  color: #182338;
  font-size: 17px;
  line-height: 1.2;
}

.materials-quote-contact-item p,
.materials-quote-action p {
  margin: 0;
  color: #53647b;
  font-size: 14px;
  line-height: 1.55;
}

.materials-quote-contact-item a {
  color: #53647b;
}

.materials-quote-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.materials-quote-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.materials-quote-buttons .btn {
  min-width: 170px;
}

.comparison-guide-page {
  padding: 20px 20px 64px;
  background: #fff;
}

.comparison-guide-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.comparison-guide-breadcrumbs {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 18px;
  color: #66758b;
  font-size: 12px;
}

.comparison-guide-breadcrumbs a {
  color: #0078d2;
  text-decoration: none;
}

.comparison-guide-header h1 {
  margin: 0 0 30px;
  color: #2a2f38;
  font-size: 44px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.comparison-guide-header h2 {
  margin: 0 0 18px;
  color: #1f2733;
  font-size: 18px;
  line-height: 1.35;
}

.comparison-guide-header > p {
  margin: 0 0 26px;
  color: #283244;
  font-size: 16px;
  line-height: 1.55;
}

.comparison-guide-links {
  margin-bottom: 34px;
}

.comparison-guide-links > span {
  display: block;
  margin-bottom: 14px;
  color: #1f2733;
  font-size: 16px;
  font-weight: 700;
}

.comparison-guide-links ul {
  margin: 0;
  padding-left: 28px;
}

.comparison-guide-links li + li {
  margin-top: 12px;
}

.comparison-guide-links a {
  color: #0078d2;
  font-size: 16px;
  text-decoration: underline;
}

.comparison-guide-categories h3,
.comparison-guide-filters h3,
.comparison-guide-results-head h3 {
  margin: 0 0 18px;
  color: #1f2733;
  font-size: 20px;
  line-height: 1.35;
}

.comparison-guide-category-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 36px;
}

.comparison-guide-category {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: flex-start;
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1f2733;
  font-size: 16px;
  text-align: left;
}

.comparison-guide-category:disabled {
  opacity: 1;
}

.comparison-guide-category-box {
  width: 28px;
  height: 28px;
  border: 1px solid #b9c4d3;
  background: #fff;
  flex: 0 0 auto;
}

.comparison-guide-category.active .comparison-guide-category-box {
  position: relative;
  background: #6c7b90;
  border-color: #6c7b90;
}

.comparison-guide-category.active .comparison-guide-category-box::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 4px;
  width: 8px;
  height: 14px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(40deg);
}

.comparison-guide-filter-panel {
  border: 1px solid #d8e0ea;
  margin: 0 0 16px;
  background: #fff;
}

.comparison-guide-filter-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  min-height: 62px;
  padding: 0 18px;
  cursor: pointer;
  color: #1f2733;
  font-size: 18px;
  font-weight: 700;
}

.comparison-guide-filter-panel summary::-webkit-details-marker {
  display: none;
}

.comparison-guide-filter-panel summary .material-symbols-outlined {
  color: #6f7f97;
  font-size: 38px;
}

.comparison-guide-filter-panel[open] summary .material-symbols-outlined {
  transform: rotate(45deg);
}

.comparison-guide-filter-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0 18px 18px;
}

.comparison-guide-filter-options label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #283244;
  font-size: 15px;
}

.comparison-guide-filter-options small {
  color: #738299;
  font-size: 12px;
  line-height: 1.45;
}

.comparison-guide-filter-options-tags {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.comparison-guide-results {
  padding-top: 10px;
}

.comparison-guide-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.comparison-guide-results-head h3 span {
  color: #6b7a91;
  font-size: 0.72em;
}

.comparison-guide-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 248px;
  padding: 0 12px 0 16px;
  border: 1px solid #cdd7e3;
  min-height: 40px;
}

.comparison-guide-search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: #243043;
  font-size: 16px;
  background: transparent;
}

.comparison-guide-search .material-symbols-outlined {
  color: #49586f;
  font-size: 26px;
}

.comparison-guide-table-wrap {
  overflow-x: auto;
}

.comparison-guide-table {
  width: 100%;
  border-collapse: collapse;
}

.comparison-guide-table th,
.comparison-guide-table td {
  padding: 16px 14px;
  border-bottom: 1px solid #dfe6ef;
  color: #243043;
  text-align: left;
}

.comparison-guide-table th {
  background: #1c2432;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.comparison-guide-table td {
  font-size: 15px;
  line-height: 1.45;
}

.comparison-guide-table a {
  color: #0078d2;
  text-decoration: none;
  font-weight: 600;
}

.comparison-guide-empty {
  padding: 24px 0 0;
  color: #6a7990;
  font-size: 15px;
}

.ral-page {
  padding: 22px 20px 64px;
  background: #fff;
}

.ral-page-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.ral-page-heading {
  margin-bottom: 30px;
}

.ral-page-eyebrow {
  margin: 0 0 10px;
  color: #44536a;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.ral-page-heading h1 {
  margin: 0 0 16px;
  color: #1d2430;
  font-size: clamp(26px, 3.6vw, 38px);
  line-height: 1.2;
}

.ral-page-lead,
.ral-page-description,
.ral-page-note {
  max-width: 1040px;
  color: #283244;
  line-height: 1.6;
}

.ral-page-lead {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
}

.ral-page-description {
  margin: 0 0 18px;
  font-size: 16px;
}

.ral-page-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.ral-page-badge {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: #f3f7fc;
  color: #315277;
  font-size: 14px;
  font-weight: 700;
}

.ral-page-note {
  margin: 0;
  font-size: 15px;
}

.ral-swatch-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.ral-swatch-card {
  overflow: hidden;
  border: 1px solid #dfe6ef;
  background: #fff;
}

.ral-swatch-chip {
  height: 134px;
}

.ral-swatch-meta {
  display: grid;
  gap: 4px;
  padding: 10px 12px 12px;
}

.ral-swatch-meta strong {
  color: #243043;
  font-size: 22px;
  line-height: 1;
}

.ral-swatch-meta span {
  color: #243043;
  font-size: 15px;
  line-height: 1.35;
}

.ral-swatch-meta small {
  color: #728097;
  font-size: 12px;
}

.machine-page .hero2-title,
.machine-page .equipment-header-panel h1 {
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
}

.machine-page .hero2-lead,
.machine-page .equipment-header-panel p,
.machine-page .equipment-support-head p,
.machine-page .featured2-content p,
.machine-page .industries-intro,
.machine-page .svc-panel-inner p {
  font-size: 18px;
  line-height: 1.55;
}

.machine-page .section-title-center,
.machine-page .services-section h2,
.machine-page .featured2-content h2,
.machine-page .equipment-support-head h2 {
  font-size: clamp(19px, 1.75vw, 26px);
  font-weight: 700;
  line-height: 1.12;
}

.machine-page .industry-card h4,
.machine-page .lifecycle-card h4,
.machine-page .equipment-reference-body h3,
.machine-page .equipment-support-body h3,
.machine-page .svc-panel-inner h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.machine-page .industry-card {
  display: flex;
  flex-direction: column;
}

.machine-page .industry-grid {
  max-width: 1092px;
  margin: 0 auto;
  justify-content: center;
  gap: 20px;
}

.machine-page .industry-card img {
  width: 100%;
  height: 260px;
  padding: 22px 22px 0;
  object-fit: contain;
  background: #eef3f8;
}

.machine-page .industry-card .pad {
  padding: 16px 26px 18px;
}

.machine-page .industry-card h4 {
  text-align: center;
  margin: 0 0 10px;
  line-height: 1.25;
}

.machine-page .industry-card .btn-tertiary {
  display: block;
  width: fit-content;
  margin: 0 auto;
  line-height: 1.2;
}

.machine-dev-section {
  padding: 10px 20px 56px;
}

.machine-dev-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.machine-dev-card {
  max-width: 760px;
  margin: 0 auto;
  padding: 36px 32px;
  border: 1px solid #d9e5f0;
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
  text-align: center;
}

.machine-dev-card p {
  margin: 0;
  color: #1f2f45;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.machine-poster {
  max-width: 1180px;
  margin: 0 auto;
  padding: 36px 20px;
}

.machine-poster img {
  display: block;
  width: 100%;
  height: 50%;
  object-fit: contain;
}

.machine-page .industry-card p,
.machine-page .lifecycle-card p,
.machine-page .equipment-reference-body p,
.machine-page .equipment-support-body p {
  font-size: 14px;
  line-height: 1.5;
}

.machine-page strong {
  font-size: inherit;
  font-weight: 700;
}

.machine-application-showcase {
  padding: 18px 20px 0;
  background: #f5f8fc;
}

.machine-application-showcase-2 {
  background: #eef4fb;
}

.machine-application-showcase-3 {
  background: #f8fbff;
}

.machine-application-shell {
  max-width: 1360px;
  margin: 0 auto;
  padding: 28px 48px 34px;
  background: #fff;
}

.machine-application-showcase-2 .machine-application-shell {
  background: #f9fcff;
}

.machine-application-showcase-3 .machine-application-shell {
  background: #f4f8fd;
}

.machine-application-intro {
  max-width: 1180px;
  margin: 0 auto 30px;
  text-align: center;
}

.machine-page .machine-application-title {
  margin: 0 0 24px;
  color: #2f3134;
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
}

.machine-page .machine-application-intro p {
  margin: 0 auto 16px;
  max-width: 1120px;
  color: #5b6674;
  font-size: 16px;
  line-height: 1.65;
  text-align: center;
}

.machine-page .machine-application-intro p:last-child {
  margin-bottom: 0;
}

.machine-application-feature {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(320px, 1fr);
  align-items: start;
  gap: 28px;
}

.machine-application-showcase + .machine-application-showcase {
  padding-top: 0;
  border-top: 1px solid #d9e3ee;
}

.machine-application-media {
  display: flex;
  justify-content: center;
}

.machine-application-media img {
  display: block;
  width: 78%;
  max-width: 520px;
  height: auto;
  object-fit: contain;
}

.machine-application-copy {
  max-width: 560px;
  padding-top: 10px;
}

.machine-page .machine-application-copy h2 {
  margin: 0 0 18px;
  color: #2f3134;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.machine-page .machine-application-copy p {
  margin: 0;
  color: #364252;
  font-size: 16px;
  line-height: 1.65;
}

.machine-application-ctas {
  margin-top: 20px;
}

.machine-application-ctas .btn {
  min-width: 172px;
  justify-content: center;
  padding-inline: 28px;
}

@media (max-width: 960px) {
  .machine-application-shell {
    padding: 24px 20px 28px;
  }

  .machine-application-intro {
    margin-bottom: 24px;
  }

  .machine-application-feature {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .machine-application-copy {
    max-width: none;
    padding-top: 0;
  }

  .machine-application-media img {
    width: 72%;
  }
}

@media (max-width: 640px) {
  .machine-application-showcase {
    padding-inline: 12px;
  }

  .machine-application-shell {
    padding: 22px 14px 24px;
  }

  .machine-page .machine-application-title {
    margin-bottom: 18px;
  }

  .machine-page .machine-application-intro p,
  .machine-page .machine-application-copy p {
    font-size: 15px;
    line-height: 1.6;
  }

  .machine-application-media img {
    width: 100%;
  }

  .machine-application-ctas .btn {
    width: 100%;
  }
}

.scene-display-page {
  padding: 22px 20px 64px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 28%);
}

.scene-display-inner {
  max-width: 1460px;
  margin: 0 auto;
}

.scene-display-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
  color: #6d7d93;
  font-size: 12px;
}

.scene-display-breadcrumbs a {
  color: #0078d2;
  text-decoration: none;
}

.scene-display-header h1 {
  margin: 0 0 14px;
  color: #1c2432;
  font-size: clamp(26px, 3.6vw, 38px);
  line-height: 1.2;
}

.scene-display-header p {
  max-width: 980px;
  color: #324255;
  font-size: 16px;
  line-height: 1.6;
}

.scene-display-lead {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
}

.scene-display-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0 30px;
}

.scene-display-tab {
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #d8e4f2;
  background: #eef4fb;
  color: #264466;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.scene-display-tab:hover {
  background: #dfeeff;
  border-color: #bfd4eb;
  transform: translateY(-1px);
}

.scene-display-tab.active {
  background: #0b77d5;
  border-color: #0b77d5;
  color: #fff;
}

.scene-display-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.scene-display-card {
  overflow: hidden;
  border: 1px solid #deebf7;
  background: #fff;
  box-shadow: 0 16px 34px rgba(9, 51, 89, 0.08);
}

.scene-display-card-image {
  background: linear-gradient(180deg, #f5f8fc 0%, #eef3f9 100%);
  aspect-ratio: 1 / 1;
}

.scene-display-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scene-display-card-body {
  padding: 18px 18px 20px;
}

.scene-display-card-body h3 {
  margin: 0 0 10px;
  color: #1f2b3c;
  font-size: 20px;
  line-height: 1.25;
}

.scene-display-card-body p {
  margin: 0;
  color: #4a5b70;
  font-size: 14px;
  line-height: 1.6;
}

.scene-display-cta {
  margin-top: 36px;
  padding: 28px 32px;
  border: 1px solid #d8e4f2;
  background: linear-gradient(135deg, #0f325d 0%, #1d5da4 100%);
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
}

.scene-display-cta h2 {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.15;
}

.scene-display-cta p {
  margin: 0;
  max-width: 760px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 15px;
  line-height: 1.55;
}

.simple-quote-section {
  padding: 42px 20px 48px;
  background: #1f3d6d;
}

.simple-quote-inner {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.simple-quote-copy {
  color: #fff;
}

.simple-quote-copy h2 {
  margin: 0 0 10px;
  font-size: 30px;
  line-height: 1.15;
}

.simple-quote-copy p {
  margin: 0;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
  line-height: 1.55;
}

.simple-quote-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.simple-quote-actions .btn {
  min-width: 174px;
}

.simple-quote-primary {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.simple-quote-primary .material-symbols-outlined {
  font-size: 20px;
}

.simple-quote-secondary {
  border-color: rgba(255, 255, 255, 0.78) !important;
  background: transparent !important;
  color: #fff !important;
}

.simple-quote-secondary:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

@media (max-width: 991px) {
  .additive-story-intro h2 {
    font-size: 28px;
  }

  .additive-timeline {
    max-width: 720px;
  }

  .additive-timeline-card {
    width: calc(50% - 34px);
  }

  .additive-timeline-card h3 {
    font-size: 18px;
  }

  .materials-tech-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .materials-quote-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-quote-contact {
    border-right: 0;
    border-bottom: 1px solid #e4ebf3;
  }

  .materials-catalog-layout {
    grid-template-columns: 1fr;
  }

  .materials-material-card summary {
    grid-template-columns: 1fr;
  }

  .materials-material-actions {
    align-items: flex-start;
  }

  .materials-material-meta,
  .materials-material-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .materials-material-details {
    padding: 0 24px 24px;
  }
}

@media (max-width: 575px) {
  .materials-tech-section {
    padding: 24px 16px 34px;
  }

  .materials-tech-section .hr-section {
    margin-bottom: 28px;
  }

  .materials-tech-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-tech-grid .lifecycle-card {
    min-height: 0;
    padding: 26px 24px;
  }

  .materials-process-img {
    height: 150px;
    flex: none;
  }

  .custom-finishing-section {
    padding: 24px 16px 32px;
  }

  .custom-finishing-inner h2 {
    font-size: 24px;
  }

  .custom-finishing-lead,
  .custom-finishing-table th,
  .custom-finishing-table td {
    font-size: 13px;
  }

  .materials-catalog-section {
    padding: 8px 16px 20px;
  }

  .materials-catalog-filters {
    padding: 18px 16px 22px;
  }

  .materials-catalog-toolbar,
  .materials-material-card summary,
  .materials-material-details {
    padding-left: 16px;
    padding-right: 16px;
  }

  .materials-catalog-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .materials-material-copy h3 {
    font-size: 20px;
  }

  .materials-material-meta,
  .materials-material-detail-grid {
    grid-template-columns: 1fr;
  }

  .materials-quote-section {
    padding: 42px 16px 48px;
  }

  .materials-quote-head h2 {
    font-size: 25px;
  }

  .materials-quote-head p {
    font-size: 14px;
  }

  .materials-quote-contact,
  .materials-quote-action {
    padding: 18px;
  }

  .materials-quote-buttons .btn {
    width: 100%;
  }

  .comparison-guide-page {
    padding: 12px 16px 40px;
  }

  .comparison-guide-breadcrumbs {
    margin-bottom: 14px;
  }

  .comparison-guide-header h1 {
    font-size: 30px;
    margin-bottom: 20px;
  }

  .comparison-guide-header h2,
  .comparison-guide-categories h3,
  .comparison-guide-filters h3,
  .comparison-guide-results-head h3 {
    font-size: 17px;
  }

  .comparison-guide-header > p,
  .comparison-guide-links a {
    font-size: 14px;
  }

  .comparison-guide-category-row,
  .comparison-guide-filter-options,
  .comparison-guide-filter-options-tags {
    grid-template-columns: 1fr;
  }

  .comparison-guide-results-head {
    align-items: stretch;
    flex-direction: column;
  }

  .comparison-guide-search {
    min-width: 0;
  }

  .comparison-guide-table {
    min-width: 760px;
  }

  .ral-page-heading h1 {
    font-size: 32px;
  }

  .ral-page-lead {
    font-size: 16px;
  }

  .ral-swatch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scene-display-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scene-display-cta {
    grid-template-columns: 1fr;
  }

  .additive-story-section {
    padding: 10px 16px 48px;
  }

  .additive-story-intro {
    margin-bottom: 26px;
    text-align: left;
  }

  .additive-timeline {
    gap: 24px;
    padding-left: 22px;
  }

  .additive-timeline::before {
    left: 0;
  }

  .additive-timeline-item,
  .additive-timeline-item.right {
    justify-content: flex-start;
    margin-top: 0;
  }

  .additive-timeline-item::before,
  .additive-timeline-item::after {
    left: 0;
  }

  .additive-timeline-card {
    width: 100%;
  }

  .additive-timeline-card img {
    height: 190px;
  }

  .simple-quote-section {
    padding: 38px 16px 44px;
  }

  .simple-quote-inner {
    grid-template-columns: 1fr;
  }

  .simple-quote-copy h2 {
    font-size: 26px;
  }

  .simple-quote-actions {
    justify-content: flex-start;
  }

  .simple-quote-actions .btn {
    width: 100%;
  }
}

.lifecycle-cta {
  text-align: center;
  padding: 16px 20px 40px;
}

/* Industries */
.industries-intro {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 8px;
  padding: 0 20px;
  font-size: 16px;
}

.industry-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px 20px 48px;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .industry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .industry-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.industry-card {
  background: var(--pl-hero-bg);
}

.industry-card img {
  width: 100%;
  height: 160px;
  object-fit: contain;
  display: block;
}

.industry-card .pad {
  padding: 24px 24px 8px;
}

.industry-card h4 {
  margin: 0 0 8px;
}

.industry-card p {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--pl-muted);
}

.equipment-showcase-eyebrow,
.equipment-showcase-kicker {
  margin: 0 0 10px;
  color: #0d6fc5;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.equipment-showcase-section {
  padding: 14px 20px 34px;
}

.equipment-showcase-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.equipment-showcase-heading {
  max-width: 860px;
  margin-bottom: 22px;
}

.equipment-showcase-heading h2 {
  margin: 0 0 10px;
  color: #111b2d;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.08;
}

.equipment-showcase-heading p {
  margin: 0;
  color: #4f5c70;
  font-size: 16px;
  line-height: 1.65;
}

.equipment-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 900px) {
  .equipment-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .equipment-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.equipment-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #fff;
  border: 1px solid #e3eaf2;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(17, 27, 45, 0.06);
}

.equipment-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  padding: 18px;
  background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
}

.equipment-card-media img {
  width: 100%;
  max-width: 260px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.equipment-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
}

.equipment-card-body h3 {
  margin: 0;
  color: #111b2d;
  font-size: 22px;
  line-height: 1.2;
}

.equipment-card-body p {
  margin: 0;
  color: #4f5c70;
  line-height: 1.6;
}

.equipment-card-meta {
  margin: 0;
  padding-left: 18px;
  color: #2f3d52;
  line-height: 1.7;
}

.equipment-card .btn {
  margin-top: auto;
  align-self: flex-start;
}

.equipment-showcase-section-reference {
  padding-top: 28px;
  background: #fff;
}

.equipment-header-panel {
  max-width: 1180px;
  margin: 0 auto 26px;
  padding: 8px 0 6px;
  border-bottom: 1px solid #e5ebf1;
}

.equipment-header-panel h1 {
  margin: 0 0 14px;
  color: #111b2d;
  font-size: clamp(30px, 3.2vw, 56px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.equipment-header-panel p {
  margin: 0;
  max-width: none;
  width: 100%;
  color: #4f5c70;
  font-size: 16px;
  line-height: 1.65;
}

.equipment-reference-head {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 34px;
  align-items: end;
  margin-bottom: 24px;
}

.equipment-reference-titlebox {
  padding: 24px 24px 18px;
  border: 4px solid #ff5a57;
  background: #fff;
}

.equipment-reference-titlebox h1 {
  margin: 0;
  color: #111b2d;
  font-size: clamp(40px, 4vw, 64px);
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.equipment-reference-intro p {
  margin: 0 0 20px;
  max-width: 780px;
  color: #4f5c70;
  font-size: 16px;
  line-height: 1.65;
}

.equipment-reference-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5ebf1;
}

.equipment-reference-cat {
  color: #2d3a4f;
  font-size: 16px;
  font-weight: 600;
}

.equipment-reference-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

@media (min-width: 900px) {
  .equipment-reference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .equipment-reference-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.equipment-reference-card {
  background: #f7f9fc;
  border: 1px solid #e5ebf1;
}

.equipment-reference-media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 340px;
  padding: 22px;
  background: #f6f7f9;
}

.equipment-reference-media img {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 4 / 5;
  object-fit: contain;
}

.equipment-reference-body {
  padding: 18px 18px 24px;
  text-align: center;
}

.equipment-reference-body h3 {
  margin: 0 0 10px;
  color: #2d3a4f;
  font-size: 22px;
  line-height: 1.2;
}

.equipment-reference-body p {
  margin: 0;
  color: #5a667a;
  font-size: 14px;
  line-height: 1.65;
}

.equipment-spec-list {
  display: grid;
  gap: 28px;
}

.equipment-spec-card {
  display: grid;
  grid-template-columns: minmax(300px, 408px) minmax(0, 1fr);
  border: 1px solid #b9c4d0;
  background: #fff;
}

.equipment-spec-media,
.equipment-spec-table-wrap {
  min-width: 0;
}

.equipment-spec-table-wrap {
  display: flex;
  flex-direction: column;
}

.equipment-spec-media {
  display: flex;
  flex-direction: column;
  border-right: 1px solid #b9c4d0;
  background: #f6f7f9;
}

.equipment-spec-media h3,
.equipment-spec-table-wrap > h3 {
  margin: 0;
  padding: 10px 14px;
  border-bottom: 1px solid #b9c4d0;
  color: #1e2a3f;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.equipment-spec-media img {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  max-width: 408px;
  min-height: 408px;
  height: 100%;
  padding: 18px;
  margin: auto;
  object-fit: contain;
}

.equipment-spec-table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.equipment-spec-table tbody {
  height: 100%;
}

.equipment-spec-table tr {
  height: 10%;
}

.equipment-spec-table th,
.equipment-spec-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #d2d9e1;
  color: #405069;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}

.equipment-spec-table th {
  width: 24%;
  border-right: 1px solid #d2d9e1;
  color: #26364f;
  font-weight: 600;
}

.equipment-spec-table td {
  width: 26%;
  border-right: 1px solid #d2d9e1;
}

.equipment-spec-table td:last-child {
  border-right: 0;
}

.equipment-spec-table tr:last-child th,
.equipment-spec-table tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 767px) {
  .equipment-spec-card {
    grid-template-columns: 1fr;
  }

  .equipment-spec-media {
    border-right: 0;
    border-bottom: 1px solid #b9c4d0;
  }

  .equipment-spec-media img {
    max-width: 100%;
    min-height: 320px;
    height: 320px;
    margin: 0 auto;
  }

  .equipment-spec-table th {
    width: 24%;
  }

  .equipment-spec-table td {
    width: 26%;
  }
}

.equipment-support-section {
  padding: 28px 0 0;
}

.equipment-support-head {
  max-width: 980px;
  margin: 0 auto 32px;
  text-align: center;
}

.equipment-support-head h2 {
  margin: 0 0 14px;
  color: #1a2438;
  font-size: clamp(20px, 2.1vw, 32px);
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.equipment-support-head p {
  margin: 0;
  color: #49576c;
  font-size: 16px;
  line-height: 1.55;
}

.equipment-support-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

@media (min-width: 900px) {
  .equipment-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .equipment-support-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.equipment-support-card {
  background: #f6f7fa;
  border: 1px solid #e4e9f0;
}

.equipment-support-media {
  height: 205px;
  overflow: hidden;
  background: #dde4ee;
}

.equipment-support-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.equipment-support-body {
  padding: 18px 18px 20px;
}

.equipment-support-body h3 {
  margin: 0 0 10px;
  color: #1e2a3f;
  font-size: 19px;
  line-height: 1.25;
}

.equipment-support-body p {
  margin: 0;
  color: #4f5c70;
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 991px) {
  .equipment-header-panel {
    margin-bottom: 18px;
  }

  .equipment-header-panel h1 {
    font-size: 36px;
  }

  .equipment-reference-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .equipment-reference-titlebox h1 {
    font-size: 46px;
  }

  .equipment-reference-media {
    min-height: 280px;
  }

  .equipment-support-head {
    margin-bottom: 24px;
  }

  .equipment-support-head h2 {
    font-size: 24px;
  }

  .equipment-support-media {
    height: 210px;
  }
}

.btn-tertiary {
  display: inline-block;
  padding: 6px 0;
  font-weight: 700;
  color: var(--pl-blue);
  border: none;
  background: none;
  cursor: pointer;
  font-size: 14px;
}

.btn-tertiary:hover {
  color: var(--pl-blue-dark);
  text-decoration: none;
}

.workshop-showcase-section {
  padding-bottom: 52px;
}

.workshop-gallery {
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px 20px 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.workshop-gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #dfe6ef;
  box-shadow: 0 14px 32px rgba(36, 48, 70, 0.08);
}

.workshop-gallery-item img {
  width: 100%;
  height: 240px;
  display: block;
  object-fit: cover;
}

@media (min-width: 700px) {
  .workshop-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .workshop-gallery {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .workshop-gallery-item img {
    height: 220px;
  }
}

/* Home contact */
.home-contact-section {
  background: #1f3d6d;
  padding: 56px 20px 72px;
}

.home-contact-shell {
  max-width: 1260px;
  margin: 0 auto;
}

.home-contact-head {
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
  color: #fff;
}

.home-contact-head h2 {
  margin: 0 0 12px;
  font-size: clamp(24px, 2.2vw, 28px);
  line-height: 1.1;
  font-weight: 700;
}

.home-contact-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 1.6;
}

.materials-match-quote-section {
  padding: 48px 20px 82px;
  background: #fff;
}

.materials-match-quote {
  max-width: 1660px;
  margin: 0 auto;
}

.home-contact-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  box-shadow: 0 22px 48px rgba(15, 36, 68, 0.18);
  max-width: 880px;
  margin: 0 auto;
}

.home-contact-info,
.home-contact-form-wrap {
  padding: 18px 18px;
}

.home-contact-info {
  background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
  border-bottom: 1px solid #e4ebf3;
}

.home-contact-info-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 12px;
  border: 1px solid #e5ebf3;
  border-radius: 10px;
  background: #fff;
}

.home-contact-info-card + .home-contact-info-card {
  margin-top: 12px;
}

.home-contact-info-card .material-symbols-outlined {
  font-size: 30px;
  color: #12385f;
}

.home-contact-info-card h3 {
  margin: 0 0 4px;
  font-size: 15px;
  color: #163455;
}

.home-contact-info-card p {
  margin: 0;
  color: #6a7d94;
  font-size: 12px;
  line-height: 1.45;
}

.home-contact-info-card a {
  color: inherit;
}

.home-contact-form-wrap {
  border-top: 1px solid #e4ebf3;
}

.home-contact-error {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #f2c6cc;
  background: #fff5f6;
  color: #9a2433;
  font-weight: 600;
  font-size: 13px;
}

.home-contact-form {
  display: block;
}

.home-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.field-optional {
  color: #7c8da5;
  font-weight: 400;
  font-size: 12px;
}

.home-phone-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 8px;
}

.home-phone-country {
  min-width: 0;
}

.home-contact-submit {
  width: 100%;
  margin-top: 12px;
  justify-content: center;
  min-height: 38px;
  font-size: 14px;
}

.home-contact-disclaimer {
  margin: 10px 0 0;
  color: #7a8798;
  font-size: 11px;
  line-height: 1.45;
}

.home-contact-disclaimer a {
  color: var(--pl-blue);
  font-weight: 700;
}

.home-contact-form-wrap .contact-success-panel {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 10px;
}

.home-contact-form-wrap .contact-success-panel h4 {
  margin: 0 0 6px;
  font-size: 16px;
}

.home-contact-form-wrap .contact-success-panel p {
  font-size: 13px;
}

.home-contact-form-wrap .field-label {
  margin-bottom: 5px;
  font-size: 13px;
}

.home-contact-form-wrap .field-control,
.home-contact-form-wrap .field-textarea,
.home-contact-form-wrap .field-select-control {
  padding: 8px 10px;
  border-radius: 4px;
  font-size: 13px;
}

.home-contact-form-wrap .field-textarea {
  min-height: 88px;
}

@media (min-width: 960px) {
  .home-contact-card {
    grid-template-columns: 0.95fr 1.05fr;
  }

  .home-contact-info,
  .home-contact-form-wrap {
    padding: 16px 16px;
  }

  .home-contact-info {
    border-right: 1px solid #e4ebf3;
    border-bottom: 0;
    min-height: 100%;
  }

  .home-contact-form-wrap {
    border-top: 0;
  }

  .home-contact-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Footer */
.footer-background {
  background: var(--pl-black);
  color: #c5c8ce;
  padding: 48px 20px 32px;
  font-size: 14px;
}

.footer-inner {
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .footer-inner {
    grid-template-columns: 1fr 2fr;
  }
}

.footer-logo img {
  height: 44px;
  width: auto;
  background: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  margin-bottom: 16px;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media (min-width: 768px) {
  .footer-columns {
    grid-template-columns: repeat(4, 1fr);
  }
}

.footer-col h4,
.footer-col .hdr {
  color: #fff;
  font-size: 14px;
  margin: 0 0 12px;
  font-weight: 700;
}

.footer-col a {
  display: block;
  color: #c5c8ce;
  margin-bottom: 8px;
  font-size: 13px;
}

.footer-col a:hover {
  color: #fff;
}

.footer-bottom {
  max-width: var(--container);
  margin: 24px auto 0;
  padding-top: 20px;
  border-top: 1px solid var(--pl-dark-gray);
  font-size: 12px;
  color: #888;
  text-align: center;
}

.footer-bottom a {
  color: #aaa;
}

.footer-filing-info {
  margin-top: 8px;
  overflow-wrap: anywhere;
}

/* Admin (unchanged pattern) */
.admin-body {
  background: var(--pl-hero-bg);
  min-height: 100vh;
}

.admin-wrap {
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem 1.25rem;
}

.admin-card {
  background: #fff;
  border: 1px solid var(--pl-hr);
  border-radius: 6px;
  padding: 1.5rem;
  margin-bottom: 1.25rem;
}

.admin-card h2 {
  margin: 0 0 1rem;
  font-size: 1.15rem;
}

.admin-lead-list {
  display: grid;
  gap: 1rem;
}

.admin-lead-card {
  border: 1px solid var(--pl-hr);
  border-radius: 8px;
  padding: 1rem;
  background: #fbfdff;
}

.admin-lead-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.admin-lead-head h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
}

.admin-lead-head p {
  margin: 0;
  color: var(--pl-muted);
}

.admin-lead-status-form {
  display: flex;
  align-items: end;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.admin-lead-status-form label {
  margin: 0;
  font-size: 0.8rem;
  color: var(--pl-muted);
}

.admin-lead-status-form select {
  min-width: 120px;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--pl-hr);
  border-radius: 4px;
  background: #fff;
}

.admin-lead-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
  color: #4c5b73;
}

.admin-lead-message {
  margin: 0;
  line-height: 1.55;
  color: #1f2940;
}

.form-grid label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: var(--pl-muted);
}

.form-grid input,
.form-grid textarea,
.form-grid select {
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--pl-hr);
  border-radius: 4px;
  font: inherit;
  margin-bottom: 0.75rem;
}

.form-grid textarea {
  min-height: 80px;
  resize: vertical;
}

.admin-video-add-form {
  border-bottom: 1px solid var(--pl-hr);
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.admin-video-list {
  display: grid;
  gap: 1rem;
}

.admin-video-item {
  border: 1px solid var(--pl-hr);
  border-radius: 6px;
  padding: 1rem;
  background: #fbfdff;
}

.admin-video-item h3 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}

.admin-delete-form {
  margin: 0.25rem 0 0;
}

.admin-danger-btn {
  color: #b71c1c;
  border-color: #ffcdd2;
}

.flash {
  padding: 0.65rem 1rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

.flash.ok {
  background: #e8f5e9;
  color: #1b5e20;
}

.flash.error {
  background: #ffebee;
  color: #b71c1c;
}

.login-box {
  max-width: 400px;
  margin: 4rem auto;
  background: #fff;
  padding: 2rem;
  border-radius: 8px;
  border: 1px solid var(--pl-hr);
}

.login-box h1 {
  margin: 0 0 1.25rem;
  font-size: 1.35rem;
}

/* Button intent standard:
   - btn-primary: submit, save, confirm, and other primary write actions.
   - btn-outline: secondary actions, navigation, viewing, and helper actions. */
.btn-primary {
  color: #fff;
  background: var(--pl-blue);
  border: none;
}

.btn-primary:hover {
  background: var(--pl-blue-dark);
  color: #fff;
}

.btn-outline {
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
}

.btn-outline:hover {
  background: #f5f5f5;
}

/* Bluepeak3D admin console */
.admin-shell {
  --admin-sidebar: 248px;
  --admin-blue: #5f7f99;
  --admin-blue-dark: #405e78;
  --admin-blue-pale: #eef4f8;
  --admin-line: #dce5eb;
  --admin-text: #243746;
  display: grid;
  grid-template-columns: var(--admin-sidebar) minmax(0, 1fr);
  min-height: 100vh;
  color: var(--admin-text);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  background: #304b62;
  color: #fff;
  transition: width 180ms ease;
}

.admin-brand {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 72px;
  padding: 12px 16px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.admin-brand:hover { color: #fff; }
.admin-brand img { width: 42px; height: 42px; border-radius: 7px; object-fit: contain; background: #fff; }
.admin-brand-copy { display: grid; line-height: 1.2; white-space: nowrap; }
.admin-brand-copy small { margin-top: 4px; color: #c7d8e4; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.admin-nav { flex: 1; padding: 12px 10px; }
.admin-nav-heading { margin: 16px 10px 6px; color: #afc5d4; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.admin-nav-link { display: flex; align-items: center; gap: 11px; padding: 10px; margin: 2px 0; border-radius: 6px; color: #dce9f1; font-size: 13px; white-space: nowrap; }
.admin-nav-link:hover, .admin-nav-link.active, .admin-nav-group summary.active { color: #fff; background: rgba(255, 255, 255, .14); }
.admin-nav-link.active, .admin-nav-group summary.active { box-shadow: inset 3px 0 #a9cadf; }
.admin-nav-icon {
  display: inline-flex;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  font-size: 20px;
  line-height: 1;
}
.admin-nav-group summary { display: flex; gap: 11px; align-items: center; padding: 10px; border-radius: 6px; color: #dce9f1; font-size: 13px; cursor: pointer; list-style: none; white-space: nowrap; }
.admin-nav-group summary::-webkit-details-marker { display: none; }
.admin-nav-group summary::after { margin-left: auto; content: "›"; color: #afc5d4; transition: transform 160ms ease; }
.admin-nav-group[open] > summary::after { transform: rotate(90deg); }
.admin-nav-sub { display: grid; gap: 2px; padding: 2px 0 4px 29px; }
.admin-nav-sub a, .admin-nav-group-nested summary { padding: 7px 9px; border-radius: 5px; color: #c6d8e4; font-size: 12px; }
.admin-nav-sub small { float: right; color: #afc5d4; font-size: 10px; }
.admin-nav-sub a:hover, .admin-nav-sub a.active, .admin-nav-group summary:hover { color: #fff; background: rgba(255, 255, 255, .11); }
.admin-nav-group-nested .admin-nav-sub { padding-left: 12px; }
.admin-collapse-btn { display: flex; align-items: center; gap: 11px; padding: 13px 19px; border: 0; border-top: 1px solid rgba(255, 255, 255, .14); background: transparent; color: #dce9f1; cursor: pointer; white-space: nowrap; }
.admin-collapse-btn span:first-child { font-size: 25px; line-height: 14px; }
.is-collapsed { --admin-sidebar: 64px; }
.is-collapsed .admin-brand-copy, .is-collapsed .admin-nav-text, .is-collapsed .admin-nav-heading { display: none; }
.is-collapsed .admin-brand { justify-content: center; padding-inline: 10px; }
.is-collapsed .admin-nav { padding-inline: 8px; }
.is-collapsed .admin-nav-link { justify-content: center; }
.is-collapsed .admin-nav-group summary { justify-content: center; }
.is-collapsed .admin-nav-group summary::after, .is-collapsed .admin-nav-sub { display: none; }
.is-collapsed .admin-collapse-btn { justify-content: center; }
.is-collapsed .admin-collapse-btn span:first-child { transform: rotate(180deg); }

.admin-main { min-width: 0; background: #f4f7fb; }
.admin-topbar { position: sticky; top: 0; z-index: 4; display: flex; justify-content: space-between; gap: 18px; align-items: center; min-height: 72px; padding: 10px 24px; background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--admin-line); }
.admin-topbar-title { display: flex; gap: 12px; align-items: center; }
.admin-topbar h1 { margin: 2px 0 0; font-size: 20px; color: #203444; }
.admin-breadcrumb, .admin-eyebrow { margin: 0; color: #718493; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.admin-toolbar, .admin-toolbar form { display: flex; align-items: center; gap: 8px; margin: 0; }
.admin-toolbar label { color: #627584; font-size: 11px; font-weight: 700; }
.admin-toolbar select { padding: 7px 9px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; color: var(--admin-text); font-size: 12px; }
.admin-view-site, .admin-logout { padding: 8px 10px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; color: #48677f; font-size: 12px; cursor: pointer; }
.admin-user { padding-left: 6px; color: #718493; font-size: 12px; }
.admin-mobile-menu { display: none; border: 0; background: transparent; color: #405e78; font-size: 22px; cursor: pointer; }
.admin-content {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
}
.admin-intro { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px; margin-bottom: 18px; border: 1px solid var(--admin-line); border-radius: 9px; background: linear-gradient(135deg, #fff, #f1f6f9); }
.admin-intro h2, .admin-panel h2 { margin: 5px 0 0; color: #203444; font-size: 18px; }
.admin-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.admin-stat { display: flex; gap: 12px; align-items: center; justify-content: center; min-height: 82px; padding: 14px; border: 1px solid var(--admin-line); border-radius: 8px; background: #fff; color: inherit; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.admin-stat:hover { border-color: #9cc7e7; box-shadow: 0 8px 20px rgba(37, 74, 104, .08); transform: translateY(-1px); }
.admin-stat > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 7px; background: var(--admin-blue-pale); color: var(--admin-blue-dark); font-size: 18px; }
.admin-stat div { display: grid; gap: 3px; min-width: 70px; justify-items: center; text-align: center; }
.admin-stat strong { font-size: 22px; }
.admin-stat small { color: #718493; font-size: 11px; line-height: 1.25; }
.admin-grid-two { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: 18px; }
.admin-overview-top-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr); gap: 18px; }
.admin-daily-workflow-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.admin-daily-workflow-list > section {
  min-width: 0;
  padding: 0 0 14px;
  border-bottom: 1px solid #edf1f4;
}
.admin-daily-workflow-list > section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.admin-module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.admin-module-grid a {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 18px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  background: #fff;
  color: #34556d;
  place-content: center;
  justify-items: center;
  text-align: center;
}
.admin-module-grid a:hover { border-color: #afc9db; background: #f8fbfd; }
.admin-module-grid strong { font-size: 15px; overflow-wrap: anywhere; }
.admin-module-grid small { color: #718493; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.admin-panel { padding: 18px; margin-bottom: 16px; border: 1px solid var(--admin-line); border-radius: 8px; background: #fff; }
.admin-panel-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 14px; }
.admin-panel-head a { color: #527997; font-size: 12px; font-weight: 700; }
.admin-recent-lead { display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid #edf1f4; color: var(--admin-text); }
.admin-recent-lead div, .admin-table td:first-child { display: grid; gap: 3px; }
.admin-recent-lead small, .admin-recent-lead time, .admin-table small { color: #7b8b97; font-size: 11px; }
.admin-recent-lead-meta { overflow-wrap: anywhere; }
.admin-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.admin-shortcuts a { display: grid; gap: 7px; min-height: 82px; padding: 12px; border: 1px solid var(--admin-line); border-radius: 7px; color: #48677f; font-size: 12px; font-weight: 700; }
.admin-shortcuts span { color: var(--admin-blue); font-size: 19px; }
.admin-shortcuts .admin-shortcut-icon {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 20px;
  line-height: 1;
}
.admin-status { display: inline-flex; width: fit-content; padding: 4px 7px; border-radius: 20px; font-size: 10px; font-weight: 700; }
.status-new { background: #e8f3ff; color: #266796; }
.status-reviewing { background: #fff4dd; color: #9b6714; }
.status-contacted { background: #e8f7f1; color: #267257; }
.status-qualified { background: #ede9ff; color: #5b4da8; }
.status-closed { background: #eef0f2; color: #687784; }
.admin-filterbar { display: flex; gap: 9px; align-items: center; }
.admin-filterbar input { flex: 1; min-width: 180px; }
.admin-filterbar input, .admin-filterbar select, .admin-form-grid input, .admin-form-grid textarea, .admin-form-grid select, .admin-lead-followup textarea, .admin-lead-followup select { padding: 9px 10px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; font: inherit; font-size: 13px; }
.admin-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin: 0 0 10px;
}
.admin-filters .btn {
  min-height: 34px;
  padding: 6px 13px;
  margin-left: 6px;
  font-size: 13px;
  line-height: 1.2;
}
.admin-cad-filterbar { margin-top: 10px; }
.admin-cad-filterbar select { flex: 0 0 180px; }
.admin-cad-filterbar .btn { flex: 0 0 auto; }
.admin-result-count, .admin-help, .admin-empty { margin: 12px 0 0; color: #718493; font-size: 12px; }
.admin-empty-hint { margin-top: 12px; padding: 12px 14px; border: 1px dashed #c9d8e3; border-radius: 7px; background: #f8fbfd; color: #527997; font-size: 13px; }
.admin-lead-card { padding: 16px; background: #fff; }
.admin-lead-title { display: flex; gap: 8px; align-items: center; }
.admin-lead-head time { color: #7b8b97; font-size: 11px; }
.admin-lead-followup { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 12px; align-items: end; padding-top: 14px; margin-top: 14px; border-top: 1px solid #edf1f4; }
.admin-lead-followup label, .admin-form-grid label { display: grid; gap: 6px; color: #627584; font-size: 11px; font-weight: 700; }
.admin-form-grid label.admin-checkbox-row {
  display: inline-flex;
  align-items: center;
  align-self: end;
  gap: 8px;
  min-height: 38px;
  font-size: 13px;
}
.admin-form-grid label.admin-checkbox-row input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
}
.admin-form-grid label:has(> input[type="checkbox"]) {
  display: inline-flex;
  align-items: center;
  align-self: end;
  gap: 8px;
  min-height: 38px;
  color: #627584;
  font-size: 13px;
  font-weight: 700;
}
.admin-form-grid label:has(> input[type="checkbox"]) > input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
}
.admin-lead-followup textarea { width: 100%; resize: vertical; }
.admin-pagination { display: flex; gap: 5px; justify-content: center; margin: 16px 0; }
.admin-small-pagination { margin: 12px 0 0; }
.admin-vacuum-record-pagination { margin: 5px 0; }
.admin-pagination a { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; color: #527997; font-size: 12px; }
.admin-pagination a.active { background: var(--admin-blue); color: #fff; }
.admin-pagination a.admin-pagination-step { width: auto; min-width: 58px; padding: 0 10px; white-space: nowrap; }
.admin-pagination-with-jump { flex-wrap: wrap; align-items: center; }
.admin-pagination-jump { display: inline-flex; gap: 5px; align-items: center; margin: 0 0 0 6px; }
.admin-pagination-jump input { width: 58px; height: 31px; padding: 4px 6px; border: 1px solid var(--admin-line); border-radius: 5px; text-align: center; font: inherit; font-size: 12px; }
.admin-pagination-jump .btn { min-height: 31px; padding: 5px 10px; font-size: 12px; line-height: 1.2; }
.admin-pagination-ellipsis { display: grid; width: 24px; height: 31px; place-items: center; color: #7c8da0; font-size: 13px; font-weight: 700; }
.admin-count-badge { padding: 5px 9px; border-radius: 20px; background: var(--admin-blue-pale); color: var(--admin-blue-dark); font-size: 12px; font-weight: 700; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.admin-table th, .admin-table td { padding: 11px; border-top: 1px solid #edf1f4; text-align: left; white-space: nowrap; }
.admin-table th { color: #526b7d; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; }
.admin-role-permissions-wrap {
  max-height: calc(100vh - 230px);
  min-height: 420px;
  overflow: auto;
  border: 1px solid #edf1f4;
  border-radius: 6px;
  scrollbar-gutter: stable;
}
.admin-role-permissions-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.admin-role-permissions-table th,
.admin-role-permissions-table td {
  min-width: 170px;
  background: #fff;
  vertical-align: middle;
}
.admin-role-permissions-table th:first-child,
.admin-role-permissions-table td:first-child {
  left: 0;
  min-width: 220px;
  max-width: 260px;
  position: sticky;
  z-index: 3;
  box-shadow: 10px 0 16px -16px rgba(35, 58, 76, .55);
}
.admin-role-permissions-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fbfd;
  border-top: 0;
}
.admin-role-permissions-table th:first-child {
  z-index: 4;
}
.admin-role-permissions-table tbody tr:hover td {
  background: #f6fbff;
}
.admin-role-permissions-table tbody tr:hover td:first-child {
  background: #eef7ff;
}
.admin-role-permissions-table th.is-column-highlight,
.admin-role-permissions-table td.is-column-highlight {
  background: #f1f8ff;
}
.admin-role-permissions-table td:focus-within {
  background: #fff8e6;
  box-shadow: inset 0 0 0 1px #e0b84a;
}
.admin-role-permissions-table td:first-child small {
  white-space: normal;
}
.admin-role-permissions-table .admin-permission-note {
  display: block;
  margin-top: 4px;
  color: #8a6a1d;
  font-size: 11px;
  line-height: 1.35;
}
.admin-permission-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
}
.admin-permission-checks label {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.admin-leads-table { border: 1px solid #edf1f4; }
.admin-leads-table th, .admin-leads-table td { border: 1px solid #edf1f4; text-align: center; }
.admin-leads-table .admin-lead-customer-cell,
.admin-leads-table .admin-lead-profile-cell { text-align: center; }
.admin-leads-table .admin-lead-customer-cell strong,
.admin-leads-table .admin-lead-customer-cell small,
.admin-leads-table .admin-lead-profile-cell a,
.admin-leads-table .admin-lead-profile-cell span,
.admin-leads-table .admin-lead-profile-cell small { display: block; }
.admin-leads-table tr.is-selected { background: #f7fb84; }
.admin-file-table td { vertical-align: top; }
.admin-file-table th { text-align: center; }
.admin-file-table th:nth-child(-n+7),
.admin-file-table td:nth-child(-n+7) { text-align: center; }
.admin-file-table th:nth-child(5),
.admin-file-table td:nth-child(5) { min-width: 140px; }
.admin-file-table small { display: block; margin-top: 3px; white-space: normal; }
.admin-file-table tr.is-muted { opacity: .62; background: #f7f8f9; }
.admin-file-form { display: grid; min-width: 260px; gap: 7px; margin: 0; }
.admin-file-form input, .admin-file-form select, .admin-file-form textarea { width: 100%; box-sizing: border-box; padding: 7px 8px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; font: inherit; font-size: 13px; }
.admin-file-form textarea { resize: vertical; }
.admin-schedule-action-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: end;
  min-width: 0;
  width: 100%;
  max-width: 280px;
  margin-left: auto;
  gap: 5px;
}
.admin-schedule-action-form .btn {
  width: 100%;
  min-height: 44px;
  margin: 0;
  white-space: nowrap;
}
.admin-order-shipment-form {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
.admin-order-shipment-form input[type="hidden"] { display: none; }
.admin-order-shipment-fields,
.admin-order-shipment-side {
  display: grid;
  min-width: 0;
  gap: 7px;
}
.admin-order-shipment-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-order-shipment-side { grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr); }
.admin-order-shipment-side textarea { height: auto; min-height: 0; resize: none; line-height: normal; overflow: hidden; }
.admin-order-shipment-side .btn { margin: 0; min-height: 0; }
.admin-order-payment-form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}
.admin-order-payment-form input[type="hidden"] { display: none; }
.admin-order-payment-fields,
.admin-order-payment-side {
  display: grid;
  min-width: 0;
  gap: 7px;
}
.admin-order-payment-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-order-payment-side { grid-template-rows: minmax(40px, 1fr) minmax(40px, auto); }
.admin-order-payment-side textarea { height: auto; min-height: 0; resize: none; line-height: normal; overflow: hidden; }
.admin-order-payment-side .admin-order-payment-submit { min-height: 40px; margin: 0; }
.admin-vacuum-void-request-form {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: stretch;
  min-width: 390px;
}
.admin-vacuum-void-request-form input[type="hidden"] { display: none; }
.admin-vacuum-void-request-form .admin-danger-btn {
  min-height: 34px;
  margin-top: 0;
}
.admin-vacuum-link-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.admin-vacuum-order-section { grid-column: 1 / -1; }
.admin-vacuum-order-grid { display: grid; grid-template-columns: 150px 180px 80px 80px 190px minmax(190px, 1fr); gap: 10px; align-items: end; }
.admin-vacuum-product-grid { display: grid; grid-template-columns: minmax(180px, 1.45fr) minmax(70px, .45fr) minmax(80px, .55fr) minmax(115px, .75fr) minmax(115px, .75fr); gap: 10px; }
.admin-vacuum-material-grid { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr); gap: 10px; margin-bottom: 10px; }
.admin-vacuum-material-snapshot-grid { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(120px, .8fr) minmax(70px, .45fr) minmax(100px, .65fr); gap: 10px; margin-bottom: 10px; }
.admin-vacuum-process-grid { display: grid; grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .75fr) minmax(130px, .65fr); gap: 10px; }
.admin-vacuum-finish-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.admin-vacuum-master-grid { display: grid; grid-template-columns: minmax(150px, .9fr) minmax(110px, .55fr) minmax(150px, .9fr); gap: 10px; }
.admin-vacuum-silicone-grid { display: grid; grid-template-columns: minmax(135px, .95fr) minmax(120px, .75fr) minmax(100px, .6fr) minmax(155px, 1fr); gap: 10px; }
.admin-vacuum-link-grid label, .admin-vacuum-order-grid label, .admin-vacuum-product-grid label, .admin-vacuum-material-grid label, .admin-vacuum-material-snapshot-grid label, .admin-vacuum-process-grid label, .admin-vacuum-finish-grid label, .admin-vacuum-master-grid label, .admin-vacuum-silicone-grid label { display: grid; gap: 5px; min-width: 0; }
.admin-vacuum-link-grid label > span, .admin-vacuum-order-grid label > span, .admin-vacuum-product-grid label > span, .admin-vacuum-material-grid label > span, .admin-vacuum-material-snapshot-grid label > span, .admin-vacuum-process-grid label > span, .admin-vacuum-finish-grid label > span, .admin-vacuum-master-grid label > span, .admin-vacuum-silicone-grid label > span { color: #203444; font-size: 12px; font-weight: 700; }
.admin-vacuum-order-grid label > span { text-align: center; }
.admin-vacuum-items-section { grid-column: 1 / -1; }
.admin-vacuum-items-head { margin-bottom: 8px; }
.admin-vacuum-items-table { width: max-content; min-width: 0; table-layout: fixed; }
.admin-vacuum-items-table th, .admin-vacuum-items-table td { box-sizing: border-box; padding: 11px 2.5px; vertical-align: top; white-space: normal; }
.admin-vacuum-items-table th { text-align: center; }
.admin-vacuum-items-table input, .admin-vacuum-items-table select { width: 100%; box-sizing: border-box; min-width: 0; margin-bottom: 5px; }
.admin-vacuum-items-table th:nth-child(1),
.admin-vacuum-items-table td:nth-child(1) { width: 60px; min-width: 60px; max-width: 60px; box-sizing: border-box; }
.admin-vacuum-items-table td:nth-child(1) input { width: 50px; min-width: 50px; max-width: 50px; }
.admin-vacuum-items-table th:nth-child(2), .admin-vacuum-items-table td:nth-child(2) { width: 150px; min-width: 150px; max-width: 150px; }
.admin-vacuum-items-table th:nth-child(3), .admin-vacuum-items-table td:nth-child(3) { width: 80px; min-width: 80px; max-width: 80px; }
.admin-vacuum-items-table th:nth-child(4), .admin-vacuum-items-table td:nth-child(4) { width: 220px; min-width: 220px; max-width: 220px; }
.admin-vacuum-items-table th:nth-child(5), .admin-vacuum-items-table td:nth-child(5) { width: 372px; min-width: 372px; max-width: 372px; }
.admin-vacuum-items-table th:nth-child(6), .admin-vacuum-items-table td:nth-child(6) { width: 210px; min-width: 210px; max-width: 210px; }
.admin-vacuum-items-table th:nth-child(7), .admin-vacuum-items-table td:nth-child(7) { width: 110px; min-width: 110px; max-width: 110px; }
.admin-vacuum-items-table th:nth-child(8), .admin-vacuum-items-table td:nth-child(8) { width: 90px; min-width: 90px; max-width: 90px; }
.admin-vacuum-items-table th:nth-child(9), .admin-vacuum-items-table td:nth-child(9) { width: 170px; min-width: 170px; max-width: 170px; }
.admin-vacuum-items-table th:nth-child(10), .admin-vacuum-items-table td:nth-child(10) { width: 85px; min-width: 85px; max-width: 85px; }
.admin-vacuum-row-actions { display: grid; gap: 6px; min-width: 85px; }
.admin-vacuum-row-actions .btn { width: 100%; min-height: 34px; margin: 0; padding: 6px 10px; }
.admin-vacuum-item-row.is-staged,
.js-vacuum-item-row.is-staged { background: #f6fbf8; }
.js-vacuum-item-row.is-staged .js-vacuum-save-item { background: #188a50; border-color: #188a50; }
.admin-vacuum-row-grid { display: grid; gap: 5px; }
.admin-vacuum-row-grid.one { grid-template-columns: minmax(0, 1fr); }
.admin-vacuum-row-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-vacuum-row-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-vacuum-row-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-vacuum-row-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.admin-vacuum-row-grid.silicone-top { grid-template-columns: repeat(4, 88px); }
.admin-vacuum-items-table td:nth-child(5) .admin-vacuum-row-grid.four { grid-template-columns: repeat(4, 88px); }
.admin-vacuum-items-table td:nth-child(6) .admin-vacuum-row-grid.two { grid-template-columns: repeat(2, 100px); }
.admin-vacuum-items-table td:nth-child(6) .admin-vacuum-row-grid.three { grid-template-columns: repeat(3, 65px); }
.admin-vacuum-quote-cell { display: flex; align-items: flex-start; gap: 10px; }
.admin-vacuum-quote-rates { flex: 0 0 80px; }
.admin-vacuum-quote-totals { display: grid; gap: 5px; min-width: 0; text-align: left; }
.admin-vacuum-cost-line { display: flex; align-items: center; min-height: 34px; margin: 0; color: #667989; font-size: 12px; font-weight: 700; }
.admin-vacuum-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 10px; margin-top: 12px; }
.admin-vacuum-summary-grid label { display: grid; gap: 5px; min-width: 0; }
.admin-vacuum-summary-grid label > span { color: #203444; font-size: 12px; font-weight: 700; }
#vacuum-recent-records > .admin-table-wrap > .admin-table > tbody > tr:not(.admin-vacuum-record-detail-row) > td > strong + small,
#vacuum-voided-records > .admin-table-wrap > .admin-table > tbody > tr > td > strong + small { margin-left: 1px; }
.admin-vacuum-record-detail-row > td { padding-top: 0; background: #fbfdff; }
.admin-vacuum-record-detail { border: 1px solid #edf1f4; border-radius: 7px; background: #fff; }
.admin-vacuum-record-detail summary { cursor: pointer; padding: 9px 11px; color: #24516d; font-weight: 700; }
.admin-vacuum-record-detail[open] summary { border-bottom: 1px solid #edf1f4; }
.admin-vacuum-record-actions { display: flex; justify-content: flex-end; padding: 8px 11px; border-bottom: 1px solid #edf1f4; }
.admin-vacuum-record-items-table { min-width: 980px; }
.admin-vacuum-record-items-table small { display: block; margin-top: 3px; white-space: normal; color: #667989; }
.admin-vacuum-record-items-table td { vertical-align: top; white-space: normal; }
.admin-vacuum-copy-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #cfe4ff; border-radius: 7px; background: #f5faff; color: #244863; }
.admin-vacuum-copy-banner strong { color: #15364f; }
.admin-vacuum-copy-banner span { flex: 1 1 280px; }
.admin-material-inline-form { min-width: 1540px; }
.admin-material-edit-fields {
  display: grid;
  grid-template-columns:
    150px
    150px
    150px
    150px
    72px
    84px
    72px
    72px
    minmax(130px, 1fr)
    minmax(150px, 1.1fr)
    86px
    86px
    86px
    86px;
  gap: 8px;
  align-items: end;
}
.admin-material-edit-fields label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-material-inline-form [disabled] {
  background: #f8fbfe;
  color: #425569;
  cursor: not-allowed;
}
.admin-material-inline-form.is-editing [disabled],
.admin-material-inline-form.is-editing [data-material-edit-field] {
  background: #fff;
  cursor: text;
}
.admin-material-edit-actions { display: contents; }
.admin-material-edit-actions .btn { justify-content: center; }
.admin-material-pagination-slot { display: flex; align-items: center; justify-content: center; min-height: 40px; padding-top: 12px; }
.admin-material-pagination-slot .admin-pagination { margin: 0; }
.admin-material-cost-table td { vertical-align: top; }
.admin-order-maintenance-form {
  display: grid;
  grid-template-columns: minmax(205px, 1.3fr) max-content minmax(185px, 1fr) minmax(225px, 1.2fr) minmax(140px, .8fr) minmax(150px, .85fr) minmax(165px, .9fr);
  align-items: center;
  gap: 7px 10px;
}
.admin-order-maintenance-form.admin-order-maintenance-viewonly {
  grid-template-columns: minmax(520px, 1.7fr) minmax(190px, 240px) minmax(190px, 1fr);
}
.admin-order-maintenance-form input,
.admin-order-maintenance-form select,
.admin-order-maintenance-form textarea { width: 100%; box-sizing: border-box; padding: 7px 8px; border: 1px solid var(--admin-line); border-radius: 5px; font: inherit; font-size: 13px; }
.admin-order-maintenance-form .admin-order-wide-field { grid-column: 1 / -1; }
.admin-order-maintenance-form .admin-order-submit { grid-column: auto; min-height: 36px; white-space: nowrap; }
.admin-order-status-options {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  flex-wrap: wrap;
}
.admin-order-payment-badge,
.admin-order-status-label,
.admin-order-date-badge {
  color: #496174;
  font-weight: 700;
  white-space: nowrap;
}
.admin-order-payment-badge {
  padding: 4px 8px;
  border: 1px solid #d9e3ec;
  border-radius: 5px;
  background: #f7fbff;
}
.admin-order-date-badge {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid #d9e3ec;
  border-radius: 5px;
  background: #f7fbff;
  box-sizing: border-box;
}
.admin-order-date-field {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr);
  align-items: center;
  gap: 8px;
  color: #496174;
  font-weight: 700;
  white-space: nowrap;
}
.admin-order-status-options label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.admin-order-status-options input {
  width: auto;
  margin: 0;
}
.admin-order-status-options .admin-order-ship-action {
  min-height: 34px;
  margin: 0;
  white-space: nowrap;
}
.admin-order-completed-note {
  color: #496174;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.admin-order-maintenance-form .admin-order-shipment-notes { min-height: 62px; }
.admin-order-maintenance-form .admin-order-payment-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 8px;
  border: 1px solid #d9e3ec;
  border-radius: 5px;
  background: #f7fbff;
  color: #496174;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  box-sizing: border-box;
}
.admin-order-status-actions {
  grid-column: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}
.admin-order-status-actions .btn {
  flex: 1 1 78px;
  min-height: 34px;
  padding: 7px 10px;
}
.admin-workflow-table .admin-order-maintenance-form {
  grid-template-columns: 80px 80px 150px;
}
.admin-claim-compact { display: inline-grid; min-width: 0; width: 64px; margin-top: 4px; }
.admin-claim-compact .btn { width: 64px; min-height: 26px; padding: 4px 8px; margin: 0; justify-content: center; font-size: 12px; line-height: 1.2; }
.admin-cad-file-maintain-cell { vertical-align: top; }
.admin-cad-file-maintain-grid {
  display: grid;
  grid-template-columns: 370px 90px;
  grid-template-rows: 36px 36px;
  column-gap: 16px;
  row-gap: 7px;
  align-items: start;
}
.admin-cad-file-actions {
  display: grid;
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-rows: 36px 36px;
  gap: 7px;
}
.admin-cad-file-actions form {
  align-self: stretch;
  height: 36px;
  margin: 0;
}
.admin-cad-file-actions .btn {
  width: 100%;
  height: 36px;
  box-sizing: border-box;
  padding: 7px 8px;
}
.admin-cad-file-actions .admin-danger-btn {
  margin-top: 0;
}
.admin-quote-detail-table .admin-table-download-btn {
  min-height: 30px;
  padding: 5px 12px;
  line-height: 1;
  white-space: nowrap;
  font-size: 13px;
  border-radius: 4px;
}
.admin-cad-file-notes-form {
  grid-column: 1;
  grid-row: 1 / span 2;
  grid-template-columns: 100px 270px;
  grid-template-rows: 36px 36px;
  align-items: start;
}
.admin-cad-file-notes-form select,
.admin-cad-file-notes-form textarea,
.admin-cad-file-notes-form .btn {
  height: 36px;
  box-sizing: border-box;
}
.admin-cad-file-notes-form textarea[name="admin_notes"] {
  min-height: 36px;
  resize: vertical;
}
.admin-cad-file-notes-form .btn {
  grid-column: 1;
  grid-row: 2;
}
.admin-cad-file-notes-form textarea[name="customer_message"] {
  grid-column: 2;
  grid-row: 2;
  min-height: 36px;
}
.admin-workflow-table { width: 1160px; table-layout: fixed; }
.admin-workflow-table th:nth-child(1),
.admin-workflow-table td:nth-child(1) { width: 40px; }
.admin-workflow-table th:nth-child(2),
.admin-workflow-table td:nth-child(2) { width: 200px; }
.admin-workflow-table th:nth-child(3),
.admin-workflow-table td:nth-child(3) { width: 220px; }
.admin-workflow-table th:nth-child(4),
.admin-workflow-table td:nth-child(4) { width: 100px; }
.admin-workflow-table th:nth-child(5),
.admin-workflow-table td:nth-child(5) { width: 200px; }
.admin-workflow-table th:nth-child(6),
.admin-workflow-table td:nth-child(6) { width: 400px; }
.admin-orders-table {
  width: 1280px;
  min-width: 1280px;
  border-collapse: separate;
  border-spacing: 5px 0;
  table-layout: fixed;
}
.admin-orders-table th,
.admin-orders-table td {
  padding: 10px 0;
  vertical-align: top;
}
.admin-orders-table th:nth-child(1),
.admin-orders-table td:nth-child(1) { width: 50px; text-align: center; }
.admin-orders-table th:nth-child(2),
.admin-orders-table td:nth-child(2) { width: 180px; }
.admin-orders-table th:nth-child(3),
.admin-orders-table td:nth-child(3) { width: 270px; }
.admin-orders-table th:nth-child(4),
.admin-orders-table td:nth-child(4) { width: 150px; }
.admin-orders-table th:nth-child(5),
.admin-orders-table td:nth-child(5) { width: 180px; }
.admin-orders-table th:nth-child(6),
.admin-orders-table td:nth-child(6) {
  width: 400px;
}
.admin-orders-table td:nth-child(2) small,
.admin-orders-table td:nth-child(3) small,
.admin-orders-table td:nth-child(5) small {
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-order-payment-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  margin-left: 6px;
  padding: 3px 8px;
  border-radius: 6px;
  background: #eef5fb;
  color: #2f5875;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}
.admin-order-actions-cell {
  text-align: center;
}
.admin-order-detail-link {
  width: 96px;
  min-width: 96px;
  justify-content: center;
}
.admin-order-maintain-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  text-align: center;
  white-space: nowrap;
}
.admin-order-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 28px;
  padding: 4px 5px;
  border: 1px solid #d9e3ec;
  border-radius: 5px;
  background: #f7fbff;
  color: #31536b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}
.admin-order-status-label { color: #718493; }
.admin-order-production-status {
  background: #f2f8f5;
  border-color: #d3e8d9;
  color: #2d6b48;
}
.admin-orders-table .admin-order-maintenance-form {
  grid-template-columns: 78px 72px 86px 112px;
  align-items: center;
}
.admin-orders-table .admin-order-maintenance-form .admin-order-submit {
  grid-column: auto;
  white-space: nowrap;
}
.admin-outsourcing-table {
  width: 1736px;
  border-collapse: separate;
  border-spacing: 5px 0;
  table-layout: fixed;
}
.admin-outsourcing-table th:nth-child(1),
.admin-outsourcing-table td:nth-child(1) { width: 150px; }
.admin-outsourcing-table th:nth-child(2),
.admin-outsourcing-table td:nth-child(2) { width: 220px; }
.admin-outsourcing-table th:nth-child(3),
.admin-outsourcing-table td:nth-child(3) { width: 180px; }
.admin-outsourcing-table th:nth-child(4),
.admin-outsourcing-table td:nth-child(4) { width: 160px; }
.admin-outsourcing-table th:nth-child(5),
.admin-outsourcing-table td:nth-child(5) { width: 130px; }
.admin-outsourcing-table th:nth-child(6),
.admin-outsourcing-table td:nth-child(6) { width: 180px; }
.admin-outsourcing-table th:nth-child(7),
.admin-outsourcing-table td:nth-child(7) { width: 180px; }
.admin-outsourcing-table th:nth-child(8),
.admin-outsourcing-table td:nth-child(8) { width: 536px; }
.admin-outsourcing-table th,
.admin-outsourcing-table td {
  padding-left: 0;
  padding-right: 0;
}
.admin-outsourcing-table td {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-outsourcing-table td:nth-child(7) > .btn,
.admin-outsourcing-table td:nth-child(7) > .admin-file-form {
  width: 180px;
  min-width: 180px;
  max-width: 180px;
}
.admin-outsourcing-table td:nth-child(7) > .btn + .admin-file-form {
  margin-top: 7px;
}
.admin-outsourcing-table .admin-file-form {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.admin-outsourcing-status-cell,
.admin-outsourcing-maintain-cell,
.admin-outsourcing-payment-cell {
  vertical-align: top;
  white-space: normal;
}
.admin-outsourcing-maintain-actions,
.admin-outsourcing-payment-layout,
.admin-outsourcing-payment-fields {
  display: grid;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.admin-outsourcing-maintain-actions {
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
}
.admin-outsourcing-payment-layout {
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: start;
}
.admin-outsourcing-payment-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-outsourcing-maintain-actions .admin-file-form,
.admin-outsourcing-payment-fields input,
.admin-outsourcing-payment-request .btn {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}
.admin-outsourcing-maintain-btn {
  width: 180px;
  height: 35px;
  min-height: 35px;
  margin: 0;
  justify-content: center;
  box-sizing: border-box;
  white-space: nowrap;
  line-height: 1.2;
}
.admin-outsourcing-payment-form {
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 8px;
}
.admin-outsourcing-payment-request {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.admin-outsourcing-payment-form input[type="hidden"] {
  display: none;
}
.admin-outsourcing-payment-form .btn {
  width: 100%;
  height: 44px;
  min-height: 44px;
  margin: 0;
  justify-content: center;
  box-sizing: border-box;
  white-space: normal;
}
.admin-outsourcing-table .admin-file-form input,
.admin-outsourcing-table .admin-file-form select,
.admin-outsourcing-table .admin-file-form textarea,
.admin-outsourcing-paid-total {
  min-height: 35px;
  box-sizing: border-box;
  padding-top: 4px;
  padding-bottom: 4px;
}
.admin-outsourcing-payment-amount {
  text-align: center;
}
.admin-outsourcing-paid-total {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 10px;
  align-items: center;
  min-height: 34px;
  padding: 7px 8px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #fff;
  color: #b42318;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
  white-space: normal;
}
.admin-outsourcing-paid-total strong,
.admin-outsourcing-paid-total small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-payable-over-warning {
  display: block;
  margin-top: 4px;
  color: #b42318 !important;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
}
.admin-payment-request-hint {
  display: block;
  margin-top: 4px;
  color: #6b7f90;
  font-size: 11px;
  line-height: 1.35;
}
.admin-outsourcing-status-form {
  grid-template-columns: 1fr;
  gap: 8px;
}
.admin-outsourcing-status-form .btn {
  height: 44px;
  min-height: 44px;
  box-sizing: border-box;
  white-space: normal;
}
.admin-outsourcing-status-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.admin-outsourcing-status-form .btn { width: 100%; }
.admin-outsource-workbench-summary-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1fr);
  gap: 18px;
  align-items: start;
}
.admin-outsource-workbench-controls {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.admin-outsource-workbench-controls h4 {
  grid-column: 1 / -1;
  margin: 0;
  color: #203444;
  font-size: 13px;
  font-weight: 800;
}
.admin-outsource-workbench-controls .admin-file-form {
  width: 100%;
  margin: 0;
}
.admin-outsource-workbench-controls .admin-outsourcing-status-form {
  grid-template-columns: 1fr;
}
.admin-outsource-workbench-payment-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.admin-outsource-workbench-payment-form input[name="request_reason"],
.admin-outsource-workbench-payment-form .btn,
.admin-outsource-workbench-payment-form small {
  grid-column: 1 / -1;
}
.admin-outsource-workbench-payment-form small {
  color: #6b7f90;
  font-size: 11px;
  line-height: 1.35;
}
.admin-supplier-payment-batch-form {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: start;
}
.admin-supplier-payment-batch-form input,
.admin-supplier-payment-batch-form select,
.admin-supplier-payment-batch-form textarea {
  width: 100%;
  box-sizing: border-box;
}
.admin-supplier-payment-batch-form .btn,
.admin-supplier-payment-allocation-wrap {
  grid-column: 1 / -1;
}
.admin-payable-detail-payment-form {
  grid-template-columns: 1fr;
}
.admin-payable-detail-payment-fields {
  display: grid;
  gap: 8px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(130px, 0.85fr) minmax(130px, 0.85fr) minmax(150px, 1fr) minmax(130px, 0.85fr) minmax(170px, 1.2fr) minmax(120px, 0.75fr);
}
.admin-payable-detail-payment-fields input,
.admin-payable-detail-payment-fields .btn {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}
.admin-payable-detail-payment-fields .btn {
  min-height: 38px;
}
.admin-supplier-payment-allocation-wrap input {
  min-width: 110px;
}
@media (max-width: 1100px) {
  .admin-payable-detail-payment-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .admin-payable-detail-payment-fields {
    grid-template-columns: 1fr;
  }
}
.admin-finance-receivable-table {
  width: 1060px;
  border-collapse: separate;
  border-spacing: 5px 0;
  table-layout: fixed;
}
.admin-finance-receivable-table th,
.admin-finance-receivable-table td {
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-finance-receivable-table th:nth-child(1),
.admin-finance-receivable-table td:nth-child(1) { width: 180px; }
.admin-finance-receivable-table th:nth-child(2),
.admin-finance-receivable-table td:nth-child(2) { width: 260px; }
.admin-finance-receivable-table th:nth-child(3),
.admin-finance-receivable-table td:nth-child(3) { width: 170px; }
.admin-finance-receivable-table th:nth-child(4),
.admin-finance-receivable-table td:nth-child(4) { width: 170px; }
.admin-finance-receivable-table th:nth-child(5),
.admin-finance-receivable-table td:nth-child(5) { width: 150px; }
.admin-finance-receivable-table th:nth-child(6),
.admin-finance-receivable-table td:nth-child(6) { width: 130px; }
.admin-finance-receivable-table th,
.admin-finance-receivable-table td {
  text-align: center;
}
.admin-finance-payable-table {
  width: 1400px;
  border-collapse: separate;
  border-spacing: 5px 0;
  table-layout: fixed;
}
.admin-finance-payable-table th,
.admin-finance-payable-table td {
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-finance-payable-table th:nth-child(1),
.admin-finance-payable-table td:nth-child(1) { width: 190px; }
.admin-finance-payable-table th:nth-child(2),
.admin-finance-payable-table td:nth-child(2) { width: 230px; }
.admin-finance-payable-table th:nth-child(3),
.admin-finance-payable-table td:nth-child(3) { width: 160px; }
.admin-finance-payable-table th:nth-child(4),
.admin-finance-payable-table td:nth-child(4) { width: 135px; }
.admin-finance-payable-table th:nth-child(5),
.admin-finance-payable-table td:nth-child(5) { width: 115px; }
.admin-finance-payable-table th:nth-child(6),
.admin-finance-payable-table td:nth-child(6) { width: 150px; }
.admin-finance-payable-table th:nth-child(7),
.admin-finance-payable-table td:nth-child(7) { width: 420px; }
.admin-finance-payable-table th,
.admin-finance-payable-table td {
  text-align: center;
}
.admin-payable-risk-line {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin-top: 5px;
}
.admin-finance-payable-table .admin-payable-review-form {
  display: grid;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
.admin-payable-review-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(104px, 0.85fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.admin-finance-payable-table .admin-payable-review-form select,
.admin-finance-payable-table .admin-payable-review-form textarea {
  height: 38px;
  min-width: 0;
  width: 100%;
}
.admin-finance-payable-table .admin-payable-review-form textarea {
  min-height: 38px;
  resize: vertical;
}
.admin-finance-payable-table .admin-payable-review-form .btn {
  box-sizing: border-box;
  min-height: 38px;
  width: 100%;
}
.admin-payable-deduction-hint,
.admin-payable-auto-hint {
  box-sizing: border-box;
  margin: 0;
  min-height: 38px;
  min-width: 0;
  display: flex;
  align-items: center;
  color: #8a5a12;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.admin-payable-deduction-hint {
  display: grid;
  align-content: center;
  border-left: 2px solid #f2c879;
  padding-left: 7px;
}
.admin-payable-deduction-hint small {
  color: #9a6c2a;
  font-size: 10px;
  font-weight: 600;
}
.admin-payable-auto-hint {
  color: #718493;
  font-weight: 600;
}
.admin-payable-detail-orders-table {
  min-width: 1180px;
  table-layout: fixed;
}
.admin-payable-detail-orders-table th,
.admin-payable-detail-orders-table td {
  vertical-align: top;
}
.admin-payable-detail-orders-table th:nth-child(1),
.admin-payable-detail-orders-table td:nth-child(1) { width: 150px; }
.admin-payable-detail-orders-table th:nth-child(2),
.admin-payable-detail-orders-table td:nth-child(2) { width: 230px; }
.admin-payable-detail-orders-table th:nth-child(3),
.admin-payable-detail-orders-table td:nth-child(3) { width: 135px; }
.admin-payable-detail-orders-table th:nth-child(4),
.admin-payable-detail-orders-table td:nth-child(4),
.admin-payable-detail-orders-table th:nth-child(5),
.admin-payable-detail-orders-table td:nth-child(5),
.admin-payable-detail-orders-table th:nth-child(6),
.admin-payable-detail-orders-table td:nth-child(6),
.admin-payable-detail-orders-table th:nth-child(7),
.admin-payable-detail-orders-table td:nth-child(7) { width: 110px; }
.admin-payable-detail-orders-table th:nth-child(8),
.admin-payable-detail-orders-table td:nth-child(8) { width: 160px; }
.admin-payable-detail-orders-table th:nth-child(9),
.admin-payable-detail-orders-table td:nth-child(9) {
  width: 85px;
  text-align: center;
}
.admin-payable-detail-orders-table tr.active td {
  background: #f7fbff;
}
.admin-system-log-section {
  opacity: 0.9;
}
.admin-finance-view-btn {
  width: 72px;
  justify-content: center;
}
.admin-finance-date-filter {
  margin: 12px 0 8px;
  align-items: center;
  flex-wrap: wrap;
}
.admin-finance-date-filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  color: #5f7488;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.admin-order-maintenance-form.admin-order-maintenance-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}
.admin-order-maintenance-panel .admin-order-fulfillment-group { grid-column: 1; }
.admin-order-maintenance-panel .admin-order-settlement-group { grid-column: 2; }
.admin-order-maintenance-panel .admin-order-payment-overview,
.admin-order-maintenance-panel .admin-order-maintenance-actions { grid-column: 1 / -1; }
.admin-order-maintenance-panel .admin-order-maintenance-group {
  min-width: 0;
  padding: 13px;
  border: 1px solid #d9e3ec;
  border-radius: 7px;
  background: #fbfdff;
}
.admin-order-maintenance-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}
.admin-order-maintenance-group-head h4 {
  margin: 0;
  color: #203444;
  font-size: 14px;
}
.admin-order-maintenance-group-head p {
  margin: 0;
  color: #6b7f90;
  font-size: 12px;
  line-height: 1.4;
  text-align: right;
}
.admin-order-fulfillment-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(185px, 240px);
  gap: 11px 18px;
  align-items: end;
}
.admin-order-fulfillment-group .admin-order-maintenance-group-head { grid-column: 1 / -1; margin-bottom: 0; }
.admin-order-fulfillment-group .admin-order-status-options { min-height: 36px; }
.admin-order-maintenance-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  gap: 10px;
}
.admin-order-maintenance-field {
  display: grid;
  min-width: 0;
  gap: 5px;
  color: #496174;
  font-size: 12px;
  font-weight: 700;
}
.admin-order-maintenance-field > strong,
.admin-order-credit-field > span {
  display: flex;
  align-items: center;
  min-height: 36px;
  box-sizing: border-box;
  color: #31536b;
}
.admin-order-credit-field > span {
  gap: 6px;
  padding: 7px 8px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #fff;
}
.admin-order-credit-field input { width: auto; margin: 0; }
.admin-order-payment-overview dl {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
.admin-order-payment-overview dl > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #dfe8ef;
  border-radius: 5px;
  background: #fff;
}
.admin-order-payment-overview dt {
  margin: 0 0 4px;
  color: #6b7f90;
  font-size: 11px;
  font-weight: 700;
}
.admin-order-payment-overview dd {
  margin: 0;
  color: #203444;
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.admin-order-maintenance-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 190px));
  justify-content: flex-end;
  gap: 12px;
}
.admin-order-maintenance-actions .btn {
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.admin-order-maintenance-panel .admin-order-submit { min-width: 0; }
.admin-rework-application-panel { max-width: 1320px; }
.admin-rework-application-panel .admin-panel-head p { margin: 4px 0 0; color: #657b8d; }
.admin-rework-case-number { margin-left: 24px; }
.admin-rework-order-snapshot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-rework-order-snapshot dl { margin: 0; }
.admin-rework-application-form { display: grid; gap: 12px; margin-top: 12px; }
.admin-rework-application-form fieldset { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.admin-rework-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-rework-fields label { display: grid; gap: 6px; min-width: 0; color: #496174; font-size: 12px; font-weight: 700; }
.admin-rework-fields .wide { grid-column: 1 / -1; }
.admin-rework-fields textarea { resize: vertical; }
.admin-rework-fields label.wide:has(textarea[name="description"]),
.admin-rework-fields label.wide:has(input[name="evidence_files"]) { grid-column: span 2; }
.admin-rework-evidence-field { grid-template-rows: auto auto auto; align-content: start; }
.admin-rework-evidence-hint { align-self: start; color: #6b7f90; font-size: 12px; font-weight: 400; line-height: 1.45; }
.admin-rework-confirmation-fields { grid-template-columns: minmax(150px, 1fr) minmax(170px, 1fr) minmax(280px, 4fr) max-content; }
.admin-rework-confirmation-fields .admin-rework-checkbox { justify-self: start; align-self: end; }
.admin-rework-financial-fields { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.admin-rework-checkbox { display: flex !important; align-items: center; gap: 8px !important; }
.admin-rework-checkbox input { width: auto; }
.admin-rework-attachments { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-rework-attachments a { padding: 6px 9px; border: 1px solid #d9e3ec; border-radius: 5px; background: #fff; font-size: 12px; overflow-wrap: anywhere; }
.admin-rework-pagination { align-items: center; }
.admin-rework-pagination > span { color: #6b7f90; font-size: 12px; white-space: nowrap; }
.admin-rework-application-actions { display: flex; justify-content: flex-end; gap: 12px; }
.admin-rework-application-actions .btn { min-width: 160px; min-height: 42px; }
.admin-rework-dashboard-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.admin-rework-dashboard-cards > div { display: grid; gap: 7px; min-width: 0; padding: 14px; border: 1px solid #d9e3ec; border-radius: 7px; background: #fbfdff; }
.admin-rework-dashboard-cards span { color: #6b7f90; font-size: 12px; font-weight: 700; }
.admin-rework-dashboard-cards strong { color: #203444; font-size: 25px; line-height: 1; }
.admin-rework-workbench { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.admin-rework-workbench .admin-detail-section { min-width: 0; }
.admin-rework-task-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.admin-rework-task-list li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #edf1f4; }
.admin-rework-task-list li:last-child { border-bottom: 0; }
.admin-rework-task-list a { min-width: 0; overflow-wrap: anywhere; }
.admin-rework-task-list small, .admin-rework-case-table small { display: block; color: #6b7f90; font-size: 11px; line-height: 1.45; }
.admin-rework-filterbar { align-items: end; }
.admin-rework-filterbar input[type="date"] { min-width: 145px; }
.admin-rework-case-actions { min-width: 150px; }
.admin-rework-case-actions .btn { margin-bottom: 5px; }
.admin-rework-action-note { display: block; color: #6b7f90; font-size: 11px; line-height: 1.4; }
.admin-rework-finance-review { display: grid; gap: 13px; margin-top: 12px; }
.admin-rework-finance-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.admin-rework-finance-head h3 { margin-bottom: 4px; }
.admin-rework-finance-head p { margin: 0; color: #6b7f90; font-size: 12px; line-height: 1.45; }
.admin-rework-finance-amounts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.admin-rework-finance-amounts > div { display: grid; gap: 5px; padding: 10px; border: 1px solid #d9e3ec; border-radius: 6px; background: #fff; }
.admin-rework-finance-amounts span { color: #6b7f90; font-size: 11px; font-weight: 700; }
.admin-rework-finance-amounts strong { color: #203444; font-size: 14px; overflow-wrap: anywhere; }
.admin-receivable-aging-share { display: block; width: 100%; height: 5px; margin-top: 5px; overflow: hidden; border-radius: 999px; background: #e6edf3; }
.admin-receivable-aging-share > i { display: block; height: 100%; border-radius: inherit; background: #4e7798; }
.admin-receivable-aging-watch > td { background: #fff8e7; color: #9a6700; }
.admin-receivable-aging-critical > td { background: #fff1f0; color: #b42318; font-weight: 700; }
.admin-receivable-visual-panel { margin-top: 12px; }
.admin-receivable-visual-panel h4 { margin: 0 0 8px; }
.admin-receivable-bar-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.admin-receivable-bar-list li { display: grid; grid-template-columns: minmax(108px, 0.8fr) minmax(120px, 2fr) minmax(100px, auto); gap: 10px; align-items: center; color: #334e63; font-size: 12px; }
.admin-receivable-bar-list li > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.admin-receivable-bar-list li > div { height: 9px; overflow: hidden; border-radius: 999px; background: #e6edf3; }
.admin-receivable-bar-list li > div > i { display: block; height: 100%; border-radius: inherit; background: #4e7798; }
.admin-receivable-bar-list li > strong { color: #203444; text-align: right; white-space: nowrap; }
.admin-receivable-bar-list li > small { grid-column: 2 / -1; color: #6b7f90; text-align: right; }
.admin-rework-finance-form { display: grid; gap: 12px; }
.admin-rework-finance-result { display: grid; gap: 5px; padding: 11px; border-radius: 6px; background: #f2f8fc; color: #203444; }
.admin-rework-finance-result small { color: #6b7f90; }
.admin-rework-timeline { display: grid; gap: 10px; margin-top: 12px; }
.admin-rework-timeline h3 { margin: 0; }
.admin-rework-timeline ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.admin-rework-timeline li { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid #edf1f4; }
.admin-rework-timeline li:last-child { border-bottom: 0; }
.admin-rework-timeline time, .admin-rework-timeline small { color: #6b7f90; font-size: 11px; }
.admin-rework-timeline p { margin: 4px 0; color: #496174; font-size: 12px; line-height: 1.45; }
.admin-rework-execution-panel { display: grid; gap: 13px; margin-top: 12px; }
.admin-rework-execution-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.admin-rework-execution-summary > div { display: grid; gap: 5px; padding: 10px; border: 1px solid #d9e3ec; border-radius: 6px; background: #fff; }
.admin-rework-execution-summary span { color: #6b7f90; font-size: 11px; font-weight: 700; }
.admin-rework-execution-summary strong { color: #203444; font-size: 14px; overflow-wrap: anywhere; }
.admin-rework-execution-form { display: grid; gap: 12px; }
.admin-rework-finance-complete { display: flex; align-items: center; gap: 10px; }
.admin-rework-finance-complete small { color: #6b7f90; font-size: 12px; }
.admin-rework-close-panel, .admin-rework-loss-panel, .admin-rework-statistics { display: grid; gap: 13px; margin-top: 12px; }
.admin-rework-close-form { display: grid; gap: 12px; }
.admin-rework-close-form label { display: grid; gap: 6px; color: #36566d; font-size: 12px; font-weight: 700; }
.admin-rework-loss-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.admin-rework-loss-cards > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #d9e3ec; border-radius: 6px; background: #fff; }
.admin-rework-loss-cards span, .admin-rework-loss-cards small { color: #6b7f90; font-size: 11px; }
.admin-rework-loss-cards strong { color: #203444; font-size: 13px; }
.admin-rework-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-rework-stat-card { min-width: 0; padding: 11px; border: 1px solid #d9e3ec; border-radius: 6px; background: #fff; }
.admin-rework-stat-card h4 { margin: 0 0 9px; color: #203444; font-size: 14px; }
.admin-rework-stat-card .admin-table { min-width: 0; font-size: 12px; }
.admin-rework-stat-card .admin-table th, .admin-rework-stat-card .admin-table td { padding: 7px 6px; }
.admin-order-rework-marker { display: inline-flex; margin-left: 10px; padding: 3px 7px; border: 1px solid #b8d6ea; border-radius: 999px; color: #176c9f; font-size: 11px; font-weight: 700; line-height: 1.2; vertical-align: middle; text-decoration: none; }
.admin-order-rework-marker:hover { background: #eef8fd; }
@media (max-width: 980px) {
  .admin-order-fulfillment-group { grid-template-columns: 1fr; }
  .admin-order-payment-overview dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-rework-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rework-fields label.wide:has(textarea[name="description"]),
  .admin-rework-fields label.wide:has(input[name="evidence_files"]) { grid-column: 1 / -1; }
  .admin-rework-confirmation-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rework-confirmation-fields .admin-rework-confirmation-method { grid-column: 1 / -1; }
  .admin-rework-financial-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rework-dashboard-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-rework-finance-amounts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rework-execution-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rework-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .admin-order-maintenance-form.admin-order-maintenance-panel { grid-template-columns: minmax(0, 1fr); }
  .admin-order-maintenance-panel .admin-order-fulfillment-group,
  .admin-order-maintenance-panel .admin-order-settlement-group,
  .admin-order-maintenance-panel .admin-order-payment-overview,
  .admin-order-maintenance-panel .admin-order-maintenance-actions { grid-column: 1; }
}
@media (max-width: 640px) {
  .admin-order-maintenance-panel .admin-order-maintenance-group { padding: 11px; }
  .admin-order-maintenance-group-head { display: block; }
  .admin-order-maintenance-group-head p { margin-top: 4px; text-align: left; }
  .admin-order-payment-overview dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rework-order-snapshot,
  .admin-rework-fields { grid-template-columns: minmax(0, 1fr); }
  .admin-rework-dashboard-cards,
  .admin-rework-workbench { grid-template-columns: minmax(0, 1fr); }
  .admin-receivable-bar-list li { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-receivable-bar-list li > div { grid-column: 1 / -1; grid-row: 2; }
  .admin-receivable-bar-list li > small { grid-column: 1 / -1; }
  .admin-rework-finance-amounts { grid-template-columns: minmax(0, 1fr); }
  .admin-rework-execution-summary { grid-template-columns: minmax(0, 1fr); }
  .admin-rework-stat-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-rework-finance-complete { align-items: flex-start; flex-direction: column; }
  .admin-rework-timeline li { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .admin-rework-finance-head { display: grid; }
  .admin-rework-task-list li { display: grid; }
  .admin-rework-application-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .admin-rework-application-actions .btn { width: 100%; }
  .admin-order-maintenance-actions {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }
}
.admin-finance-date-filter input[type="date"] {
  flex: 0 0 auto;
  min-width: 150px;
}
.admin-finance-date-filter .admin-finance-search-input {
  flex: 0 1 220px;
  min-width: 180px;
}
.admin-finance-date-filter select {
  flex: 0 0 130px;
  min-width: 130px;
}
.admin-finance-date-filter select[name="finance_payment_status"] {
  flex-basis: 150px;
  min-width: 150px;
}
.admin-finance-date-filter .btn {
  flex: 0 0 auto;
}
.admin-finance-filter-actions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 9px;
  align-items: center;
  white-space: nowrap;
}
.admin-order-filterbar {
  margin: 12px 0 8px;
  align-items: center;
  flex-wrap: nowrap;
}
.admin-order-filterbar label {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  color: #5f7488;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.admin-order-filterbar input[type="date"] {
  flex: 0 0 auto;
  min-width: 150px;
}
.admin-order-filterbar .btn {
  flex: 0 0 auto;
}
.admin-order-filterbar .admin-order-search-input {
  flex: 0 1 360px;
  min-width: 220px;
  max-width: 360px;
}
.admin-order-date-controls {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}
.admin-order-sales-owner-filter {
  flex: 0 0 170px;
  min-width: 170px;
}
@media (max-width: 1320px) {
  .admin-order-filterbar {
    flex-wrap: wrap;
  }
}
.admin-finance-receivable-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}
.admin-payable-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}
.admin-order-receivable-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}
.admin-finance-receivable-stats .admin-stat.active,
.admin-payable-stats .admin-stat.active,
.admin-order-receivable-stats .admin-stat.active {
  border-color: var(--admin-blue);
  background: #f5fbff;
  box-shadow: 0 8px 20px rgba(0, 133, 209, .12);
}
.admin-finance-receivable-summary {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  background: #f8fbfd;
  color: #4d6378;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}
.admin-batch-payment-panel {
  margin: 14px 0;
}
.admin-receivable-pending-review-table {
  min-width: 1180px;
}
.admin-receivable-pending-review-table th,
.admin-receivable-pending-review-table td {
  text-align: center;
  vertical-align: middle;
}
.admin-receivable-pending-review-table td small { text-align: center; }
.admin-receivable-pending-review-table th:nth-child(1),
.admin-receivable-pending-review-table td:nth-child(1) { width: 12%; }
.admin-receivable-pending-review-table th:nth-child(2),
.admin-receivable-pending-review-table td:nth-child(2) { width: 24%; }
.admin-receivable-pending-review-table th:nth-child(3),
.admin-receivable-pending-review-table td:nth-child(3) { width: 14%; }
.admin-receivable-pending-review-table th:nth-child(4),
.admin-receivable-pending-review-table td:nth-child(4) { width: 14%; }
.admin-receivable-pending-review-table th:nth-child(5),
.admin-receivable-pending-review-table td:nth-child(5) { width: 36%; }
.admin-receivable-batch-review-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 96px 96px;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.admin-receivable-batch-review-form input {
  min-width: 0;
  text-align: left;
}
.admin-receivable-batch-review-form .btn {
  width: 100%;
  min-width: 0;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .admin-receivable-pending-review-table { min-width: 760px; }
  .admin-receivable-batch-review-form { grid-template-columns: minmax(160px, 1fr) 86px 86px; }
}
.admin-batch-payment-form {
  gap: 10px;
}
.admin-batch-payment-fields {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
}
.admin-order-batch-payment-fields {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) minmax(80px, .6fr) minmax(140px, 1fr) minmax(160px, 1.15fr) minmax(140px, 1fr);
  gap: 8px;
  min-width: 0;
}
.admin-batch-payment-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-batch-payment-toolbar input,
.admin-batch-payment-toolbar select {
  min-width: 220px;
  flex: 1 1 220px;
}
.admin-batch-payment-toolbar .js-batch-order-input {
  flex-grow: 2;
}
.admin-order-batch-payment-form .admin-batch-payment-toolbar {
  flex-wrap: nowrap;
}
.admin-order-batch-payment-form .admin-batch-payment-toolbar input {
  min-width: 0;
}
.admin-order-batch-payment-form .js-batch-customer-input {
  flex: .55 1 168px;
}
.admin-order-batch-payment-form .js-batch-order-input {
  flex: 1.3 1 320px;
}
.admin-batch-order-picker {
  position: relative;
  min-width: 0;
}
.admin-batch-order-picker .js-batch-order-input {
  width: 100%;
}
.admin-batch-order-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 260px;
  overflow-y: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(15, 35, 55, 0.14);
}
.admin-batch-order-option {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  color: #123047;
  background: #fff;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
}
.admin-batch-order-option:hover,
.admin-batch-order-option:focus {
  background: #eef6fd;
}
.admin-batch-order-option small,
.admin-batch-order-empty {
  color: #708395;
  font-size: 12px;
}
.admin-batch-order-empty {
  padding: 10px;
}
.admin-order-batch-payment-form .admin-batch-payment-toolbar .btn {
  flex: 0 0 auto;
  min-height: 36px;
  margin: 0;
}
.admin-order-batch-payment-form .admin-batch-payment-total {
  flex: 0 0 auto;
  min-width: 200px;
  text-align: center;
  white-space: nowrap;
}
.admin-batch-payment-total {
  margin-left: auto;
  color: #4d6378;
  font-size: 12px;
  font-weight: 700;
}
.admin-batch-allocation-table {
  width: 100%;
  min-width: 760px;
}
.admin-batch-allocation-table input[type="number"] {
  min-width: 90px;
}
.admin-batch-allocation-table .js-batch-remove-order {
  width: 100%;
  justify-content: center;
}
.admin-payable-checklist-table {
  min-width: 1180px;
  table-layout: fixed;
}
.admin-payable-checklist-table th:nth-child(1),
.admin-payable-checklist-table td:nth-child(1) { width: 60px; text-align: center; }
.admin-payable-checklist-table th:nth-child(2),
.admin-payable-checklist-table td:nth-child(2) { width: 180px; }
.admin-payable-checklist-table th:nth-child(3),
.admin-payable-checklist-table td:nth-child(3) { width: 220px; }
.admin-payable-checklist-table th:nth-child(4),
.admin-payable-checklist-table td:nth-child(4),
.admin-payable-checklist-table th:nth-child(5),
.admin-payable-checklist-table td:nth-child(5),
.admin-payable-checklist-table th:nth-child(6),
.admin-payable-checklist-table td:nth-child(6),
.admin-payable-checklist-table th:nth-child(7),
.admin-payable-checklist-table td:nth-child(7) { width: 120px; text-align: center; }
.admin-payable-checklist-table th:nth-child(8),
.admin-payable-checklist-table td:nth-child(8) { width: 240px; }
.admin-order-batch-payment-form {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--admin-line);
}
.admin-order-payment-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: stretch;
}
.admin-order-single-payment-section .admin-order-payment-form {
  margin: 0;
}
.admin-order-receipt-summary {
  align-items: center;
  display: flex;
  gap: 18px;
  min-height: 0;
}
.admin-order-receipt-summary h3 {
  flex: 0 0 auto;
  margin: 0;
  white-space: nowrap;
}
.admin-order-receipt-summary dl {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 0;
}
.admin-order-receipt-summary dt,
.admin-order-receipt-summary dd {
  margin: 0;
}
.admin-order-receipt-summary dd {
  font-size: 14px;
  font-weight: 800;
  margin-right: 10px;
}
.admin-order-single-payment-form {
  display: grid;
  grid-template-columns: minmax(118px, 0.75fr) minmax(110px, 0.75fr) minmax(82px, 0.5fr) minmax(130px, 0.9fr) minmax(150px, 1fr) minmax(130px, 0.9fr) minmax(210px, 1.35fr) minmax(128px, 0.85fr);
  gap: 8px;
}
.admin-order-single-payment-form .admin-order-payment-fields,
.admin-order-single-payment-form .admin-order-payment-side {
  display: contents;
}
.admin-order-single-payment-form input,
.admin-order-single-payment-form select,
.admin-order-single-payment-form textarea,
.admin-order-single-payment-form .btn {
  box-sizing: border-box;
  height: 38px;
  min-width: 0;
  width: 100%;
}
.admin-order-single-payment-form textarea {
  line-height: 1.35;
  min-height: 38px;
  resize: vertical;
}
.admin-order-single-payment-form .admin-order-payment-submit {
  margin: 0;
  min-height: 38px;
}
.admin-order-detail-batch-payment-section .admin-order-batch-payment-form {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.admin-order-detail-batch-fields {
  display: grid;
  grid-template-columns: minmax(190px, 1.35fr) minmax(86px, .55fr) repeat(3, minmax(140px, 1fr));
  gap: 8px;
  min-width: 0;
}
.admin-order-detail-batch-payment-section .admin-batch-allocation-table {
  min-width: 980px;
}
.admin-order-detail-batch-payment-section .admin-batch-payment-form {
  display: grid;
  gap: 12px;
}
.admin-order-detail-batch-payment-section .admin-order-batch-payment-row-primary {
  grid-template-columns: minmax(105px, 0.94fr) minmax(52px, 0.32fr) minmax(78px, 0.45fr) minmax(135px, 0.9fr) minmax(120px, 0.72fr) minmax(260px, 1.94fr);
}
.admin-order-batch-payment-row-secondary {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(220px, 1.45fr) minmax(120px, 0.75fr) minmax(190px, 0.9fr);
  gap: 8px;
  align-items: stretch;
  min-width: 0;
}
.admin-order-batch-payment-row-secondary textarea {
  min-height: 38px;
  resize: vertical;
}
.admin-order-batch-payment-row-secondary input,
.admin-order-batch-payment-row-secondary textarea,
.admin-order-batch-payment-row-secondary .btn,
.admin-order-batch-payment-row-secondary .admin-batch-payment-total {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.admin-order-batch-payment-row-secondary .btn {
  margin: 0;
}
.admin-order-batch-payment-row-secondary .admin-batch-payment-total {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 38px;
  margin-left: 0;
  padding: 7px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #f8fbfd;
}
.admin-order-batch-payment-list-row {
  display: grid;
  gap: 10px;
}
.admin-order-batch-payment-list-row .admin-order-batch-submit {
  justify-self: stretch;
  margin: 0;
}
.admin-internal-production-table { width: max-content; min-width: 0; table-layout: fixed; border-collapse: separate; border-spacing: 5px 0; }
.admin-internal-production-table th,
.admin-internal-production-table td { box-sizing: border-box; padding-left: 0; padding-right: 0; white-space: normal; }
.admin-internal-production-table th:nth-child(1),
.admin-internal-production-table td:nth-child(1) { width: 50px; min-width: 50px; max-width: 50px; }
.admin-internal-production-table th:nth-child(2),
.admin-internal-production-table td:nth-child(2) { width: 150px; min-width: 150px; max-width: 150px; }
.admin-internal-production-table th:nth-child(3),
.admin-internal-production-table td:nth-child(3) { width: 250px; min-width: 250px; max-width: 250px; }
.admin-internal-production-table th:nth-child(4),
.admin-internal-production-table td:nth-child(4) { width: 100px; min-width: 100px; max-width: 100px; }
.admin-internal-production-table th:nth-child(5),
.admin-internal-production-table td:nth-child(5) { width: 100px; min-width: 100px; max-width: 100px; }
.admin-internal-production-table th:nth-child(6),
.admin-internal-production-table td:nth-child(6) { width: 150px; min-width: 150px; max-width: 150px; }
.admin-internal-production-table th:nth-child(7),
.admin-internal-production-table td:nth-child(7) { width: 270px; min-width: 270px; max-width: 270px; }
.admin-internal-production-table th:nth-child(8),
.admin-internal-production-table td:nth-child(8) { width: 150px; min-width: 150px; max-width: 150px; }
.admin-internal-production-table td { overflow: hidden; }
.admin-internal-production-table .admin-file-form { width: 100%; min-width: 0; max-width: 100%; gap: 6px; }
.admin-internal-production-table input,
.admin-internal-production-table select,
.admin-internal-production-table textarea,
.admin-internal-production-table .btn {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
}
.admin-internal-production-table .btn {
  justify-content: center;
  padding: 7px 6px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.admin-internal-production-table .admin-production-status-form {
  grid-template-columns: minmax(116px, 1fr) 122px;
  align-items: center;
}
.admin-internal-production-table .admin-production-status-form .btn {
  white-space: nowrap;
}
.admin-internal-production-table td:nth-child(6) > .btn + .admin-file-form { margin-top: 1px; }
.admin-internal-production-table .admin-completed-at-cell {
  text-align: center;
  white-space: nowrap;
}
.admin-internal-production-table td.admin-production-empty-message {
  width: auto;
  min-width: 0;
  max-width: none;
  padding: 12px 5px;
  overflow: visible;
  text-align: left;
  white-space: nowrap;
}
.admin-workflow-table td:nth-child(-n+5) { text-align: center; }
.admin-quotes-table th,
.admin-quotes-table td {
  text-align: center;
}
.admin-quotes-table { width: 1200px; border-collapse: separate; border-spacing: 5px 0; table-layout: fixed; }
.admin-quotes-table th:nth-child(1),
.admin-quotes-table td:nth-child(1) { width: 48px; }
.admin-quotes-table th:nth-child(2),
.admin-quotes-table td:nth-child(2) { width: 145px; }
.admin-quotes-table th:nth-child(3),
.admin-quotes-table td:nth-child(3) { width: 250px; }
.admin-quotes-table th:nth-child(4),
.admin-quotes-table td:nth-child(4) { width: 90px; }
.admin-quotes-table th:nth-child(5),
.admin-quotes-table td:nth-child(5) { width: 130px; }
.admin-quotes-table th:nth-child(6),
.admin-quotes-table td:nth-child(6) { width: 125px; }
.admin-quotes-table th:nth-child(7),
.admin-quotes-table td:nth-child(7) { width: 328px; }
.admin-quotes-table th,
.admin-quotes-table td {
  box-sizing: border-box;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-quotes-table td:nth-child(1) {
  display: table-cell;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
.admin-quotes-table th:nth-child(1) {
  padding-left: 0;
  padding-right: 0;
}
.admin-quotes-table td:nth-child(7) {
  text-align: center;
  vertical-align: middle;
}
.admin-quotes-table .admin-quote-summary-actions {
  display: grid;
  grid-template-columns: 200px 116px;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.admin-quotes-table .admin-quote-list-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 10px;
  margin: 0;
  text-align: center;
}
.admin-quotes-table .admin-quote-list-summary div {
  min-width: 0;
}
.admin-quotes-table .admin-quote-list-summary .admin-quote-list-lead-time {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  white-space: nowrap;
  color: #6b7d8c;
  font-size: 11px;
  font-weight: 700;
}
.admin-quotes-table .admin-quote-list-summary .admin-quote-list-lead-time strong {
  color: #22384a;
  font-size: 12px;
  font-weight: 800;
}
.admin-quotes-table .admin-quote-list-summary div.wide {
  grid-column: auto;
}
.admin-quotes-table .admin-quote-list-summary dt,
.admin-quotes-table .admin-quote-list-summary dd {
  margin: 0;
}
.admin-quotes-table .admin-quote-list-summary dt {
  color: #6b7d8c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
}
.admin-quotes-table .admin-quote-list-summary dd {
  color: #22384a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.admin-quotes-table .admin-quote-list-summary div.wide dd {
  color: #405568;
  font-weight: 700;
  display: -webkit-box;
  max-width: 100%;
  max-height: 2.5em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-align: center;
}
.admin-quotes-table .admin-quote-view-btn {
  width: 116px;
  justify-content: center;
}
.admin-costing-table { width: 1305px; border-collapse: separate; border-spacing: 5px 0; table-layout: fixed; }
.admin-costing-table th:nth-child(1), .admin-costing-table td:nth-child(1) { width: 100px; }
.admin-costing-table th:nth-child(2), .admin-costing-table td:nth-child(2) { width: 100px; }
.admin-costing-table th:nth-child(3), .admin-costing-table td:nth-child(3) { width: 180px; }
.admin-costing-table th:nth-child(4), .admin-costing-table td:nth-child(4) { width: 150px; }
.admin-costing-table th:nth-child(5), .admin-costing-table td:nth-child(5) { width: 240px; }
.admin-costing-table th:nth-child(6), .admin-costing-table td:nth-child(6),
.admin-costing-table th:nth-child(7), .admin-costing-table td:nth-child(7) { width: 100px; white-space: nowrap; }
.admin-costing-table th:nth-child(8), .admin-costing-table td:nth-child(8) { width: 300px; }
.admin-costing-table td { text-align: center; }
.admin-costing-table th,
.admin-costing-table td {
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 0;
}
.admin-workflow-table td { vertical-align: top; }
.admin-workflow-table thead th { text-align: center; vertical-align: middle; }
.admin-costing-table thead th { height: 58px; padding: 0 12px; line-height: 1.25; }
.admin-workflow-table small, .admin-workflow-table strong { display: block; }
.admin-table .admin-row-number {
  width: 50px;
  min-width: 50px;
  max-width: 50px;
  text-align: center;
  white-space: nowrap;
}
.admin-schedule-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: separate;
  border-spacing: 5px 0;
  table-layout: fixed;
}
.admin-schedule-table th,
.admin-schedule-table td {
  padding-left: 5px;
  padding-right: 5px;
}
.admin-schedule-table th:nth-child(1),
.admin-schedule-table td:nth-child(1) { width: 150px; }
.admin-schedule-table th:nth-child(2),
.admin-schedule-table td:nth-child(2) { width: 130px; }
.admin-schedule-table th:nth-child(3),
.admin-schedule-table td:nth-child(3) { width: 110px; }
.admin-schedule-table th:nth-child(4),
.admin-schedule-table td:nth-child(4) { width: 115px; }
.admin-schedule-table th:nth-child(5),
.admin-schedule-table td:nth-child(5) { width: 375px; }
.admin-schedule-table th:nth-child(6),
.admin-schedule-table td:nth-child(6) { width: 300px; }
.admin-schedule-table th,
.admin-schedule-table td {
  text-align: center;
}
.admin-schedule-table a,
.admin-schedule-table small {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}
.admin-schedule-table td:nth-child(4),
.admin-schedule-table td:nth-child(6) {
  white-space: normal;
}
.admin-schedule-table td:nth-child(6) {
  text-align: right;
}
.admin-schedule-process-cell {
  line-height: 1.35;
  white-space: normal;
}
.admin-schedule-process-cell span {
  display: block;
  overflow-wrap: anywhere;
}
.admin-schedule-process-cell small {
  display: block;
  margin-top: 5px;
}
.admin-costing-table th:last-child { text-align: center; }
.admin-costing-table td:last-child { width: auto; white-space: normal; }
.admin-costing-alert {
  color: #c62828 !important;
  font-weight: 800;
}
.admin-process-advice-cell,
.admin-customer-message-cell { color: #405568; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; white-space: normal; }
.admin-workflow-table .admin-workflow-empty { height: 72px; padding: 0; color: #5c7284; font-weight: 800; text-align: left; vertical-align: middle; }
.admin-workflow-table .admin-workflow-empty span { display: inline-flex; align-items: center; justify-content: center; width: 170px; min-height: 48px; text-align: center; }
.admin-workflow-table .admin-quote-actions { min-width: 430px; max-width: 560px; gap: 6px; }
.admin-quote-view-btn {
  width: 120px;
  min-height: 34px;
  padding: 7px 10px;
  white-space: nowrap;
}
.admin-quote-action-row { display: grid; gap: 6px; align-items: stretch; }
.admin-quote-action-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-quote-costing-row { grid-template-columns: minmax(150px, .9fr) minmax(180px, 1.1fr); }
.admin-quote-button-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-quote-convert-row { grid-template-columns: minmax(150px, 1fr) minmax(110px, auto); }
.admin-quote-actions label { display: grid; gap: 3px; min-width: 0; color: #627584; font-size: 11px; font-weight: 700; }
.admin-quote-actions label span { line-height: 1.1; }
.admin-quote-actions .admin-quote-static-field {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-quote-actions .admin-quote-static-field strong {
  min-height: 32px;
  display: flex;
  align-items: center;
  min-width: 0;
  color: #22384a;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.admin-quote-actions input,
.admin-quote-actions select,
.admin-quote-actions textarea { min-height: 32px; padding: 6px 8px; }
.admin-quote-actions .admin-quote-compact-field input { width: 60%; }
.admin-quote-price-engineer-pair,
.admin-quote-lead-brief-pair {
  display: grid;
  grid-template-columns: minmax(80px, 110px) minmax(0, 1fr);
  gap: 6px;
}
.admin-quote-price-engineer-pair .admin-quote-compact-field input {
  width: 100%;
}
.admin-quote-lead-brief-pair .admin-quote-compact-field input {
  width: 100%;
}
.admin-quote-actions textarea { height: 38px; min-height: 38px; resize: vertical; }
.admin-quote-actions .btn { min-height: 34px; padding: 7px 10px; }
.admin-icon-action { display: inline-grid; width: 28px; height: 28px; place-items: center; border: 1px solid #d5e2ea; border-radius: 4px; color: #405e78; background: #fff; font-size: 14px; }
.admin-icon-action:hover { border-color: var(--admin-blue); color: var(--admin-blue-dark); background: #f5fafc; }
.admin-table-primary-link { display: inline-flex; flex-direction: column; gap: 2px; color: inherit; text-decoration: none; }
.admin-table-primary-link:hover strong { color: var(--admin-blue-dark); text-decoration: underline; }
.admin-lead-detail { scroll-margin-top: 88px; }
.admin-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.admin-lead-context-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.admin-lead-context-grid section { min-width: 0; min-height: 170px; }
.admin-lead-context-grid dl { grid-template-columns: minmax(72px, 82px) minmax(0, 1fr); gap: 8px 10px; }
.admin-overview-business-grid {
  grid-template-columns: 1fr;
}
.admin-db-source-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.admin-db-source-grid section {
  min-width: 0;
  padding: 14px;
  border: 1px solid #edf1f4;
  border-radius: 7px;
  background: #fbfdff;
}
.admin-db-source-grid h3 {
  margin: 0 0 8px;
  color: #718493;
  font-size: 11px;
  font-weight: 700;
}
.admin-db-source-grid p {
  margin: 0;
  color: #243746;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
  word-break: break-word;
}
.admin-order-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-order-control-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.admin-payable-detail-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-order-payment-summary-card dl { align-content: start; }
.admin-order-payment-summary-card dd { font-size: 14px; font-weight: 800; }
.admin-order-payment-actions-grid { grid-template-columns: 1fr; }
.admin-order-payment-section {
  border-color: #cfe0f2;
  background: #f8fbff;
}
.admin-order-payment-section > h3::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 999px;
  background: #0f7fd6;
  vertical-align: 1px;
}
.admin-order-shipment-section {
  border-color: #d5e7dc;
  background: #f9fdfb;
}
.admin-order-shipment-section > h3::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 999px;
  background: #238a57;
  vertical-align: 1px;
}
.admin-order-action-hint {
  grid-column: 1 / -1;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #f1d2a8;
  border-radius: 6px;
  background: #fffaf2;
  color: #8a5a12;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.admin-detail-grid section > .admin-order-action-hint {
  margin-top: 12px;
}
.admin-order-shipment-form > .admin-order-action-hint {
  margin-bottom: 0;
}
.admin-order-aligned-table {
  width: 100%;
  table-layout: fixed;
}
.admin-order-aligned-table th,
.admin-order-aligned-table td {
  box-sizing: border-box;
  overflow-wrap: anywhere;
  text-align: center;
  vertical-align: middle;
}
.admin-order-aligned-table th:nth-child(1),
.admin-order-aligned-table td:nth-child(1) { width: 22%; }
.admin-detail-section .admin-order-aligned-table th:nth-child(1),
.admin-detail-section .admin-order-aligned-table td:nth-child(1) {
  display: table-cell;
  justify-items: center;
  text-align: center;
}
.admin-order-aligned-table th:nth-child(2),
.admin-order-aligned-table td:nth-child(2) { width: 14%; text-align: center; }
.admin-order-aligned-table th:nth-child(3),
.admin-order-aligned-table td:nth-child(3) { width: 20%; text-align: center; }
.admin-order-aligned-table th:nth-child(4),
.admin-order-aligned-table td:nth-child(4) { width: 20%; text-align: center; }
.admin-order-aligned-table th:nth-child(5),
.admin-order-aligned-table td:nth-child(5) { width: 24%; }
.admin-payable-ledger-table {
  width: 100%;
  table-layout: fixed;
}
.admin-payable-ledger-table th,
.admin-payable-ledger-table td {
  box-sizing: border-box;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-payable-ledger-table th:nth-child(1),
.admin-payable-ledger-table td:nth-child(1) {
  display: table-cell;
  width: 40%;
  text-align: left;
}
.admin-payable-ledger-table th:nth-child(2),
.admin-payable-ledger-table td:nth-child(2) {
  width: 14%;
  text-align: left;
}
.admin-payable-ledger-table th:nth-child(3),
.admin-payable-ledger-table td:nth-child(3),
.admin-payable-ledger-table th:nth-child(4),
.admin-payable-ledger-table td:nth-child(4) {
  width: 16%;
  text-align: left;
}
.admin-payable-ledger-table th:nth-child(5),
.admin-payable-ledger-table td:nth-child(5) {
  width: 14%;
  text-align: left;
}
.admin-payable-ledger-table small {
  display: block;
  margin-top: 3px;
}
.admin-payable-action-table {
  border-collapse: separate;
  border-spacing: 10px 0;
  min-width: 0;
  width: max-content;
}
.admin-payable-action-table th,
.admin-payable-action-table td {
  text-align: center;
}
.admin-payable-ledger-table.admin-payable-action-table th,
.admin-payable-ledger-table.admin-payable-action-table td {
  text-align: center;
}
.admin-payable-action-table th:nth-child(1),
.admin-payable-action-table td:nth-child(1) {
  width: 150px;
}
.admin-payable-action-table th:nth-child(2),
.admin-payable-action-table td:nth-child(2) {
  width: 180px;
}
.admin-payable-action-table th:nth-child(3),
.admin-payable-action-table td:nth-child(3) {
  width: 170px;
}
.admin-payable-action-table th:nth-child(4),
.admin-payable-action-table td:nth-child(4) {
  width: 120px;
}
.admin-payable-action-table th:nth-child(5),
.admin-payable-action-table td:nth-child(5) {
  width: 360px;
}
.admin-payable-action-table th:nth-child(6),
.admin-payable-action-table td:nth-child(6) {
  width: 430px;
}
.admin-payable-invoice-fields,
.admin-payable-detail-review-form,
.admin-payable-detail-line-payment-form,
.admin-payable-detail-invoice-form {
  display: grid;
  gap: 7px;
  min-width: 0;
  width: 100%;
}
.admin-payable-review-table {
  min-width: 1560px;
  table-layout: fixed;
}
.admin-payable-review-table th,
.admin-payable-review-table td {
  vertical-align: top;
  white-space: normal;
}
.admin-payable-review-table th:nth-child(1),
.admin-payable-review-table td:nth-child(1) { width: 150px; }
.admin-payable-review-table th:nth-child(2),
.admin-payable-review-table td:nth-child(2) { width: 150px; }
.admin-payable-review-table th:nth-child(3),
.admin-payable-review-table td:nth-child(3) { width: 120px; }
.admin-payable-review-table th:nth-child(4),
.admin-payable-review-table td:nth-child(4) { width: 140px; }
.admin-payable-review-table th:nth-child(5),
.admin-payable-review-table td:nth-child(5) { width: 300px; }
.admin-payable-review-table th:nth-child(6),
.admin-payable-review-table td:nth-child(6) { width: 320px; }
.admin-payable-review-table th:nth-child(7),
.admin-payable-review-table td:nth-child(7) { width: 380px; }
.admin-payable-review-table strong,
.admin-payable-review-table small {
  display: block;
}
.admin-payable-review-table small {
  margin-top: 3px;
  line-height: 1.35;
}
.admin-payable-invoice-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-payable-detail-review-form {
  grid-template-columns: minmax(0, 1fr) 136px;
  grid-template-areas:
    "status save"
    "notes notes"
    "deduction deduction"
    "paid-note paid-note";
  gap: 6px;
}
.admin-payable-detail-line-payment-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-payable-detail-invoice-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-payable-invoice-fields input,
.admin-payable-invoice-fields select,
.admin-payable-invoice-fields textarea,
.admin-payable-detail-review-form input,
.admin-payable-detail-review-form select,
.admin-payable-detail-review-form textarea,
.admin-payable-detail-line-payment-form input,
.admin-payable-detail-line-payment-form select,
.admin-payable-detail-line-payment-form textarea,
.admin-payable-detail-invoice-form input,
.admin-payable-detail-invoice-form select,
.admin-payable-detail-invoice-form textarea {
  box-sizing: border-box;
  height: 32px;
  line-height: 1.35;
  min-width: 0;
  width: 100%;
}
.admin-payable-invoice-fields .admin-checkbox-row,
.admin-payable-detail-invoice-form .admin-checkbox-row {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
  min-height: 32px;
}
.admin-payable-invoice-fields .admin-checkbox-row input,
.admin-payable-detail-invoice-form .admin-checkbox-row input {
  flex: 0 0 auto;
  width: auto;
}
.admin-payable-invoice-fields textarea,
.admin-payable-detail-review-form textarea,
.admin-payable-detail-invoice-form textarea {
  min-height: 32px;
  resize: vertical;
}
.admin-payable-detail-review-form .admin-order-action-hint,
.admin-payable-detail-line-payment-form .admin-order-action-hint,
.admin-payable-detail-review-form .admin-checkbox-row {
  grid-column: 1 / -1;
}
.admin-payable-detail-line-payment-form input[name="notes"] {
  grid-column: 1 / -1;
}
.admin-payable-payment-action-row {
  align-items: stretch;
  display: grid;
  gap: 8px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) 112px;
}
.admin-payable-payment-action-row .admin-order-action-hint {
  align-items: center;
  display: flex;
  grid-column: auto;
  margin: 0;
  min-height: 36px;
}
.admin-payable-payment-action-row .btn {
  grid-column: auto;
  min-height: 36px;
  padding-left: 12px;
  padding-right: 12px;
  width: 100%;
}
.admin-payable-detail-line-payment-form .btn:disabled {
  background: #d6dee6;
  border-color: #d6dee6;
  color: #6d7d8b;
  cursor: not-allowed;
}
.admin-payable-detail-review-form textarea {
  grid-column: 1 / -1;
}
.admin-payable-detail-review-form .admin-checkbox-row {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  min-height: 32px;
  white-space: normal;
}
.admin-payable-detail-review-form .admin-checkbox-row input {
  flex: 0 0 auto;
  width: auto;
}
.admin-payable-detail-review-form .btn,
.admin-payable-detail-line-payment-form .btn,
.admin-payable-detail-invoice-form .btn {
  grid-column: 1 / -1;
  width: 100%;
}
.admin-payable-detail-review-form select[name="finance_review_status"] {
  grid-area: status;
}
.admin-payable-detail-review-form textarea[name="review_notes"] {
  grid-area: notes;
  min-height: 38px;
}
.admin-payable-detail-review-form .btn[type="submit"] {
  grid-area: save;
  align-self: stretch;
}
.admin-payable-detail-review-form .admin-order-action-hint:nth-of-type(1) {
  grid-area: deduction;
  min-height: 0;
  padding: 5px 8px;
  font-size: 11px;
  line-height: 1.3;
}
.admin-payable-detail-review-form .admin-order-action-hint:nth-of-type(2) {
  grid-area: paid-note;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #718493;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
}
.admin-payable-detail-line-payment-form .admin-payable-payment-action-row .btn {
  grid-column: auto;
  width: 100%;
}
@media (max-width: 760px) {
  .admin-payable-detail-review-form,
  .admin-payable-detail-line-payment-form,
  .admin-payable-detail-invoice-form {
    grid-template-columns: 1fr;
  }
  .admin-payable-detail-review-form {
    grid-template-areas:
      "status"
      "save"
      "notes"
      "deduction"
      "paid-note";
  }
  .admin-payable-payment-action-row {
    grid-template-columns: 1fr;
  }
}
.admin-detail-grid section, .admin-detail-section { padding: 14px; border: 1px solid #edf1f4; border-radius: 7px; background: #fbfdff; }
.admin-detail-grid h3, .admin-detail-section h3 { margin: 0 0 10px; color: #203444; font-size: 14px; }
.admin-detail-grid dl { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px 12px; margin: 0; }
.admin-detail-grid dt { color: #718493; font-size: 11px; font-weight: 700; }
.admin-detail-grid dd { min-width: 0; margin: 0; color: #243746; line-height: 1.5; white-space: normal; word-break: break-word; }
.admin-quote-detail-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.admin-quote-detail-summary-grid section {
  min-width: 0;
  min-height: 230px;
}
.admin-quote-detail-summary-grid dl {
  grid-template-columns: minmax(72px, 112px) minmax(0, 1fr);
  gap: 8px 10px;
}
.admin-quote-detail-summary-grid dd,
.admin-quote-detail-summary-grid a {
  overflow-wrap: anywhere;
}
.admin-quote-link-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.admin-quote-link-grid section {
  min-width: 0;
}
.admin-quote-link-grid dl {
  grid-template-columns: minmax(72px, 112px) minmax(0, 1fr);
  gap: 8px 10px;
}
.admin-quote-link-grid dd,
.admin-quote-link-grid a {
  overflow-wrap: anywhere;
}
.admin-payable-receipt-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 10px;
  margin: 0;
}
.admin-payable-receipt-list dt,
.admin-payable-receipt-list dd {
  margin: 0;
  min-width: 0;
}
.admin-payable-receipt-list dt {
  grid-row: 1;
  align-self: end;
  color: #718493;
  font-size: 11px;
  font-weight: 800;
}
.admin-payable-receipt-list dd {
  grid-row: 2;
  color: #203444;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: normal;
}
.admin-payable-receipt-list dt:nth-of-type(1),
.admin-payable-receipt-list dd:nth-of-type(1) { grid-column: 1; }
.admin-payable-receipt-list dt:nth-of-type(2),
.admin-payable-receipt-list dd:nth-of-type(2) { grid-column: 2; }
.admin-payable-receipt-list dt:nth-of-type(3),
.admin-payable-receipt-list dd:nth-of-type(3) { grid-column: 3; }
.admin-payable-receipt-list dt:nth-of-type(4),
.admin-payable-receipt-list dd:nth-of-type(4) { grid-column: 4; }
.admin-payable-receipt-list dt:nth-of-type(5),
.admin-payable-receipt-list dd:nth-of-type(5) { grid-column: 5; }
.admin-payable-receipt-list dt:nth-of-type(6),
.admin-payable-receipt-list dd:nth-of-type(6) { grid-column: 6; }
.admin-customer-detail-summary-grid,
.admin-trash-actions + .admin-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.admin-customer-detail-summary-grid section,
.admin-trash-actions + .admin-detail-grid section {
  min-width: 0;
  min-height: 220px;
}
.admin-customer-detail-summary-grid section:nth-child(4),
.admin-trash-actions + .admin-detail-grid section:nth-child(4) {
  order: 5;
}
.admin-customer-detail-summary-grid section:nth-child(5),
.admin-trash-actions + .admin-detail-grid section:nth-child(5) {
  order: 4;
}
.admin-customer-detail-summary-grid section:nth-child(6),
.admin-trash-actions + .admin-detail-grid section:nth-child(6) {
  order: 6;
}
.admin-customer-detail-summary-grid dl,
.admin-trash-actions + .admin-detail-grid dl {
  grid-template-columns: minmax(70px, 86px) minmax(0, 1fr);
  gap: 8px 10px;
}
.admin-customer-portal-card-form {
  min-width: 0;
  margin-top: 12px;
}
.admin-customer-portal-card-form .btn {
  width: 100%;
  justify-content: center;
}
.admin-customer-detail-summary-grid dd,
.admin-customer-detail-summary-grid a,
.admin-trash-actions + .admin-detail-grid dd,
.admin-trash-actions + .admin-detail-grid a {
  overflow-wrap: anywhere;
}
.admin-section-title-row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.admin-section-title-row h3 {
  margin: 0;
}
.admin-customer-business-year-form {
  margin: 0;
}
.admin-customer-business-year-form select {
  min-width: 92px;
  padding: 7px 28px 7px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  background: #fff;
  color: var(--admin-text);
  font: inherit;
  font-size: 13px;
}
.admin-customer-business-table-wrap {
  margin-top: 0;
}
.admin-customer-business-table {
  min-width: 1080px;
  table-layout: fixed;
}
.admin-customer-business-table th,
.admin-customer-business-table td {
  text-align: center;
  vertical-align: middle;
}
.admin-customer-business-table th:first-child,
.admin-customer-business-table td:first-child {
  width: 110px;
  text-align: left;
}
.admin-customer-business-table th:last-child,
.admin-customer-business-table td:last-child {
  width: 120px;
  background: #f7fbff;
}
.admin-customer-business-table td.is-empty {
  color: #9aabba;
}
.admin-customer-portal-summary {
  display: grid;
  grid-template-columns: 96px minmax(110px, 180px) 54px minmax(0, 1fr);
  gap: 8px 14px;
  align-items: center;
  margin: 0 0 12px;
}
.admin-customer-portal-summary dt,
.admin-customer-portal-summary dd {
  margin: 0;
}
.admin-customer-portal-summary dt {
  color: #526b7d;
  font-size: 13px;
  font-weight: 700;
}
.admin-customer-portal-summary dd {
  color: var(--admin-text);
  line-height: 1.45;
}
.admin-customer-temporary-password-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.admin-customer-temporary-password-row form {
  margin: 0;
}
.admin-customer-temporary-password-row form .btn {
  width: 100%;
  height: 100%;
}
.admin-customer-temporary-password-box {
  display: flex;
  min-width: 0;
  min-height: 38px;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  background: #fff;
}
.admin-customer-temporary-password-box span {
  flex: 0 0 auto;
  color: #526b7d;
  font-size: 12px;
  font-weight: 800;
}
.admin-customer-temporary-password-box strong {
  flex: 0 1 auto;
  min-width: 0;
  color: #203444;
  font-family: Consolas, "Liberation Mono", monospace;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.admin-customer-temporary-password-box small {
  min-width: 0;
  color: #718493;
  font-size: 12px;
  line-height: 1.35;
}
.admin-customer-temporary-password-box .btn {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 30px;
  padding: 5px 12px;
}
.admin-customer-temporary-password-box.has-password {
  border-color: #9fc8e8;
  background: #f7fbff;
}
.admin-quote-detail-table {
  table-layout: fixed;
  min-width: 880px;
}
.admin-quote-detail-table th:nth-child(1),
.admin-quote-detail-table td:nth-child(1) { width: 30%; }
.admin-quote-detail-table th:nth-child(2),
.admin-quote-detail-table td:nth-child(2) { width: 24%; }
.admin-quote-detail-table th:nth-child(3),
.admin-quote-detail-table td:nth-child(3) { width: 18%; }
.admin-quote-detail-table th:nth-child(4),
.admin-quote-detail-table td:nth-child(4) { width: 28%; }
.admin-quote-detail-table th,
.admin-quote-detail-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}
.admin-quote-detail-table.admin-quote-files-table td {
  padding-top: 6px;
  padding-bottom: 6px;
  vertical-align: middle;
}
.admin-quote-detail-table.admin-quote-files-table td:first-child {
  display: table-cell;
}
.admin-quote-detail-table small {
  display: block;
  margin-top: 3px;
}
.admin-order-summary-grid dl {
  grid-template-columns: minmax(92px, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
}
dl.admin-order-summary-grid {
  display: grid;
  grid-template-columns: minmax(92px, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
  margin: 0;
}
.admin-order-summary-grid dt,
.admin-order-summary-grid dd {
  display: flex;
  align-items: center;
  min-height: 24px;
  line-height: 1.25;
}
.admin-order-summary-grid dd {
  font-size: 13px;
}
.admin-document-shell { background: #f8fbfd; }
.admin-production-document {
  max-width: 1100px;
  margin: 0 auto;
  padding: 26px;
  border: 1px solid #dbe6ee;
  border-radius: 8px;
  background: #fff;
  color: #203444;
}
.admin-document-header {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: start;
  padding-bottom: 18px;
  border-bottom: 2px solid #203444;
}
.admin-document-header p {
  margin: 0 0 5px;
  color: #6d8192;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
.admin-document-header h1 { margin: 0; font-size: 28px; color: #10283a; letter-spacing: 0; }
.admin-document-header dl {
  display: grid;
  grid-template-columns: max-content minmax(150px, 1fr);
  gap: 7px 12px;
  min-width: 280px;
  margin: 0;
}
.admin-document-header dt,
.admin-document-grid dt { color: #65798a; font-size: 11px; font-weight: 800; }
.admin-document-header dd,
.admin-document-grid dd { margin: 0; color: #172d40; line-height: 1.45; word-break: break-word; }
.admin-document-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.admin-document-grid section,
.admin-document-block {
  padding: 14px;
  border: 1px solid #e4edf3;
  border-radius: 7px;
  background: #fbfdff;
}
.admin-document-grid h3,
.admin-document-block h3 { margin: 0 0 10px; color: #10283a; font-size: 14px; }
.admin-document-grid dl { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 8px 10px; margin: 0; }
.admin-document-block { margin-top: 12px; }
.admin-document-block p { margin: 0 0 8px; line-height: 1.65; white-space: pre-wrap; }
.admin-document-signatures {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.admin-document-signatures span {
  min-height: 54px;
  padding-top: 12px;
  border-top: 1px solid #9dafbd;
  color: #405668;
  font-size: 12px;
}
.admin-instruction-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #dce7ef;
  border-radius: 7px;
  background: #f8fbfd;
  color: #405668;
  font-size: 13px;
}
.admin-status-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e7f3ff;
  color: #0b5f9e;
  font-weight: 800;
}
.admin-source-template-row {
  display: grid;
  grid-template-columns: max-content minmax(260px, 1fr) minmax(180px, .45fr) minmax(180px, .45fr);
  gap: 8px;
  align-items: center;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #dce7ef;
  border-radius: 7px;
  background: #fff;
}
.admin-source-template-label {
  color: #102f47;
  font-size: 13px;
  font-weight: 900;
}
.admin-source-template-row .btn {
  width: 100%;
  margin: 0;
  justify-content: center;
}
@media (max-width: 900px) {
  .admin-source-template-row { grid-template-columns: 1fr; }
  .admin-excel-flow-grid { grid-template-columns: 1fr; }
}
.admin-instruction-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: 14px;
  margin-top: 14px;
}
.admin-outsource-execution-confirmation { margin-top: 14px; }
.admin-outsource-execution-layout { display: grid; grid-template-columns: 1.15fr 1.15fr 1.15fr .8fr .8fr .95fr; gap: 10px; align-items: end; }
.admin-outsource-execution-form, .admin-outsource-payment-workbench-form { display: contents; }
.admin-outsource-execution-layout label { display: grid; gap: 5px; min-width: 0; color: #405668; font-size: 12px; font-weight: 800; }
.admin-outsource-execution-layout input, .admin-outsource-execution-layout select, .admin-outsource-execution-layout output { width: 100%; box-sizing: border-box; margin: 0; }
.admin-outsource-execution-layout output { min-height: 40px; padding: 10px 12px; border: 1px solid #dce7ef; border-radius: 6px; background: #f8fbfd; color: #203444; }
.finance-field { grid-row: 2; }
.execution-note { grid-row: 3; grid-column: 1 / span 2; }
.payment-reason { grid-row: 3; grid-column: 3 / span 2; }
.execution-save { grid-row: 3; grid-column: 5 / span 1; }
.payment-request-save { grid-row: 3; grid-column: 6 / span 1; }
.admin-outsource-payment-request-list { margin-top: 14px; }
.admin-outsource-payment-request-list small { display: block; margin-top: 4px; color: #65798a; }
.admin-outsource-deduction-workbench { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e3edf3; }
.admin-outsource-deduction-workbench h4 { margin: 0 0 5px; color: #183d59; }
.admin-outsource-deduction-workbench > p { margin: 0 0 10px; color: #65798a; font-size: 13px; }
.admin-outsource-deduction-form { display: grid; grid-template-columns: 1.25fr .85fr .9fr 1.35fr; gap: 10px; align-items: end; margin-bottom: 12px; }
.admin-outsource-deduction-form label { display: grid; gap: 5px; color: #405668; font-size: 12px; font-weight: 800; }
.admin-outsource-deduction-form input, .admin-outsource-deduction-form select, .admin-outsource-deduction-form textarea { width: 100%; box-sizing: border-box; margin: 0; }
.admin-outsource-deduction-description { grid-column: span 3; }
.admin-outsource-deduction-actions { display: flex; gap: 8px; }
.admin-outsource-deduction-actions .btn { flex: 1; justify-content: center; }
.admin-outsource-deduction-workbench small { display: block; margin-top: 4px; color: #65798a; }
.admin-outsource-deduction-review-form { display: grid; gap: 7px; min-width: 210px; }
.admin-outsource-deduction-review-form input, .admin-outsource-deduction-review-form textarea { width: 100%; box-sizing: border-box; }
.admin-outsource-deduction-review-form > div { display: flex; gap: 7px; }
.admin-outsource-deduction-review-form .btn { flex: 1; justify-content: center; }
.admin-outsource-execution-layout .btn { width: 100%; margin: 0; justify-content: center; }
@media (max-width: 1180px) {
  .admin-outsource-execution-layout { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .finance-field { grid-row: auto; }
  .execution-note, .execution-save, .payment-request-save, .payment-reason { grid-row: auto; grid-column: auto; }
  .admin-outsource-deduction-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-outsource-deduction-description { grid-column: span 2; }
}
@media (max-width: 900px) { .admin-outsource-execution-layout { grid-template-columns: 1fr; } }
.admin-excel-flow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}
.admin-excel-flow-main,
.admin-export-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
}
.admin-excel-flow-main h3,
.admin-export-card h3 {
  margin: 0 0 8px;
}
.admin-instruction-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.admin-instruction-actions .btn,
.admin-instruction-upload-form .btn,
.admin-instruction-confirm-form .btn,
.admin-excel-flow-main .btn,
.admin-export-card .btn { width: 100%; margin: 0; justify-content: center; }
.admin-instruction-upload-form,
.admin-instruction-confirm-form { margin-top: 10px; }
.admin-instruction-upload-form {
  display: grid;
  gap: 10px;
}
.admin-instruction-upload-form input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}
.admin-instruction-pair-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.admin-instruction-pair-row .btn:only-child { grid-column: 1 / -1; }
.admin-archive-downloads {
  display: grid;
  gap: 10px;
  margin-top: 2px;
  padding-top: 12px;
  border-top: 1px dashed #dce7ef;
}
.admin-archive-downloads h4 {
  margin: 0 0 8px;
  color: #102f47;
  font-size: 14px;
  font-weight: 900;
}
.admin-production-archive-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-production-archive-actions h4 {
  grid-column: 1 / -1;
}
.admin-production-archive-actions .btn {
  width: 100%;
  margin: 0;
  justify-content: center;
}
.admin-production-confirm-archive {
  grid-column: 1;
  grid-row: 2;
}
.admin-production-download-final {
  grid-column: 2;
  grid-row: 2;
}
.admin-export-card {
  border: 1px solid #dce7ef;
  border-radius: 7px;
  background: #f8fbfd;
}
.admin-export-card .btn {
  min-height: 46px;
}
.admin-export-card small {
  display: block;
  margin-top: -4px;
  color: #8a5200;
  font-size: 12px;
  line-height: 1.4;
}
.btn.is-disabled {
  border-color: #d8e2ea;
  background: #f3f7fa;
  color: #8da0af;
  cursor: not-allowed;
  pointer-events: none;
}
.admin-xlsx-preview {
  max-width: 100%;
  overflow: auto;
  background: #fff;
}
.admin-xlsx-preview table {
  width: max-content;
  min-width: 980px;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #111;
  background: #fff;
}
.admin-xlsx-preview td {
  box-sizing: border-box;
  height: 32px;
  padding: 5px 8px;
  border: 1px solid #111;
  color: #000;
  font-family: "Times New Roman", SimSun, serif;
  font-size: 15px;
  line-height: 1.35;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  vertical-align: middle;
  text-align: center;
}
.admin-xlsx-preview td.is-title {
  background: #fff;
  font-size: 26px;
  font-weight: 700;
  text-align: center;
}
.admin-xlsx-preview td.is-label {
  background: #efefef;
  font-weight: 700;
}
.admin-xlsx-preview td.is-left { text-align: left; }
.admin-excel-preview-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 12px;
  margin-bottom: 5px;
}
.admin-excel-preview-heading h3 { margin: 0; }
.admin-excel-preview-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-excel-preview-actions > .btn,
.admin-excel-preview-actions > button,
.admin-excel-preview-actions > a {
  box-sizing: border-box;
  width: 120px;
  min-width: 120px;
  height: 34px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 10px;
  white-space: nowrap;
}
.admin-xlsx-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.admin-xlsx-edit-preview input,
.admin-xlsx-edit-preview textarea {
  width: 100%;
  min-height: 30px;
  border: 1px solid transparent;
  background: #fff;
  color: #000;
  font: inherit;
  text-align: center;
  resize: vertical;
}
.admin-xlsx-edit-preview textarea {
  line-height: 1.35;
}
.admin-xlsx-edit-preview input:focus,
.admin-xlsx-edit-preview textarea:focus {
  border-color: #2f80ed;
  outline: 2px solid rgba(47, 128, 237, 0.16);
}
.admin-xlsx-edit-preview input:disabled,
.admin-xlsx-edit-preview textarea:disabled {
  color: #000;
  background: transparent;
}
.admin-xlsx-edit-preview input[readonly],
.admin-xlsx-edit-preview textarea[readonly] {
  color: #1d2a36;
  background: #fff;
  cursor: default;
}
.admin-xlsx-edit-preview.is-editing input[data-editable-cell],
.admin-xlsx-edit-preview.is-editing textarea[data-editable-cell] {
  background: #fff;
  cursor: text;
}
.admin-production-sheet-standard {
  min-width: 1180px;
}
.admin-production-sheet-standard td {
  height: 40px;
}
.admin-production-sheet-standard .admin-production-note-row td {
  height: 104px;
}
.admin-production-sheet-standard .admin-production-sign-row td {
  height: 72px;
}
.admin-production-sheet-standard .admin-production-approval-row td {
  height: 82px;
}
.admin-production-sheet-standard .admin-production-image-row td {
  height: 300px;
}
.admin-production-images { min-height: 280px; position: relative; }
.admin-production-images textarea { min-height: 88px; }
.admin-production-image-tools { align-items: center; gap: 10px; margin: 8px 0; color: #64748b; font-size: 12px; }
.admin-xlsx-edit-preview.is-editing .admin-production-image-tools { display: flex; }
.admin-production-image-gallery { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.admin-production-image-gallery figure { margin: 0; width: 132px; position: relative; }
.admin-production-image-gallery img { display: block; width: 132px; height: 100px; object-fit: cover; border: 1px solid #cbd5e1; border-radius: 4px; }
.admin-production-image-gallery figcaption { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; font-size: 11px; line-height: 20px; }
.admin-xlsx-edit-preview.is-editing .admin-production-image-gallery .js-production-image-delete { display: inline-flex; padding: 3px 7px; font-size: 11px; }
.admin-production-sheet-standard textarea {
  min-height: 100%;
}
.admin-production-sheet-standard .admin-print-checklist {
  display: inline-block;
  color: #000;
  font: inherit;
  line-height: 1.45;
  text-align: center;
  white-space: nowrap;
}
.admin-production-sheet-standard .admin-print-checklist-multi {
  white-space: nowrap;
}
.admin-production-sheet-standard .admin-post-process-checklist {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: center;
  column-gap: 10px;
  row-gap: 10px;
  text-align: left;
  white-space: nowrap;
}

.admin-production-sheet-standard .admin-surface-process-checklist {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: center;
  column-gap: 10px;
  row-gap: 10px;
  text-align: left;
  white-space: nowrap;
}
.admin-outsource-sheet-edit td {
  height: 32px;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 1.2;
}
.admin-outsource-sheet-edit tr.admin-xlsx-compact-row {
  height: 44px !important;
  max-height: 44px !important;
}
.admin-outsource-sheet-edit tr.admin-xlsx-compact-row > td {
  height: 44px !important;
  max-height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden;
  vertical-align: middle;
  white-space: normal !important;
}
.admin-outsource-sheet-edit td.is-title {
  height: 42px;
  padding-top: 5px;
  padding-bottom: 5px;
}
.admin-outsource-sheet-edit .admin-xlsx-label-wrap {
  display: inline-block;
  line-height: 1.22;
  white-space: normal;
}
.admin-outsource-sheet-edit textarea {
  min-height: 42px;
  text-align: left;
}
.admin-outsource-sheet-edit td > input,
.admin-outsource-sheet-edit td > textarea {
  box-sizing: border-box;
  margin: -2px 0;
  padding: 3px 4px;
}
.admin-outsource-sheet-edit td > input:hover,
.admin-outsource-sheet-edit td > textarea:hover {
  border-color: #c8d8e6;
}
.admin-outsource-sheet-edit input {
  display: block;
  min-height: 28px;
  height: 28px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  resize: none;
}
.admin-outsource-sheet-edit input[type="hidden"],
.admin-outsource-sheet-edit datalist {
  display: none;
}
.admin-outsource-sheet-edit [data-supplier-picker] {
  height: 28px;
  min-height: 28px;
  max-height: 28px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 28px;
  text-overflow: ellipsis;
}
.admin-xlsx-edit-preview output {
  display: block;
  min-height: 30px;
  line-height: 30px;
  font-weight: 700;
}
.admin-xlsx-line-index {
  position: relative;
}
.admin-xlsx-line-remove {
  position: absolute;
  right: 4px;
  top: 4px;
  width: 22px;
  height: 22px;
  border: 1px solid #d0d8df;
  border-radius: 4px;
  background: #fff;
  color: #6c7a86;
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 18px;
  cursor: pointer;
}
.admin-xlsx-line-remove:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.admin-xlsx-add-line {
  min-height: 30px;
  padding: 4px 12px;
}
.admin-xlsx-add-line-row td {
  padding: 2px;
  background: #fff;
}
.admin-xlsx-add-line {
  display: block;
  width: 100%;
  border: 0;
  background: #fff;
  color: #167c55;
  font-size: 24px;
  font-weight: 700;
  line-height: 24px;
  cursor: pointer;
}
.admin-xlsx-add-line:hover,
.admin-xlsx-add-line:focus-visible {
  background: #eef9f3;
  outline: 2px solid #36a269;
  outline-offset: -2px;
}
.admin-outsource-sheet-edit .admin-xlsx-line-number {
  min-width: 56px;
}
.admin-version-file-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.admin-warning-text { color: #9a4b00; }
.admin-detail-stack + .admin-detail-stack { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #dce5eb; }
.admin-detail-section { margin-top: 14px; }
.admin-quote-maintenance-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-quote-maintenance-split.single {
  grid-template-columns: 1fr;
}
.admin-quote-maintenance-card {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 12px;
  border: 1px solid #edf1f4;
  border-radius: 7px;
  background: #fff;
}
.admin-quote-maintenance-card h4 {
  margin: 0;
  color: #203444;
  font-size: 14px;
}
.admin-quote-restricted-card {
  min-height: 250px;
  background: #f9fbfc;
}
.admin-quote-restricted-card p {
  margin: 0;
  padding: 10px 0;
  color: #718493;
  font-size: 13px;
  font-weight: 700;
}
.admin-quote-maintenance-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: baseline;
  gap: 0 12px;
  margin: 0;
}
.admin-quote-maintenance-summary > div {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.admin-quote-maintenance-summary span {
  flex: 0 0 auto;
  color: #718493;
  font-size: 11px;
  font-weight: 700;
}
.admin-quote-maintenance-summary strong {
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  color: #243746;
  white-space: nowrap;
}
.admin-quote-maintenance-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-quote-maintenance-form fieldset {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: inherit;
  gap: inherit;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.admin-costing-request-form {
  grid-template-columns: 1fr;
}
.admin-quote-costing-task-summary {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid #dce8f2;
  border-radius: 6px;
  background: #f8fbfe;
  color: #405a70;
  font-size: 12px;
  line-height: 1.45;
}
.admin-quote-costing-task-summary p { margin: 0; }
.admin-quote-task-history {
  display: grid;
  gap: 5px;
  margin-top: 8px;
  padding: 8px 10px;
  border-left: 3px solid #bdd8f6;
  background: #f8fbff;
  color: #52687e;
  font-size: 12px;
}
.admin-quote-task-history > strong { color: #244e78; }
.admin-quote-task-history p { display: grid; gap: 2px; margin: 0; }
.admin-quote-task-history p span { color: #7c8da0; font-size: 11px; }
.admin-quote-task-adjustment { color: #256b9b; font-size: 12px; }
.admin-quote-task-adjustment summary { cursor: pointer; font-weight: 700; }
.admin-quote-task-adjustment .admin-costing-request-form { margin-top: 10px; }
.admin-quote-withdraw-form {
  display: flex;
  align-items: end;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px;
  border: 1px solid #f0c4ba;
  border-radius: 6px;
  background: #fff9f7;
}
.admin-quote-withdraw-form label { display: grid; flex: 1; gap: 5px; color: #7b513f; font-size: 12px; font-weight: 700; }
.admin-quote-withdraw-form input { width: 100%; }
@media (max-width: 640px) {
  .admin-quote-withdraw-form { align-items: stretch; flex-direction: column; }
}
.admin-costing-request-submit-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.admin-quote-costing-result-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
  padding-top: 18px;
  border-top: 2px solid #d6e2eb;
}
.admin-quote-costing-result-form .admin-quote-costing-section-title {
  margin: 0 0 2px;
  color: #314f64;
  font-size: 13px;
}
.admin-sales-quote-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-quote-notes-save-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.5fr);
  gap: 10px;
  align-items: end;
}
.admin-quote-notes-save-row label {
  min-width: 0;
}
.admin-quote-notes-save-row .btn {
  width: 100%;
  min-height: 42px;
  margin: 0;
}
.admin-quote-sales-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.admin-quote-status-action-field {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #627584;
  font-size: 12px;
  font-weight: 700;
}
.admin-quote-status-action-field select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
}
.admin-quote-publish-form {
  align-self: end;
}
.admin-quote-sales-actions .btn {
  width: 100%;
  min-height: 42px;
  margin: 0;
}
.admin-quote-order-type-help {
  grid-column: 1 / -1;
  margin: 0;
  color: #d32f2f;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}
.admin-quote-sales-actions .admin-quote-publish-form {
  min-width: 0;
}
.admin-quote-sales-actions .admin-quote-convert-form {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.admin-quote-sales-actions .admin-quote-convert-form select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
}
.admin-engineering-costing-form {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.admin-engineering-costing-form .span-2 {
  grid-column: span 2;
}
.admin-engineering-costing-form .span-3 {
  grid-column: span 3;
}
.admin-quote-maintenance-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-quote-maintenance-form .wide {
  grid-column: 1 / -1;
}
.admin-quote-costing-submit-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.admin-quote-costing-submit-row .btn {
  width: 100%;
  min-height: 42px;
}
.admin-costing-change-request-form {
  grid-template-columns: minmax(0, 1fr) 210px;
  align-items: end;
}
.admin-costing-change-request-form .btn {
  width: 100%;
  min-height: 36px;
}
.admin-engineering-costing-form .btn,
.admin-costing-request-form .btn {
  align-self: end;
  min-height: 34px;
}
.admin-quote-maintenance-form input[readonly] {
  background: #f4f8fb;
  color: #5f7182;
}
.admin-costing-workbench-summary {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.admin-costing-workbench-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}
.admin-costing-workbench-row > div {
  display: grid;
  gap: 2px;
  min-height: 34px;
}
.admin-costing-workbench-row span {
  color: #7b8b97;
  font-size: 11px;
  font-weight: 500;
}
.admin-costing-workbench-row strong {
  color: var(--admin-text);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}
.admin-costing-workbench-row .btn {
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}
.admin-quote-lock-warning {
  color: #c62828;
  font-weight: 800;
}
.admin-customer-credit-warning {
  margin-top: auto;
  padding: 10px 12px;
  border: 1px solid #f1b7b7;
  border-radius: 5px;
  background: #fff4f4;
  color: #b3261e;
  font-size: 13px;
  font-weight: 800;
}
.admin-quote-costing-locked-note {
  color: #d32f2f;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}
.admin-quote-convert-detail {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 160px);
  margin-top: 12px;
}
.admin-quote-convert-detail select,
.admin-quote-convert-detail .btn {
  min-width: 0;
  width: 100%;
}
.admin-customer-business { background: #fff; }
.admin-business-panel { border: 1px solid #e3ebf1; border-radius: 7px; background: #fbfdff; }
.admin-business-panel + .admin-business-panel { margin-top: 10px; }
.admin-business-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 10px 12px; cursor: pointer; list-style: none; color: #203444; }
.admin-business-panel > summary::-webkit-details-marker { display: none; }
.admin-business-panel > summary::after { content: "+"; flex: 0 0 auto; width: 22px; height: 22px; border: 1px solid #d5e2ea; border-radius: 50%; color: #527997; text-align: center; line-height: 20px; font-weight: 800; }
.admin-business-panel[open] > summary::after { content: "-"; }
.admin-business-panel > summary strong { font-size: 13px; }
.admin-business-panel > summary span { margin-left: auto; color: #718493; font-size: 11px; font-weight: 700; }
.admin-business-panel > .admin-table-wrap, .admin-business-panel > .admin-business-form { margin: 0 12px 12px; }
.admin-business-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-business-form textarea, .admin-business-form button { grid-column: 1 / -1; }
.admin-org-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 14px; }
.admin-org-dept { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; justify-content: start; padding: 12px; border: 1px solid #edf1f4; border-radius: 7px; background: #fbfdff; }
.admin-org-dept h3 { grid-column: 1 / -1; margin: 0; color: #203444; font-size: 14px; }
.admin-org-dept > .admin-empty { grid-column: 1 / -1; }
.admin-org-node { display: grid; min-width: 0; gap: 3px; padding: 10px; border: 1px solid #dce5eb; border-radius: 6px; background: #fff; }
.admin-org-node + .admin-org-node { margin-top: 0; }
.admin-org-node strong { color: #203444; font-size: 13px; }
.admin-org-node strong, .admin-org-node small { min-width: 0; overflow-wrap: anywhere; }
.admin-org-node strong a { color: inherit; text-decoration: none; }
.admin-org-node strong a:hover { color: #0876c9; text-decoration: underline; }
.admin-org-node small { color: #718493; font-size: 11px; }
.admin-org-manager { border-color: #b8d8ee; background: #f5fbff; }
.admin-org-children { display: grid; gap: 5px; margin-top: 7px; padding-top: 7px; border-top: 1px dashed #c9d8e3; }
.admin-org-children a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 7px; border-radius: 5px; background: #fff; color: #203444; font-size: 12px; text-decoration: none; }
.admin-org-children a:hover { color: #0876c9; background: #eef7ff; }
.admin-org-children em { color: #718493; font-size: 11px; font-style: normal; }
@media (max-width: 1300px) {
  .admin-org-dept { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .admin-org-dept { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .admin-org-dept { grid-template-columns: 1fr; }
}
.admin-password-reset-form { display: contents; }
.admin-password-reset-form label { min-width: min(100%, 360px); }
.admin-password-reset-form .btn { min-width: 138px; }
.admin-user-profile-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-user-profile-form .admin-user-active-row,
.admin-user-profile-form .admin-form-actions {
  grid-column: 1 / -1;
}
.admin-row-detail { margin-top: 6px; }
.admin-row-detail summary { cursor: pointer; color: #0876c9; font-size: 11px; font-weight: 800; }
.admin-row-detail dl { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 6px 10px; margin: 8px 0 0; padding: 8px; border: 1px solid #edf1f4; border-radius: 6px; background: #fff; }
.admin-row-detail dt { color: #718493; font-size: 11px; font-weight: 800; }
.admin-row-detail dd { margin: 0; color: #243746; white-space: normal; word-break: break-word; }
.admin-profile-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.admin-profile-card {
  padding: 14px;
  border: 1px solid #edf1f4;
  border-radius: 7px;
  background: #fbfdff;
}
.admin-profile-card-wide {
  margin-top: 14px;
}
.admin-profile-card-management {
  min-width: 0;
}
.admin-profile-side-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
  align-content: start;
}
.admin-profile-card h3 {
  margin: 0 0 10px;
  color: #203444;
  font-size: 14px;
}
.admin-field-list {
  display: grid;
  gap: 8px;
}
.admin-field-list-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-field-list-management {
  grid-template-columns: 1fr;
}
.admin-account-generate-btn {
  width: 100%;
  min-height: 36px;
  margin: 0;
  justify-content: center;
}
.admin-account-toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.admin-account-toggle-grid label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  background: #fff;
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
.admin-account-toggle-grid input {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}
.admin-customer-management-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-customer-notes-login-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 8px;
  align-items: stretch;
}
.admin-customer-notes-login-row .admin-field-row {
  height: 100%;
}
.admin-field-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  min-height: 36px;
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  background: #fff;
}
.admin-field-row > span {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-right: 1px solid var(--admin-line);
  background: #f5f8fa;
  color: #526b7d;
  font-size: 12px;
  font-weight: 700;
}
.admin-field-row input,
.admin-field-row select,
.admin-field-row textarea {
  width: 100%;
  min-width: 0;
  border: 0;
  border-radius: 0;
  padding: 8px 10px;
  background: #fff;
  color: var(--admin-text);
  font: inherit;
  font-size: 13px;
}
.admin-field-row input:focus,
.admin-field-row select:focus,
.admin-field-row textarea:focus {
  outline: 2px solid rgba(95, 127, 153, 0.22);
  outline-offset: -2px;
}
.admin-field-row-textarea,
.admin-field-row-check {
  grid-column: 1 / -1;
}
.admin-field-row-textarea textarea {
  resize: vertical;
}
.admin-field-row-check > label {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  margin: 0;
  color: var(--admin-text);
  font-size: 13px;
}
.admin-customer-management-grid .admin-field-row-textarea,
.admin-customer-management-grid .admin-field-row-check,
.admin-customer-management-grid .admin-extra-row {
  grid-column: 1 / -1;
}
.admin-customer-notes-login-row .admin-field-row-textarea,
.admin-customer-notes-login-row .admin-field-row-check {
  grid-column: auto;
}
.admin-customer-notes-login-row .admin-field-row-check > label {
  justify-content: flex-end;
  min-width: 0;
  white-space: nowrap;
  text-align: right;
}
.admin-extra-row {
  grid-template-columns: 118px minmax(0, 1fr) 34px;
}
.admin-extra-row input[type="hidden"] {
  display: none;
}
.admin-extra-row .admin-extra-label-input {
  border-right: 1px solid var(--admin-line);
  background: #f5f8fa;
  color: #526b7d;
  font-weight: 700;
}
.admin-extra-remove,
.admin-extra-add {
  border: 1px solid #d2e1ea;
  background: #fff;
  color: #405e78;
  cursor: pointer;
  font-weight: 800;
}
.admin-extra-remove {
  width: 34px;
  min-height: 34px;
  border-width: 0 0 0 1px;
  border-radius: 0;
  color: #a33;
}
.admin-extra-add {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  margin: 12px 0 0 auto;
  border-radius: 7px;
  font-size: 22px;
  line-height: 1;
}
.admin-customer-submit-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}
.admin-customer-submit-row .admin-extra-add {
  align-self: stretch;
  width: 54px;
  height: auto;
  margin: 0;
}
.admin-customer-submit-row .btn {
  width: 100%;
}
.admin-extra-add:hover,
.admin-extra-remove:hover {
  border-color: var(--admin-blue);
  background: #eef7ff;
  color: var(--admin-blue-dark);
}
.admin-lead-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 0 14px; margin-bottom: 14px; border-bottom: 1px solid #edf1f4; }
.admin-lead-quick-actions form { margin: 0; }
.admin-lead-quick-actions .btn { min-height: 34px; }
.admin-lead-action-grid { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 10px 0 14px; margin-bottom: 14px; border-bottom: 1px solid #edf1f4; }
.admin-lead-decision-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; gap: 12px; padding: 10px 0 14px; margin-bottom: 14px; border-bottom: 1px solid #edf1f4; }
.admin-lead-action-card { display: grid; align-content: start; gap: 10px; min-height: 0; padding: 13px; border: 1px solid #edf1f4; border-radius: 7px; background: #fbfdff; }
.admin-lead-action-card h3 { margin: 0; color: #203444; font-size: 13px; }
.admin-lead-requirements-card dl { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 7px 12px; margin: 0; }
.admin-lead-requirements-card dt { color: #718493; font-size: 11px; font-weight: 700; }
.admin-lead-requirements-card dd { min-width: 0; margin: 0; color: #243746; line-height: 1.45; overflow-wrap: anywhere; }
.admin-lead-requirements-card h4 { margin: 6px 0 0; color: #4f677b; font-size: 12px; }
.admin-lead-action-buttons { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.admin-lead-action-buttons form, .admin-lead-action-form { margin: 0; }
.admin-lead-status-actions { display: flex; gap: 8px; align-items: end; min-width: 0; }
.admin-lead-status-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.admin-lead-status-actions .admin-lead-status-form { flex: 1 1 auto; min-width: 0; }
.admin-lead-status-form label { display: grid; gap: 4px; color: #566b7f; font-size: 12px; font-weight: 600; }
.admin-lead-status-form select { min-height: 34px; padding: 7px 8px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; font: inherit; font-size: 12px; }
.admin-lead-status-form .btn { width: auto; min-width: 88px; }
.admin-lead-spam-form { flex: 0 0 auto; }
.admin-lead-action-buttons .admin-lead-spam-btn { width: auto; min-height: 34px; color: #a7481d; border-color: #e4b29d; background: #fff7f3; }
.admin-lead-action-buttons .admin-lead-spam-btn:hover { color: #fff; border-color: #b94c20; background: #c95a2c; }
.admin-lead-customer-link-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.admin-lead-customer-link-row form { flex: 1 1 auto; min-width: 0; }
.admin-customer-link-hint { flex: 0 1 auto; color: #0875d1; font-size: 12px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.admin-lead-customer-link-row .btn:disabled { cursor: not-allowed; color: #6686a4; border-color: #b9cce0; background: #eef5fc; opacity: 1; }
.admin-lead-action-form { display: grid; gap: 8px; }
.admin-lead-quote-form { grid-template-columns: minmax(110px, .5fr) minmax(150px, 1fr) minmax(150px, .75fr) minmax(80px, .25fr) minmax(150px, .5fr); align-items: end; }
.admin-lead-quote-form .wide { grid-column: 1 / -1; }
.admin-lead-quote-submit-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(150px, .7fr) minmax(190px, 1fr) minmax(220px, 2fr); gap: 8px; align-items: end; }
.admin-lead-quote-submit-row .btn { width: 100%; min-height: 34px; }
.admin-lead-quote-notes-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(560px, 1fr); gap: 16px; align-items: end; }
.admin-lead-quote-notes-actions .wide,
.admin-lead-quote-notes-actions .admin-lead-quote-submit-row { grid-column: auto; }
.admin-lead-quote-notes-actions .admin-lead-quote-submit-row { align-self: end; }
@media (max-width: 1200px) {
  .admin-lead-quote-notes-actions { grid-template-columns: 1fr; }
  .admin-lead-quote-notes-actions .admin-lead-quote-submit-row { grid-template-columns: minmax(150px, 1fr) minmax(190px, 1fr); }
  .admin-lead-quote-notes-actions .admin-lead-quote-submit-row .btn { grid-column: 1 / -1; }
}

.admin-customer-commercial-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  margin-top: 18px;
}
.admin-customer-commercial-layout .admin-detail-section { margin: 0; }
.admin-customer-commercial-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-customer-commercial-form > label:not(.admin-checkbox-row),
.admin-customer-invoice-fields label {
  display: grid;
  grid-template-columns: minmax(100px, 132px) minmax(0, 1fr);
  align-items: stretch;
  min-height: 42px;
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #fff;
  color: #48677f;
  font-size: 12px;
  font-weight: 700;
}
.admin-customer-commercial-form > label:not(.admin-checkbox-row) > span,
.admin-customer-invoice-fields label > span {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-right: 1px solid var(--admin-line);
  background: #f3f6f8;
}
.admin-customer-commercial-form select,
.admin-customer-commercial-form input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 40px;
  padding: 8px 10px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--admin-text);
  font: inherit;
  font-size: 13px;
}
.admin-customer-commercial-form .admin-checkbox-row {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #48677f;
  font-size: 12px;
  font-weight: 700;
}
.admin-customer-commercial-form .admin-checkbox-row input {
  width: auto;
  min-height: 0;
  padding: 0;
  border: initial;
}
.admin-customer-invoice-fields { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-customer-commercial-form .btn { grid-column: 1 / -1; justify-self: start; }
.admin-customer-invoice-fields[hidden],
.js-customer-payment-terms[hidden],
.js-customer-letter-of-credit[hidden] { display: none !important; }
@media (max-width: 1000px) {
  .admin-lead-decision-grid { grid-template-columns: 1fr; }
  .admin-customer-commercial-layout { grid-template-columns: 1fr; }
}
.admin-lead-action-form label { display: grid; gap: 4px; margin: 0; color: #566b7f; font-size: 12px; font-weight: 600; }
.admin-lead-action-form input, .admin-lead-action-form select, .admin-lead-action-form textarea { width: 100%; min-height: 34px; padding: 7px 8px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; font: inherit; font-size: 12px; }
.admin-lead-action-form .btn, .admin-lead-action-buttons .btn { width: 100%; min-height: 34px; margin: 0; justify-content: center; }
.admin-lead-action-buttons .admin-lead-status-actions { order: 1; flex: 0 1 560px; }
.admin-lead-action-buttons .admin-lead-status-actions .admin-lead-status-form { flex: 1 1 360px; }
.admin-lead-action-buttons .admin-lead-customer-link-row { order: 2; flex: 0 1 auto; }
.admin-lead-action-buttons .admin-lead-customer-link-row form { flex: 0 0 auto; }
.admin-lead-action-buttons .btn { width: auto; }
.admin-lead-detail .admin-lead-followup { grid-template-columns: 140px 140px 190px minmax(0, 1fr) auto; align-items: start; }
.admin-lead-followup-card { margin-top: 14px; }
.admin-lead-followup-card .admin-lead-followup { grid-template-columns: minmax(0, 1fr) 190px auto; align-items: end; }
.admin-lead-detail .admin-lead-followup .btn { align-self: end; }
.admin-lead-detail .admin-lead-followup input[type="hidden"] { display: none; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 14px; }
.admin-form-grid.admin-user-profile-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-user-save-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(260px, 0.9fr) minmax(138px, auto) minmax(138px, auto);
  align-items: end;
  gap: 16px;
  margin-top: 18px;
}
.admin-user-save-row .admin-user-active-row {
  margin: 0;
}
.admin-user-save-row .btn {
  min-width: 138px;
}
.admin-form-grid.admin-user-profile-form .admin-form-actions {
  grid-column: 1 / -1;
}
.admin-user-save-row .admin-password-reset-form label {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 10px;
  margin: 0;
}
.admin-user-save-row .admin-password-reset-form input {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
}
.admin-user-save-row .admin-password-reset-form small {
  grid-column: 2 / 3;
  grid-row: 1;
  color: #e5484d;
  align-self: end;
  white-space: normal;
}
.admin-material-cost-form {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: end;
}
.admin-material-cost-form > label,
.admin-material-create-actions {
  min-width: 0;
}
.admin-material-cost-form input:not([type="checkbox"]),
.admin-material-cost-form select,
.admin-material-cost-form textarea,
.admin-material-cost-form .btn {
  box-sizing: border-box;
  height: 38px;
  min-height: 38px;
}
.admin-material-cost-form textarea {
  line-height: 18px;
  resize: vertical;
}
.admin-material-create-actions {
  display: grid;
  gap: 6px;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-material-create-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  height: 38px;
}
.admin-material-active-toggle {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #627584;
  font-size: 13px !important;
  font-weight: 700;
  white-space: nowrap;
}
.admin-material-active-toggle input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
}
.admin-material-create-action-row .btn {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}
.admin-rfq-process-form {
  grid-template-columns: repeat(4, minmax(0, 1fr)) max-content;
  align-items: end;
}
.admin-form-grid.admin-rfq-process-form .admin-rfq-toggle {
  grid-column: 5 / 6;
  justify-self: end;
  margin: 0;
  white-space: nowrap;
}
.admin-form-grid.admin-rfq-process-form .admin-rfq-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
  align-items: center;
  align-self: center;
  padding-top: 0;
  margin-top: 0;
}
.admin-rfq-material-form {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(160px, 0.7fr) max-content;
  align-items: end;
}
.admin-form-grid.admin-rfq-material-form .admin-rfq-toggle {
  grid-column: 4 / 5;
  justify-self: end;
  margin: 0;
  white-space: nowrap;
}
.admin-form-grid.admin-rfq-material-form .admin-rfq-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
  align-items: center;
  align-self: center;
  padding-top: 0;
  margin-top: 0;
}
.admin-rfq-material-groups {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.admin-rfq-material-group {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid #d7e5f1;
  border-radius: 8px;
  background: #fff;
}
.admin-rfq-material-group-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid #cfe0ec;
  border-radius: 7px;
  background: #f4f9fd;
}
.admin-rfq-material-group-label span {
  color: #152f43;
  font-size: 15px;
  font-weight: 800;
}
.admin-rfq-material-group-label small {
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-rfq-material-list {
  display: grid;
  gap: 10px;
  max-height: calc(6 * 78px);
  overflow-y: auto;
  padding-right: 6px;
}
.admin-rfq-material-row {
  grid-template-columns: minmax(0, 1.35fr) minmax(120px, 0.45fr) max-content auto;
  align-items: end;
  gap: 10px 14px;
  min-height: 68px;
  margin-top: 0;
  padding: 10px;
  border: 1px solid #edf3f8;
  border-radius: 7px;
  background: #fbfdff;
}
.admin-form-grid.admin-rfq-material-row .admin-rfq-toggle {
  grid-column: 3 / 4;
  justify-self: end;
  margin: 0;
  white-space: nowrap;
}
.admin-form-grid.admin-rfq-material-row .admin-rfq-actions {
  grid-column: 4 / 5;
  justify-content: flex-end;
  align-items: end;
  align-self: end;
  gap: 8px;
  padding-top: 0;
  margin-top: 0;
}
.admin-outsource-supplier-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-supplier-create-form {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.admin-supplier-list {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.admin-supplier-record {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  background: #fbfdff;
}
.admin-supplier-record-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.admin-supplier-record-head strong {
  display: block;
  color: #203444;
  font-size: 15px;
}
.admin-supplier-record-head small {
  color: #718493;
  font-size: 11px;
}
.admin-supplier-status-form {
  margin: 0;
}
.admin-supplier-status-form select {
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #fff;
  font: inherit;
  font-size: 12px;
}
.admin-supplier-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.admin-supplier-detail-grid {
  grid-template-columns: repeat(3, minmax(320px, 1fr));
  align-items: start;
}
.admin-supplier-card-grid-create {
  align-items: stretch;
}
.admin-supplier-card {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 14px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  background: #fff;
}
.admin-supplier-detail-grid .admin-supplier-card {
  min-height: 0;
  height: auto;
  align-self: start;
}
.admin-supplier-detail-grid .admin-supplier-add,
.admin-supplier-detail-grid .admin-supplier-edit {
  margin-top: 10px;
}
.admin-supplier-card h3 {
  margin: 0 0 10px;
  color: #203444;
  font-size: 15px;
}
.admin-supplier-card dl {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px 10px;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #edf1f4;
}
.admin-supplier-card dl:first-child {
  border-top: 0;
  padding-top: 0;
}
.admin-supplier-card dt {
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-supplier-card dd {
  margin: 0;
  color: #203444;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.admin-supplier-card-list {
  display: grid;
  gap: 8px;
}
.admin-supplier-table th,
.admin-supplier-table td {
  text-align: center;
  vertical-align: middle;
}
.admin-supplier-table th:nth-child(1),
.admin-supplier-table td:nth-child(1) {
  width: 120px;
  min-width: 120px;
}
.admin-supplier-table th:nth-child(2),
.admin-supplier-table td:nth-child(2) { width: 160px; }
.admin-supplier-table th:nth-child(3),
.admin-supplier-table td:nth-child(3) { width: 220px; }
.admin-supplier-table th:nth-child(4),
.admin-supplier-table td:nth-child(4) { width: 260px; }
.admin-supplier-table th:nth-child(5),
.admin-supplier-table td:nth-child(5) { width: 110px; }
.admin-supplier-table th:nth-child(6),
.admin-supplier-table td:nth-child(6) { width: 130px; }
.admin-supplier-table th:nth-child(7),
.admin-supplier-table td:nth-child(7) { width: 140px; }
.admin-supplier-table th:nth-child(8),
.admin-supplier-table td:nth-child(8) {
  width: 110px;
  text-align: center;
}
.admin-supplier-table td:nth-child(8) .btn {
  width: 88px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
.admin-supplier-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-supplier-table .admin-table-primary-link,
.admin-supplier-table .admin-table-primary-link strong,
.admin-supplier-table .admin-table-primary-link small {
  text-align: center;
}
.admin-supplier-table td:nth-child(1),
.admin-supplier-table td:nth-child(1) .admin-table-primary-link,
.admin-supplier-table td:nth-child(1) .admin-table-primary-link strong {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}
.admin-supplier-notes-cell {
  text-align: center;
}
.admin-supplier-notes-cell span {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.admin-supplier-filterbar {
  margin-bottom: 14px;
}
.admin-supplier-filterbar .admin-supplier-search-input {
  flex: 0 1 560px;
  max-width: 100%;
}
.admin-supplier-detail-item {
  display: grid;
  gap: 6px;
  padding: 10px 0;
  border-top: 1px solid #edf1f4;
}
.admin-supplier-readonly-list {
  display: grid;
  gap: 8px;
  margin: 0;
}
.admin-supplier-readonly-list div {
  display: grid;
  gap: 3px;
}
.admin-supplier-readonly-list dt {
  color: #607789;
  font-size: 12px;
  font-weight: 800;
}
.admin-supplier-readonly-list dd {
  margin: 0;
  color: #22384a;
  overflow-wrap: anywhere;
}
.admin-supplier-detail-item:first-child {
  border-top: 0;
  padding-top: 0;
}
.admin-supplier-delete-form {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}
.admin-supplier-delete-form .btn {
  min-height: 32px;
  padding: 7px 11px;
}
.admin-supplier-card-form {
  display: grid;
  gap: 10px;
}
.admin-supplier-card-form label,
.admin-supplier-notes {
  display: grid;
  gap: 5px;
  margin: 0;
  color: #526879;
  font-size: 12px;
  font-weight: 700;
}
.admin-supplier-card-form input,
.admin-supplier-card-form select,
.admin-supplier-card-form textarea,
.admin-supplier-notes textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #fff;
  color: #173047;
  font: inherit;
  font-size: 13px;
}
.admin-supplier-notes textarea {
  min-height: 72px;
  resize: vertical;
}
.admin-supplier-create-actions {
  display: flex;
  justify-content: flex-end;
}
.admin-supplier-create-actions .btn {
  min-width: 160px;
}
.admin-supplier-add,
.admin-supplier-edit {
  margin-top: auto;
  padding-top: 10px;
}
.admin-supplier-add summary,
.admin-supplier-edit summary {
  display: flex;
  justify-content: flex-end;
  color: var(--admin-blue);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.admin-supplier-mini-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.admin-supplier-mini-form input,
.admin-supplier-mini-form select,
.admin-supplier-mini-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 7px 8px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #fff;
  font: inherit;
  font-size: 12px;
}
.admin-supplier-mini-form .btn,
.admin-supplier-mini-form .admin-checkbox-row {
  grid-column: 1 / -1;
}
.admin-equipment-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-form-grid .wide, .admin-form-actions { grid-column: 1 / -1; }
.admin-form-grid textarea { width: 100%; resize: vertical; }
.admin-smtp-form {
  grid-template-columns: 2fr 0.8fr 1.4fr 1.4fr 1.6fr;
  align-items: end;
}
.admin-smtp-form > label:nth-of-type(1) {
  grid-column: 1 / -1;
}
.admin-smtp-form > label:nth-of-type(2) {
  grid-column: 1 / 2;
  grid-row: 2;
}
.admin-smtp-form > label:nth-of-type(3) {
  grid-column: 2 / 3;
  grid-row: 2;
}
.admin-smtp-form > label:nth-of-type(4) {
  grid-column: 3 / 4;
  grid-row: 2;
}
.admin-smtp-form > label:nth-of-type(5) {
  grid-column: 4 / 5;
  grid-row: 2;
}
.admin-smtp-form > label:nth-of-type(6) {
  grid-column: 1 / 5;
  grid-row: 3;
}
.admin-smtp-form > label:nth-of-type(7) {
  grid-column: 5 / 6;
  grid-row: 2;
}
.admin-smtp-form > label:nth-of-type(8) {
  grid-column: 5 / 6;
  grid-row: 3;
  align-self: end;
  margin-bottom: 28px;
}
.admin-smtp-form > .admin-help,
.admin-smtp-form > .admin-form-actions {
  grid-column: 1 / -1;
}
.admin-smtp-help-inline {
  color: #e5484d;
  font: inherit;
}
@media (max-width: 1400px) {
  .admin-smtp-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .admin-smtp-form > label:nth-of-type(n) {
    grid-column: auto;
    grid-row: auto;
  }
  .admin-smtp-form > label:nth-of-type(1),
  .admin-smtp-form > label:nth-of-type(6) {
    grid-column: 1 / -1;
  }
}
@media (max-width: 900px) {
  .admin-smtp-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.admin-equipment-spec-editor th,
.admin-equipment-spec-editor td { width: calc((100% - 72px) / 4); }
.admin-equipment-spec-editor { table-layout: fixed; width: 100%; }
.admin-equipment-spec-editor td,
.admin-equipment-spec-editor td:first-child {
  display: table-cell;
}
.admin-equipment-spec-editor th:last-child,
.admin-equipment-spec-editor td:last-child { width: 72px; text-align: center; }
.admin-equipment-spec-editor input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.admin-spec-row-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.admin-equipment-media-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 12px 16px;
  align-items: start;
}
.admin-equipment-image-path {
  grid-column: 1 / -1;
}
.admin-equipment-image-path > span {
  grid-column: 1 / -1;
}
.admin-equipment-media-layout > .admin-image-preview {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
  width: 220px;
  max-width: 100%;
  height: 100%;
  min-height: 160px;
  max-height: none;
  margin-top: 0;
}
.admin-equipment-media-layout > .admin-image-preview.is-empty {
  display: flex;
  background: #f8fbfe;
}
.admin-equipment-summary-field {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  gap: 6px;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-equipment-summary-field textarea {
  min-height: 160px;
}
.admin-form-actions { display: flex; justify-content: flex-end; padding-top: 3px; }
.admin-editor-card > h2 { padding-bottom: 12px; border-bottom: 1px solid #edf1f4; }
.admin-button-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; margin-top: 10px; }
.admin-button-row .btn { min-height: 36px; margin: 0; }
.admin-inline-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
}
.admin-form-grid .admin-inline-submit-row label {
  margin: 0;
}
.admin-market-activity-actions {
  grid-column: 2 / 3;
  align-self: center;
  padding-top: 0;
  margin-top: 0;
}
.admin-home-section { position: relative; grid-column: 1 / -1; overflow: hidden; margin-top: 8px; padding: 0 16px 18px 20px; border: 1px solid #d7e5f1; border-radius: 8px; background: #f8fbfe; box-shadow: 0 1px 0 rgba(39, 86, 122, 0.04); scroll-margin-top: 18px; }
.admin-home-section::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--admin-blue); }
.admin-home-section + .admin-home-section { margin-top: 18px; }
.admin-section-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; margin: 0 -16px 16px -20px; padding: 14px 16px 12px 20px; border-bottom: 1px solid #d7e5f1; background: #eef6fc; }
.admin-section-head h3 { margin: 0; color: #16344b; font-size: 17px; }
.admin-section-head p { max-width: 560px; margin: 0; color: #5d7284; font-size: 12px; line-height: 1.45; text-align: right; }
.admin-home-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.admin-home-section-grid .wide { grid-column: 1 / -1; }
.admin-home-section-grid .admin-checkbox-pair {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  align-self: end;
  gap: 14px 28px;
  min-height: 38px;
}
.admin-seo-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-seo-status-card { display: grid; gap: 4px; min-height: 116px; padding: 16px; border: 1px solid #d7e5f1; border-radius: 8px; background: #fff; }
.admin-seo-status-card strong { color: var(--admin-blue); font-size: 30px; line-height: 1; }
.admin-seo-status-card span { color: #203444; font-size: 14px; font-weight: 800; }
.admin-seo-status-card small { color: #708394; font-size: 12px; line-height: 1.45; }
.admin-seo-action-row { justify-content: flex-start; margin-top: 0; }
.admin-quality-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.admin-quality-badge.is-ready { color: #11613a; background: #dff6ea; }
.admin-quality-badge.is-warning { color: #8a5200; background: #fff1d6; }
.admin-quality-inline { margin-left: 8px; color: #708394; font-size: 11px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.admin-quality-table td { vertical-align: top; }
.admin-quality-chip { display: inline-flex; margin: 0 5px 5px 0; padding: 4px 7px; border-radius: 999px; background: #fff1d6; color: #8a5200; font-size: 11px; font-weight: 700; }
.admin-content-health-panel { margin-top: 18px; }
.admin-asset-filterbar {
  display: grid;
  grid-template-columns: minmax(140px, .7fr) minmax(180px, 1fr) minmax(170px, .9fr) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 14px;
}
.admin-asset-filterbar label { display: grid; gap: 5px; color: #5c7080; font-size: 12px; font-weight: 800; }
.admin-asset-filterbar select { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--admin-line); border-radius: 6px; background: #fff; font: inherit; font-size: 13px; }
.admin-asset-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 14px; }
.admin-asset-card { min-height: 620px; border: 1px solid var(--admin-line); border-radius: 8px; background: #fff; overflow: hidden; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.admin-asset-preview { aspect-ratio: 16 / 10; max-height: 260px; background: #f3f7fb; display: grid; place-items: center; border-bottom: 1px solid var(--admin-line); }
.admin-asset-preview img,
.admin-asset-preview video { width: 100%; height: 100%; object-fit: contain; display: block; }
.admin-asset-form { display: grid; grid-template-rows: minmax(20px, auto) 16px repeat(3, auto) minmax(74px, auto) auto; gap: 9px; height: 100%; padding: 12px; }
.admin-asset-form strong { color: var(--admin-ink); word-break: break-word; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.35; }
.admin-asset-form small { color: #6f8090; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-asset-form label { display: grid; gap: 5px; color: #627584; font-size: 11px; font-weight: 700; }
.admin-asset-form input,
.admin-asset-form textarea { width: 100%; padding: 8px 9px; border: 1px solid var(--admin-line); border-radius: 5px; font: inherit; font-size: 12px; }
.admin-asset-form input { height: 34px; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.admin-asset-form textarea { height: 58px; resize: none; }
.admin-asset-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(118px, .55fr); gap: 8px; align-self: end; margin-top: auto; }
.admin-asset-actions .btn { width: 100%; min-height: 38px; justify-content: center; text-align: center; }
.admin-asset-actions .is-disabled { cursor: not-allowed; opacity: .58; pointer-events: none; }
.admin-order-story-media {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) minmax(220px, 320px);
  gap: 12px 16px;
  align-items: end;
}
.admin-order-story-media .admin-image-preview {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  margin: 0;
}
.admin-order-story-image-path,
.admin-order-story-upload-slot {
  display: grid;
  gap: 6px;
  color: #627584;
  font-size: 12px;
  font-weight: 800;
}
.admin-order-story-image-path { grid-column: 2; }
.admin-order-story-upload-slot { grid-column: 3; }
.admin-order-story-image-path .js-image-url,
.admin-order-story-upload-slot .js-image-upload {
  width: 100%;
  min-height: 38px;
}
.admin-order-story-media-controls {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(110px, 150px) minmax(110px, 150px);
  gap: 10px 12px;
  align-items: end;
}
.admin-order-story-sort,
.admin-order-story-toggle {
  display: grid;
  gap: 6px;
  color: #627584;
  font-size: 12px;
  font-weight: 800;
}
.admin-order-story-sort input {
  width: 100%;
  min-height: 38px;
}
.admin-order-story-toggle {
  min-height: 38px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  align-self: end;
  padding: 0 8px;
}
.admin-order-story-toggle input {
  width: 20px;
  height: 20px;
}
.admin-publish-table td { vertical-align: middle; }
.admin-publish-table td:nth-child(2) { white-space: normal; min-width: 260px; }
.admin-publish-table td:nth-child(4) { min-width: 180px; }
.admin-publish-filterbar {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(150px, .8fr) minmax(240px, 1.4fr) auto;
  gap: 10px;
  align-items: end;
  margin: 14px 0 10px;
}
.admin-publish-filterbar label { display: grid; gap: 5px; color: #5c7080; font-size: 12px; font-weight: 800; }
.admin-publish-filterbar select,
.admin-publish-filterbar input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--admin-line); border-radius: 6px; background: #fff; font: inherit; font-size: 13px; }
.admin-filter-actions { display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.admin-publish-endpoints { margin-top: 8px; }
.admin-seo-preview-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(260px, .85fr); gap: 12px; align-items: stretch; }
.admin-search-preview,
.admin-geo-preview,
.admin-preview-checks { min-width: 0; padding: 14px; border: 1px solid #dbe8f0; border-radius: 7px; background: #fff; }
.admin-search-preview,
.admin-geo-preview { display: grid; align-content: start; gap: 7px; }
.admin-search-preview > span,
.admin-geo-preview > span,
.admin-preview-checks > span { color: #5d7284; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.admin-search-preview strong { display: block; color: #1a0dab; font-size: 17px; line-height: 1.25; overflow-wrap: anywhere; }
.admin-search-preview small { display: block; color: #0b8043; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.admin-search-preview p,
.admin-geo-preview p { margin: 0; color: #4d6070; font-size: 13px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.admin-preview-metrics { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.admin-preview-metrics em { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; border-radius: 999px; background: #edf6fc; color: #315f7e; font-size: 11px; font-style: normal; font-weight: 800; }
.admin-preview-checks ul { display: grid; gap: 6px; margin: 9px 0 0; padding: 0; list-style: none; }
.admin-preview-checks li { position: relative; min-width: 0; padding: 7px 8px 7px 24px; border-radius: 6px; font-size: 12px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
.admin-preview-checks li::before { position: absolute; left: 8px; top: 7px; font-family: "Material Symbols Outlined"; font-size: 14px; line-height: 1; }
.admin-preview-checks li.is-ok { background: #e8f7f0; color: #166545; }
.admin-preview-checks li.is-ok::before { content: "check_circle"; }
.admin-preview-checks li.is-warning { background: #fff1d6; color: #8a5200; }
.admin-preview-checks li.is-warning::before { content: "error"; }
.admin-field-warning { grid-column: 1 / -1; display: block; margin-top: 4px; color: #b42318; font-size: 12px; font-weight: 800; line-height: 1.35; }
.admin-field-has-warning { border-color: #f3a7a0 !important; box-shadow: 0 0 0 2px rgba(180, 35, 24, 0.08); }
.js-seo-geo-check { white-space: nowrap; }
.js-seo-geo-check.is-warning { border-color: #f3a7a0; background: #fff5f3; color: #b42318; }
.js-seo-geo-check.is-ok { border-color: #b8e2c8; background: #eefaf3; color: #11613a; }
.admin-story-index { scroll-margin-top: 96px; }
.admin-video-published-head { margin-bottom: 10px; }
.admin-video-published-head + .admin-editor-card { margin-top: 0; }
.admin-video-bottom-pagination { margin: 18px 0 0; justify-content: center; }
.admin-editor-card[id],
#order-story-new,
#admin-video-new { scroll-margin-top: 96px; }
.admin-story-stats { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.admin-story-stats span { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 9px; border-radius: 999px; background: #edf6fc; color: #315f7e; font-size: 12px; font-weight: 800; }
.admin-story-index-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.admin-story-index-list a { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 10px 12px; border: 1px solid #dbe8f0; border-radius: 7px; background: #fbfdff; color: #203444; font-size: 13px; font-weight: 800; text-decoration: none; }
.admin-story-index-list a:hover { border-color: var(--admin-blue); color: var(--admin-blue-dark); background: #f0f8ff; }
.admin-story-seq { flex: 0 0 28px; color: #6f8292; font-size: 12px; font-weight: 900; text-align: center; }
.admin-story-status { flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.admin-story-status.is-published { color: #11613a; background: #dff6ea; }
.admin-story-status.is-draft { color: #7a4b00; background: #fff1d6; }
.admin-story-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-story-date { flex: 0 0 auto; margin-left: auto; padding: 4px 9px; border-radius: 999px; background: #f3f7fb; color: #5f7588; font-size: 11px; font-weight: 900; white-space: nowrap; }
.admin-story-slot { flex: 0 0 auto; margin-left: auto; padding: 4px 9px; border-radius: 999px; background: #eef4fb; color: #315f7e; font-size: 11px; font-weight: 900; white-space: nowrap; }
.admin-story-date + .admin-story-slot { margin-left: 0; }
.admin-story-slot.is-sidebar { background: #eef2ff; color: #415a9e; }
.admin-story-slot.is-both { background: #e8f7f0; color: #166545; }
.resource-detail-page { padding-top: 72px; }
.resource-detail-shell { max-width: 980px; margin: 0 auto; padding: 0 24px; }
.resource-detail-main { display: grid; gap: 22px; }
.resource-detail-kicker { margin: 0; color: var(--pl-blue); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.resource-detail-main h1 { margin: 0; color: #1c2430; font-size: clamp(32px, 4vw, 54px); line-height: 1.08; }
.resource-detail-related-link { margin: -10px 0 0; color: #6b7a8a; font-size: 13px; line-height: 1.45; word-break: break-word; }
.resource-detail-related-link span { color: #536273; font-weight: 700; }
.resource-detail-related-link a { color: var(--pl-blue); font-weight: 700; text-decoration: none; }
.resource-detail-related-link a:hover { text-decoration: underline; }
.resource-detail-lead { margin: 0; color: #536273; font-size: 18px; line-height: 1.55; }
.resource-detail-share { display: grid; gap: 5px; width: 100%; }
.resource-detail-share > span { color: var(--pl-blue); font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.resource-detail-share-actions { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; width: 100%; }
.resource-detail-share-btn { min-width: 0; min-height: 19px; padding: 4px 3px; border: 1px solid #cfdce6; border-radius: 3px; background: #f8fbfd; color: #1f2d3c; font-size: 10px; font-weight: 800; line-height: 1; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resource-detail-share-btn:hover { border-color: var(--pl-blue); color: var(--pl-blue); background: #eef7ff; }
.resource-detail-hero-image { width: 100%; max-height: 520px; object-fit: cover; border-radius: 8px; border: 1px solid #e4ebf2; }
.resource-detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0; }
.resource-detail-facts div { display: flex; align-items: center; gap: 3px; min-width: 0; padding: 7px; border: 1px solid #e4ebf2; border-radius: 4px; background: #f8fbfe; }
.resource-detail-facts dt { flex: 0 0 auto; color: #667789; font-size: 6px; font-weight: 700; text-transform: uppercase; }
.resource-detail-facts dt::after { content: ":"; }
.resource-detail-facts dd { min-width: 0; margin: 0; color: #1c2430; font-size: 8px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resource-detail-block { display: grid; gap: 10px; padding-top: 20px; border-top: 1px solid #e4ebf2; }
.resource-detail-block h2 { margin: 0; color: #1c2430; font-size: 24px; }
.resource-detail-block p { margin: 0; color: #4f5f70; line-height: 1.65; white-space: pre-line; }
.resource-detail-block p + p { margin-top: 12px; }
.resource-detail-faq { border: 1px solid #e4ebf2; border-radius: 8px; padding: 12px 14px; background: #fff; }
.resource-detail-faq summary { cursor: pointer; color: #1c2430; font-weight: 700; }
.admin-customer-overview { display: grid; gap: 16px; }
.admin-customer-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.admin-customer-kpis a, .admin-customer-kpis span { display: grid; gap: 6px; padding: 12px; border: 1px solid #edf1f4; border-radius: 7px; background: #fbfdff; color: var(--admin-text); }
.admin-customer-kpis small { color: #718493; font-size: 11px; font-weight: 700; }
.admin-customer-kpis strong { color: var(--admin-blue-dark); font-size: 22px; line-height: 1; }
.admin-customer-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-customer-insights section { min-width: 0; padding: 13px; border: 1px solid #edf1f4; border-radius: 7px; background: #fff; }
.admin-customer-insights h3 { margin: 0 0 10px; color: #203444; font-size: 13px; }
.admin-rule-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid #dbeaf5;
  border-radius: 6px;
  background: #f6fbff;
  color: #48677f;
  font-size: 12px;
  line-height: 1.45;
}
.admin-segment-row { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid #f0f3f6; color: #48677f; font-size: 12px; }
.admin-segment-row:first-of-type { border-top: 0; }
.admin-segment-row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-segment-row strong { color: var(--admin-blue-dark); }
.admin-customer-filterbar { flex-wrap: wrap; margin-bottom: 14px; }
.admin-customer-filterbar select { min-width: 150px; }
.admin-trash-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 14px; }
.admin-trash-actions form { margin: 0; }
.admin-trash-actions .btn { min-height: 36px; margin: 0; padding: 8px 10px; box-sizing: border-box; font-size: 13px; }
.admin-trash-actions .admin-danger-btn { margin-top: 0; }
.admin-trash-select-col { width: 52px; white-space: nowrap; }
.admin-trash-row-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; min-width: 190px; }
.admin-trash-row-actions form { margin: 0; }
.admin-trash-row-actions .btn { min-height: 36px; margin: 0; padding: 8px 10px; box-sizing: border-box; font-size: 13px; }
.admin-trash-row-actions .admin-danger-btn { margin-top: 0; }
.admin-trash-table td { vertical-align: top; }
.admin-trash-table strong, .admin-trash-table small { display: block; }
.admin-customer-table td { vertical-align: top; }
.admin-customer-table thead th { text-align: center; }
.admin-customer-table strong, .admin-customer-table small { display: block; }
.admin-customer-table .admin-customer-contact-col,
.admin-customer-table .admin-customer-product-col { display: none; }
.admin-customer-table td:nth-child(6), .admin-customer-table td:nth-child(7) { max-width: 180px; white-space: normal; }
.admin-customer-table .admin-customer-process-col {
  width: 240px;
  min-width: 240px;
  max-width: 240px;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.45;
}
.admin-customer-table th.admin-customer-process-col {
  white-space: nowrap;
}
.admin-inline-owner-form { display: grid; min-width: 170px; gap: 7px; margin: 0; }
.admin-customer-owner-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 230px;
  gap: 8px;
}
.admin-customer-owner-form > button {
  grid-column: 1 / -1;
}
.admin-inline-owner-form form { display: grid; gap: 7px; margin: 0; }
.admin-inline-owner-form select, .admin-inline-owner-form input { width: 100%; padding: 7px 8px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; font: inherit; font-size: 12px; }
.admin-inline-owner-form .btn { min-height: 30px; padding-block: 6px; }
.admin-customer-actions { gap: 8px; min-width: 190px; }
.admin-customer-actions form { gap: 0; }
.admin-customer-actions .btn,
.admin-customer-actions .admin-view-card-link {
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 8px 10px;
  box-sizing: border-box;
  font-size: 13px;
}
.admin-customer-actions .admin-danger-btn { margin-top: 0; }
.admin-view-card-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 32px; padding: 7px 10px; border: 1px solid #cdddea; border-radius: 5px; background: #fff; color: var(--admin-blue-dark); font-size: 12px; font-weight: 700; text-decoration: none; }
.admin-view-card-inline { display: flex; width: 32px; height: 24px; min-height: 24px; margin-top: 8px; padding: 0; border-color: #c7d9e8; color: #0b72bd; background: #f7fbff; overflow: hidden; font-size: 14px; line-height: 1; }
.admin-view-card-inline > span { display: block; line-height: 1; transform: translateY(-1px); }
.admin-view-card-inline > svg { display: block; width: 15px; height: 15px; fill: none; stroke: #0b72bd; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.admin-view-card-inline .admin-search-icon { width: 14px; height: 14px; color: #0b72bd; }
.admin-view-card-inline .admin-search-icon::before { width: 8px; height: 8px; border-width: 2px; }
.admin-view-card-inline .admin-search-icon::after { width: 6px; height: 2px; right: 1px; bottom: 2px; }
.admin-view-card-link:hover { border-color: var(--admin-blue); background: #f5fafc; color: var(--admin-blue); }
.admin-search-icon { position: relative; display: inline-block; flex: 0 0 auto; width: 15px; height: 15px; }
.admin-search-icon::before { content: ""; position: absolute; left: 1px; top: 1px; width: 9px; height: 9px; border: 2px solid currentColor; border-radius: 50%; box-sizing: border-box; }
.admin-search-icon::after { content: ""; position: absolute; right: 1px; bottom: 2px; width: 7px; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(45deg); transform-origin: center; }
.admin-followup-inline { grid-template-columns: 1fr; align-items: stretch; min-width: 230px; }
.admin-followup-inline input { min-width: 0; }
.admin-followup-inline .btn { width: 100%; min-height: 34px; }
.admin-customer-protection-card .admin-lead-quick-actions { display: grid; gap: 12px; }
.admin-protection-form { display: grid; grid-template-columns: 1fr; align-items: stretch; gap: 12px; width: 100%; }
.admin-protection-form label { display: grid; gap: 6px; margin: 0; color: #48677f; font-size: 12px; font-weight: 700; }
.admin-protection-form select, .admin-protection-form input { width: 100%; padding: 9px 10px; border: 1px solid var(--admin-line); border-radius: 5px; background: #fff; font: inherit; font-size: 13px; }
.admin-protection-form > label:first-of-type { grid-row: 1; }
.admin-protection-form .admin-protection-reason { grid-row: 2; }
.admin-protection-form .btn { grid-row: 3; justify-self: start; min-height: 38px; white-space: nowrap; }
.admin-protection-action-row { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid var(--admin-line); }
.admin-protection-action-row form { margin: 0; }
.admin-protection-action-row .btn { min-height: 38px; white-space: nowrap; }
.admin-protection-action-row .admin-help { margin: 0; }
.admin-image-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 220px;
  max-height: 125px;
  margin-top: 4px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
  color: #7d90a0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
.admin-image-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-image-preview-placeholder { display: none; padding: 10px; }
.admin-image-preview.is-empty { display: none; }
.admin-image-preview.is-empty img { display: none; }
.admin-image-preview.is-empty .admin-image-preview-placeholder { display: block; }
.admin-industry-entry-media {
  display: grid;
  grid-template-columns: minmax(220px, 328px) minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas:
    "preview controls"
    "preview description";
  gap: 18px 30px;
  align-items: stretch;
}
.admin-industry-entry-media > .admin-image-preview {
  grid-area: preview;
  width: 100%;
  max-width: none;
  aspect-ratio: 800 / 520;
  max-height: none;
  margin-top: 0;
}
.admin-industry-entry-controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  gap: 8px 14px;
  align-items: end;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-entry-controls > .js-image-url {
  grid-column: 1;
  min-width: 0;
}
.admin-industry-entry-controls > .js-image-upload {
  grid-column: 2;
  min-height: 38px;
  align-self: end;
}
.admin-industry-entry-controls > small {
  grid-column: 1 / -1;
}
.admin-industry-entry-description {
  grid-area: description;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 7px;
  min-height: 0;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-entry-description > textarea {
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}
.admin-industry-hero-media {
  display: grid;
  grid-template-columns: minmax(360px, 480px) minmax(300px, 1fr);
  grid-template-areas:
    "preview controls"
    "preview eyebrow"
    "preview title";
  gap: 16px 28px;
  align-items: start;
}
.admin-industry-hero-eyebrow {
  grid-area: eyebrow;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  align-content: end;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-hero-eyebrow > span,
.admin-industry-hero-controls > span {
  display: block;
  line-height: 1.35;
}
.admin-industry-hero-eyebrow > input {
  width: 100%;
  min-width: 0;
}
.admin-industry-hero-title {
  grid-area: title;
  display: grid;
  gap: 7px;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-hero-title > textarea {
  width: 100%;
  min-width: 0;
  min-height: 78px;
}
.admin-industry-hero-media > .admin-image-preview {
  grid-area: preview;
  width: 100%;
  max-width: none;
  aspect-ratio: 2 / 1;
  max-height: none;
  margin-top: 0;
}
.admin-industry-hero-controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(210px, 320px);
  gap: 8px 16px;
  align-content: start;
  align-items: end;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-hero-controls > span {
  grid-column: 1;
}
.admin-industry-hero-controls > .js-image-url {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}
.admin-industry-hero-controls > .js-image-upload {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  min-width: 0;
  min-height: 38px;
}
.admin-video-preview {
  width: min(420px, 100%);
  aspect-ratio: 16 / 9;
  margin-top: 4px;
  border: 1px solid var(--admin-line);
  border-radius: 5px;
  background: #0b1118;
  overflow: hidden;
}
.admin-video-preview video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-video-preview-placeholder { display: none; padding: 12px; color: #d7dde8; font-size: 12px; text-align: center; }
.admin-video-preview.is-empty { display: none; }
.admin-video-preview.is-empty video { display: none; }
.admin-video-preview.is-empty .admin-video-preview-placeholder { display: block; }
.admin-video-media-layout {
  display: grid;
  grid-template-columns: minmax(320px, .7fr) minmax(360px, 1.3fr);
  gap: 18px 26px;
  align-items: start;
}
.admin-video-preview-pane .admin-video-preview { margin-top: 0; }
.admin-video-media-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  gap: 14px 22px;
  align-items: end;
}
.admin-video-media-controls .admin-video-url-field {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}
.admin-video-media-controls .admin-video-url-field > .js-video-url { width: 100%; min-width: 0; }
.admin-video-media-controls .js-video-upload { width: 100%; min-height: 38px; }
.admin-video-publish-options {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 38px;
  align-items: center;
  min-height: 38px;
}
.admin-video-publish-options label {
  display: inline-flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  min-height: 32px;
}
.admin-form-grid label:has(.js-image-url),
.admin-home-section-grid label:has(.js-image-url),
.admin-form-grid label:has(.js-video-url),
.admin-home-section-grid label:has(.js-video-url) {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 10px;
  align-items: end;
}
.admin-form-grid label:has(.js-image-url) > .js-image-url,
.admin-home-section-grid label:has(.js-image-url) > .js-image-url,
.admin-form-grid label:has(.js-video-url) > .js-video-url,
.admin-home-section-grid label:has(.js-video-url) > .js-video-url {
  grid-column: 1;
  min-width: 0;
}
.admin-form-grid label:has(.js-image-url) > .js-image-upload,
.admin-home-section-grid label:has(.js-image-url) > .js-image-upload,
.admin-form-grid label:has(.js-video-url) > .js-video-upload,
.admin-home-section-grid label:has(.js-video-url) > .js-video-upload {
  grid-column: 2;
  min-height: 38px;
  align-self: end;
}
.admin-form-grid label:has(.js-image-url) > .admin-image-preview,
.admin-home-section-grid label:has(.js-image-url) > .admin-image-preview,
.admin-form-grid label:has(.js-video-url) > .admin-video-preview,
.admin-home-section-grid label:has(.js-video-url) > .admin-video-preview {
  grid-column: 1 / -1;
}
.admin-home-section-grid .admin-industry-entry-controls {
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  gap: 8px 14px;
}
.admin-home-section-grid .admin-industry-entry-controls > small {
  grid-column: 1 / -1;
}
.admin-home-section-grid .admin-industry-hero-controls {
  grid-template-columns: minmax(260px, 1fr) minmax(210px, 320px);
  align-items: end;
}
.admin-home-section-grid .admin-industry-hero-controls > .js-image-url {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}
.admin-home-section-grid .admin-industry-hero-controls > .js-image-upload {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  min-width: 0;
}
.admin-industry-case-media {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(320px, 1fr);
  grid-template-areas:
    "preview controls"
    "preview kicker"
    "preview title"
    "preview meta";
  gap: 16px 28px;
  align-items: start;
}
.admin-industry-case-media > .admin-image-preview {
  grid-area: preview;
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  max-height: none;
  margin-top: 0;
}
.admin-industry-case-kicker {
  grid-area: kicker;
  display: grid;
  gap: 7px;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-case-kicker > input {
  width: 100%;
  min-width: 0;
}
.admin-industry-case-title {
  grid-area: title;
  display: grid;
  gap: 7px;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-case-title > textarea {
  width: 100%;
  min-width: 0;
  min-height: 78px;
}
.admin-industry-case-meta {
  grid-area: meta;
  display: grid;
  gap: 7px;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-case-meta > input {
  width: 100%;
  min-width: 0;
}
.admin-industry-case-controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(210px, 320px);
  gap: 8px 16px;
  align-items: end;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-case-controls > .js-image-url {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}
.admin-industry-case-controls > .js-image-upload {
  grid-column: 2;
  min-height: 38px;
  width: 100%;
  min-width: 0;
}
.admin-industry-bottom-card-media {
  display: grid;
  grid-template-columns: minmax(208px, 0.224fr) minmax(0, 0.776fr);
  grid-template-areas:
    "preview controls"
    "preview title";
  gap: 16px 28px;
  align-items: start;
}
.admin-industry-bottom-card-media > .admin-image-preview {
  grid-area: preview;
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  max-height: none;
  margin-top: 0;
}
.admin-industry-bottom-card-media > .admin-image-preview img {
  object-fit: contain;
  background: #fff;
}
.admin-industry-bottom-card-title {
  grid-area: title;
  display: grid;
  gap: 7px;
  justify-self: stretch;
  width: 100%;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-bottom-card-title > input {
  width: 100%;
  min-width: 0;
}
.admin-industry-bottom-card-controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 320px);
  gap: 8px 16px;
  align-items: end;
  justify-items: stretch;
  justify-self: stretch;
  width: 100%;
  color: #627584;
  font-size: 11px;
  font-weight: 700;
}
.admin-industry-bottom-card-controls > span,
.admin-industry-bottom-card-controls {
  text-align: left;
}
.admin-industry-bottom-card-controls > .js-image-url {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}
.admin-industry-bottom-card-controls > .js-image-upload {
  grid-column: 2;
  min-height: 38px;
  width: 100%;
  min-width: 0;
}
.admin-danger-btn { margin-top: 11px; border: 1px solid #f0c8c8; background: #fff; color: #a93d3d; }
.admin-password-panel { max-width: 620px; }
.admin-anchor { display: block; scroll-margin-top: 88px; }

@media (max-width: 1400px) {
  .admin-customer-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .admin-lead-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-customer-detail-summary-grid,
  .admin-trash-actions + .admin-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-quote-detail-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-quote-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-customer-management-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-account-toggle-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .admin-shell { grid-template-columns: minmax(0, 1fr); }
  .admin-sidebar { position: fixed; z-index: 10; left: 0; width: 248px; transform: translateX(-105%); transition: transform 180ms ease; box-shadow: 4px 0 18px rgba(18, 36, 50, .2); }
  .is-menu-open .admin-sidebar { transform: translateX(0); }
  .is-collapsed .admin-brand-copy, .is-collapsed .admin-nav-text, .is-collapsed .admin-nav-heading { display: initial; }
  .is-collapsed .admin-brand { justify-content: flex-start; padding-inline: 16px; }
  .is-collapsed .admin-nav { padding-inline: 10px; }
  .is-collapsed .admin-nav-link, .is-collapsed .admin-collapse-btn { justify-content: flex-start; }
  .is-collapsed .admin-nav-group summary { justify-content: flex-start; }
  .is-collapsed .admin-nav-group summary::after { display: initial; }
  .is-collapsed .admin-nav-sub { display: grid; }
  .admin-collapse-btn { display: none; }
  .admin-mobile-menu { display: block; }
  .admin-topbar { align-items: flex-start; padding: 12px 16px; }
  .admin-toolbar { flex-wrap: wrap; justify-content: flex-end; }
  .admin-user { display: none; }
  .admin-content { padding: 16px; }
  .admin-grid-two { grid-template-columns: 1fr; }
  .admin-overview-top-grid { grid-template-columns: 1fr; }
  .admin-customer-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-customer-insights { grid-template-columns: 1fr; }
  .admin-customer-filterbar { align-items: stretch; }
  .admin-customer-filterbar input, .admin-customer-filterbar select, .admin-customer-filterbar .btn { width: 100%; }
  .admin-profile-form-grid,
  .admin-field-list-wide {
    grid-template-columns: 1fr;
  }
  .admin-account-toggle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-equipment-media-layout { grid-template-columns: 1fr; }
  .admin-industry-entry-media {
    grid-template-columns: 1fr;
    grid-template-areas:
      "preview"
      "controls"
      "description";
  }
  .admin-industry-hero-media {
    grid-template-columns: 1fr;
    grid-template-areas:
      "preview"
      "eyebrow"
      "title"
      "controls";
  }
  .admin-industry-case-media {
    grid-template-columns: 1fr;
    grid-template-areas:
      "preview"
      "controls"
      "kicker"
      "title"
      "meta";
  }
  .admin-industry-case-controls {
    grid-template-columns: 1fr;
  }
  .admin-industry-case-controls > .js-image-url,
  .admin-industry-case-controls > .js-image-upload {
    grid-column: 1;
  }
  .admin-industry-bottom-card-media {
    grid-template-columns: 1fr;
    grid-template-areas:
      "preview"
      "title"
      "controls";
  }
  .admin-industry-bottom-card-controls {
    grid-template-columns: 1fr;
  }
  .admin-industry-bottom-card-controls > .js-image-url,
  .admin-industry-bottom-card-controls > .js-image-upload {
    grid-column: 1;
  }
  .admin-home-section-grid .admin-industry-entry-controls,
  .admin-industry-entry-controls {
    grid-template-columns: 1fr;
  }
  .admin-industry-entry-controls > .js-image-url,
  .admin-industry-entry-controls > .js-image-upload {
    grid-column: 1;
  }
  .admin-equipment-image-path,
  .admin-equipment-media-layout > .admin-image-preview,
  .admin-equipment-summary-field { grid-column: 1; }
  .admin-equipment-media-layout > .admin-image-preview,
  .admin-equipment-summary-field { grid-row: auto; }
  .admin-equipment-media-layout > .admin-image-preview {
    width: 100%;
    height: 180px;
  }
  .admin-protection-form {
    grid-template-columns: 1fr;
  }
  .admin-protection-action-row { grid-template-columns: auto auto; }
  .admin-protection-action-row .admin-help { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .admin-topbar { display: block; }
  .admin-toolbar { justify-content: flex-start; margin-top: 10px; }
  .admin-toolbar label { display: none; }
  .admin-view-site { display: none; }
  .admin-intro { align-items: flex-start; padding: 16px; }
  .admin-intro .btn { display: none; }
  .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-customer-kpis { grid-template-columns: 1fr; }
  .admin-stat { min-height: 70px; padding: 10px; }
  .admin-filterbar { align-items: stretch; flex-direction: column; }
  .admin-filterbar input { min-width: 0; }
  .admin-lead-head { display: block; }
  .admin-lead-head time { display: block; margin-top: 6px; }
  .admin-lead-meta { grid-template-columns: 1fr; }
  .admin-lead-action-grid { grid-template-columns: 1fr; }
  .admin-lead-context-grid { grid-template-columns: 1fr; }
  .admin-lead-context-grid section { min-height: 0; }
  .admin-lead-quote-form { grid-template-columns: 1fr; }
  .admin-lead-followup { grid-template-columns: 1fr; }
  .admin-customer-detail-summary-grid,
  .admin-trash-actions + .admin-detail-grid { grid-template-columns: 1fr; }
  .admin-quote-detail-summary-grid { grid-template-columns: 1fr; }
  .admin-quote-link-grid { grid-template-columns: 1fr; }
  .admin-customer-management-grid { grid-template-columns: 1fr; }
  .admin-customer-notes-login-row { grid-template-columns: 1fr; }
  .admin-customer-portal-summary { grid-template-columns: 1fr; }
  .admin-customer-temporary-password-row { grid-template-columns: 1fr; }
  .admin-customer-temporary-password-box { flex-wrap: wrap; }
  .admin-customer-commercial-form,
  .admin-customer-invoice-fields { grid-template-columns: 1fr; }
  .admin-detail-grid { grid-template-columns: 1fr; }
  .admin-order-summary-grid { grid-template-columns: 1fr; }
  .admin-customer-detail-summary-grid section,
  .admin-trash-actions + .admin-detail-grid section { min-height: 0; }
  .admin-quote-detail-summary-grid section { min-height: 0; }
  .admin-quote-link-grid section { min-height: 0; }
  .admin-customer-detail-summary-grid dl,
  .admin-trash-actions + .admin-detail-grid dl { grid-template-columns: 1fr; }
  .admin-quote-detail-summary-grid dl { grid-template-columns: 1fr; }
  .admin-quote-link-grid dl { grid-template-columns: 1fr; }
  .admin-detail-grid dl { grid-template-columns: 1fr; }
  .admin-payable-receipt-list {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }
  .admin-payable-receipt-list dt:nth-of-type(n),
  .admin-payable-receipt-list dd:nth-of-type(n) {
    grid-column: auto;
  }
  .admin-payable-receipt-list dt,
  .admin-payable-receipt-list dd {
    grid-row: auto;
  }
  .admin-db-source-grid { grid-template-columns: 1fr; }
  .admin-quote-maintenance-split,
  .admin-quote-maintenance-form,
  .admin-quote-convert-detail { grid-template-columns: 1fr; }
  .admin-quote-notes-save-row { grid-template-columns: 1fr; }
  .admin-costing-change-request-form .btn {
    min-height: 42px;
  }
  .admin-quote-maintenance-summary { grid-template-columns: 1fr; gap: 6px; }
  .admin-engineering-costing-form .span-2,
  .admin-engineering-costing-form .span-3 { grid-column: 1 / -1; }
  .admin-vacuum-link-grid, .admin-vacuum-order-grid, .admin-vacuum-product-grid, .admin-vacuum-material-grid, .admin-vacuum-material-snapshot-grid, .admin-vacuum-process-grid, .admin-vacuum-finish-grid, .admin-vacuum-master-grid, .admin-vacuum-silicone-grid { grid-template-columns: 1fr; }
  .admin-business-form { grid-template-columns: 1fr; }
  .admin-business-panel > summary { align-items: flex-start; }
  .admin-row-detail dl { grid-template-columns: 1fr; }
  .admin-field-row {
    grid-template-columns: 1fr;
  }
  .admin-extra-row {
    grid-template-columns: 1fr 34px;
  }
  .admin-field-row > span {
    border-right: 0;
    border-bottom: 1px solid var(--admin-line);
  }
  .admin-extra-row .admin-extra-label-input {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 1px solid var(--admin-line);
  }
  .admin-extra-row input[name="extra_value"] {
    grid-column: 1 / 2;
  }
  .admin-extra-remove {
    grid-column: 2 / 3;
    grid-row: 2;
    min-height: 36px;
  }
  .admin-lead-detail .admin-lead-followup { grid-template-columns: 1fr; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form-grid.admin-user-profile-form { grid-template-columns: 1fr; }
  .admin-form-grid.admin-rfq-process-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .admin-form-grid.admin-rfq-process-form .admin-rfq-toggle {
    grid-column: 2 / 3;
  }
  .admin-form-grid.admin-rfq-process-form .admin-rfq-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
  .admin-form-grid.admin-rfq-material-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .admin-form-grid.admin-rfq-material-form .admin-rfq-toggle {
    grid-column: 2 / 3;
  }
  .admin-form-grid.admin-rfq-material-form .admin-rfq-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
  .admin-user-save-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .admin-user-save-row .admin-password-reset-form label {
    grid-template-columns: 1fr;
  }
  .admin-user-save-row .admin-password-reset-form small {
    grid-column: 1;
    grid-row: auto;
  }
  .admin-user-save-row .btn {
    width: 100%;
  }
  .admin-form-grid label { grid-column: 1 / -1; }
  .admin-rfq-material-group {
    grid-template-columns: 1fr;
  }
  .admin-rfq-material-list {
    max-height: calc(6 * 92px);
  }
  .admin-rfq-material-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .admin-form-grid.admin-rfq-material-row label {
    grid-column: 1 / -1;
  }
  .admin-form-grid.admin-rfq-material-row .admin-rfq-toggle {
    grid-column: 1 / 2;
    justify-self: start;
  }
  .admin-form-grid.admin-rfq-material-row .admin-rfq-actions {
    grid-column: 2 / 3;
  }
  .admin-supplier-card-grid,
  .admin-outsource-supplier-form,
  .admin-supplier-mini-form { grid-template-columns: 1fr; }
  .admin-material-cost-form .admin-material-create-actions { grid-column: 1 / -1; }
  .admin-video-media-layout { grid-template-columns: 1fr; }
  .admin-video-media-controls { grid-template-columns: 1fr; }
  .admin-workflow-table .admin-quote-actions { min-width: 300px; }
  .admin-order-maintenance-form { grid-template-columns: 1fr; }
  .admin-order-maintenance-form .admin-order-compact-field,
  .admin-order-maintenance-form .admin-order-wide-field { grid-column: 1; }
  .admin-order-maintenance-form .admin-order-compact-field,
  .admin-order-maintenance-form .admin-order-wide-field,
  .admin-order-maintenance-form .admin-order-submit { grid-row: auto; }
  .admin-order-date-field { grid-template-columns: 1fr; }
  .admin-order-shipment-form { grid-template-columns: 1fr; }
  .admin-order-shipment-fields,
  .admin-order-shipment-side { grid-template-columns: 1fr; }
  .admin-order-payment-card { grid-template-columns: 1fr; }
  .admin-order-payment-form { grid-template-columns: 1fr; }
  .admin-order-payment-fields { grid-template-columns: 1fr; }
  .admin-order-receipt-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-order-single-payment-form {
    grid-template-columns: 1fr;
  }
  .admin-order-batch-payment-fields { grid-template-columns: 1fr; }
  .admin-order-detail-batch-payment-section .admin-order-batch-payment-row-primary,
  .admin-order-batch-payment-row-secondary { grid-template-columns: 1fr; }
  .admin-order-detail-batch-fields { grid-template-columns: 1fr; }
  .admin-order-batch-payment-form .admin-batch-payment-toolbar { flex-wrap: wrap; }
  .admin-order-batch-payment-form .admin-batch-payment-total { margin-left: 0; }
  .admin-order-batch-payment-form .admin-order-batch-submit { flex: 1 1 100%; }
  .admin-quote-action-row-2,
  .admin-quote-costing-row,
  .admin-quote-button-row,
  .admin-quote-convert-row,
  .admin-quote-sales-actions,
  .admin-quote-costing-result-form,
  .admin-quote-costing-submit-row,
  .admin-costing-request-submit-row { grid-template-columns: 1fr; }
  .admin-quote-sales-actions .admin-quote-convert-form { grid-template-columns: 1fr; }
  .admin-section-head { display: grid; align-items: start; }
  .admin-section-head p { max-width: none; text-align: left; }
  .admin-home-section-grid { grid-template-columns: 1fr; }
  .admin-home-section-grid label { grid-column: 1 / -1; }
  .admin-seo-status-grid { grid-template-columns: 1fr; }
  .admin-order-story-media { grid-template-columns: 1fr; }
  .admin-order-story-media .admin-image-preview,
  .admin-order-story-image-path,
  .admin-order-story-upload-slot,
  .admin-order-story-media-controls { grid-column: 1; grid-row: auto; }
  .admin-order-story-media-controls { grid-template-columns: 1fr; }
  .admin-asset-filterbar { grid-template-columns: 1fr; }
  .admin-asset-grid { grid-template-columns: 1fr; }
  .admin-asset-card { min-height: 0; }
  .admin-seo-preview-grid { grid-template-columns: 1fr; }
  .admin-inline-submit-row { align-items: stretch; flex-direction: column; }
  .admin-market-activity-actions { grid-column: 1 / -1; }
  .admin-button-row { justify-content: stretch; }
  .admin-button-row .btn { flex: 1 1 160px; }
  .resource-detail-share-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resource-detail-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-recent-lead { grid-template-columns: 74px minmax(0, 1fr); }
  .admin-recent-lead time { display: none; }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .admin-asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.page-shell {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

.global-flash-wrap {
  padding: 20px 0 0;
}

.page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 30px;
}

.page-head h2 {
  margin: 0;
}

.page-grid-two {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 40px;
  margin-bottom: 40px;
  align-items: start;
}

.quote-next-steps-grid {
  margin-bottom: 0;
}

.page-card {
  background: #f8f8f8;
  padding: 24px;
  border-radius: 8px;
}

.page-card-accent {
  background: #f0f7ff;
  border: 2px solid #0056b3;
}

/* Customer quote detail: preserve readable left-aligned requirements while
   centering only the pricing summary and customer actions. */
.quote-detail-pricing-grid > .quote-pricing-panel,
.quote-pricing-card {
  text-align: center;
}

.quote-detail-content {
  text-align: left;
}

.quote-pricing-password-action {
  display: flex;
  justify-content: center;
}

.quote-pricing-action-form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.quote-pricing-action-form .btn,
.quote-pricing-action-form .field-control {
  text-align: center;
}

/* Customer request detail: match the customer portal's neutral page and card hierarchy. */
.customer-request-page {
  background: #f3f6fa;
  padding: 28px 0 60px;
}

.customer-request-page > .container {
  width: min(var(--container), calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

/* Keep payment confirmation aligned with the customer request detail layout. */
.payment-submission-page > .container {
  width: min(var(--container), calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

.payment-submission-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.payment-submission-fields .field-label {
  min-width: 0;
  margin: 0;
}

.payment-submission-fields .payment-submission-notes {
  grid-column: span 2;
}

.customer-request-page .page-card {
  background: #fff;
  border: 1px solid #dfe7f0;
  box-shadow: 0 12px 28px rgba(20, 44, 72, 0.06);
}

.customer-request-page .page-card-accent {
  background: #fff;
  border: 1px solid #dfe7f0;
}

/* The original customer requirement is the primary content; status stays compact. */
.customer-request-page .customer-request-summary-grid {
  grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr);
  align-items: start;
  margin-bottom: 0;
}

.customer-request-page .customer-request-status {
  align-self: start;
}

.customer-request-page .customer-request-latest-message {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #dfe7f0;
}

.customer-request-page .customer-request-latest-message h3 {
  margin: 0 0 10px;
  font-size: 18px;
}

.customer-request-page .customer-request-latest-message p {
  max-height: 180px;
  margin: 0;
  overflow: auto;
  white-space: pre-line;
}

.order-detail-header,
.order-detail-page {
  background: #f3f6fa;
}

.order-detail-header {
  padding: 28px 0 12px;
}

.order-detail-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.order-detail-header-copy {
  min-width: 0;
}

.order-detail-back {
  flex: 0 0 auto;
  white-space: nowrap;
}

.order-detail-header h1 {
  margin: 4px 0 8px;
  color: #17365d;
}

.order-detail-header p:last-child {
  margin: 0;
  color: #5f728a;
}

@media (max-width: 640px) {
  .order-detail-header-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .order-detail-back {
    align-self: flex-start;
  }
}

.order-detail-page {
  padding: 24px 0 60px;
}

.order-detail-page .page-card {
  background: #fff;
  border: 1px solid #dfe7f0;
  box-shadow: 0 12px 28px rgba(20, 44, 72, 0.06);
}

.order-detail-page .page-card-accent {
  background: #f0f7ff;
}

.order-payment-actions .order-payment-under-review {
  text-align: center;
}

.order-activity {
  margin-top: 36px;
}

.order-activity > h2 {
  margin-bottom: 18px;
}

.customer-request-page .hero2-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.customer-request-page .hero2-actions {
  margin-left: auto;
  flex: 0 0 auto;
}

.customer-request-page .request-file-action-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.customer-request-page .request-file-action-row .cad-file-picker-control {
  flex: 1 1 auto;
  margin: 0;
}

.customer-request-page .request-save-button {
  flex: 0 0 auto;
  margin: 0;
  white-space: nowrap;
}

.customer-request-page .request-fields {
  display: grid;
  gap: 18px;
}

.customer-request-page .request-fields-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-request-page .request-fields-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.customer-request-page .request-fields .field-label {
  min-width: 0;
  margin: 0;
}

@media (max-width: 767px) {
  .customer-request-page {
    padding: 20px 0 44px;
  }

  .customer-request-page > .container {
    width: calc(100% - 32px);
  }

  .payment-submission-page > .container {
    width: calc(100% - 32px);
  }

  .payment-submission-fields {
    grid-template-columns: 1fr;
  }

  .payment-submission-fields .payment-submission-notes {
    grid-column: auto;
  }

  .customer-request-page .hero2-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .customer-request-page .hero2-actions {
    margin-left: 0;
  }

  .customer-request-page .customer-request-summary-grid {
    grid-template-columns: 1fr;
  }

  .customer-request-page .request-file-action-row {
    align-items: stretch;
    flex-direction: column;
  }

  .customer-request-page .request-save-button {
    align-self: flex-start;
  }

  .customer-request-page .request-fields-three,
  .customer-request-page .request-fields-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-request-page .request-fields-three .field-label:first-child {
    grid-column: 1 / -1;
  }
}

.order-payment-actions {
  margin-top: 14px;
}

.order-payment-actions .btn {
  width: 100%;
  justify-content: center;
}

.payment-account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  margin-bottom: 26px;
}

.payment-account-card {
  display: grid;
  gap: 18px;
}

.payment-account-card-head h2 {
  margin: 0;
  font-size: 22px;
}

.payment-account-card-head p {
  margin: 6px 0 0;
  color: #5f7284;
}

.payment-account-list {
  display: grid;
  grid-template-columns: minmax(110px, max-content) minmax(0, 1fr);
  gap: 10px 16px;
  margin: 0;
}

.payment-account-list dt {
  color: #5f7284;
  font-weight: 700;
}

.payment-account-list dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.stack-spaced {
  margin-bottom: 40px;
}

.form-stack {
  max-width: 800px;
  margin: 0 auto;
}

.contact-form-stack {
  max-width: none;
  margin: 0;
}

.contact-page-grid {
  align-items: start;
}

.contact-page-ctas {
  margin-top: 18px;
}

.contact-success-panel-inline {
  max-width: 920px;
  margin: 0 auto 28px;
}

.contact-success-panel {
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid #cfe3f8;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
}

.contact-success-panel h4 {
  margin: 0 0 8px;
  color: #0f4c8b;
  font-size: 20px;
  line-height: 1.25;
}

.contact-success-panel p {
  margin: 0;
  color: #39506b;
}

.contact-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.contact-support-grid {
  margin-top: 0;
}

.contact-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 0 0 32px;
}

.contact-overview-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
  border: 1px solid #e3ebf4;
  border-radius: 14px;
  padding: 24px 22px;
  box-shadow: 0 14px 32px rgba(15, 36, 68, 0.08);
}

.contact-overview-card .material-symbols-outlined {
  font-size: 36px;
  color: #163455;
  margin-bottom: 14px;
}

.contact-overview-card h3 {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.25;
  color: #163455;
}

.contact-overview-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #5f7189;
}

.contact-overview-card p + p {
  margin-top: 6px;
}

.contact-overview-card a {
  color: #0056b3;
}

.contact-structured-panels {
  margin-top: 0;
}

.contact-structured-grid {
  gap: 30px;
}

.contact-structured-grid p {
  color: #4d5f77;
  line-height: 1.7;
}

.quote-create-intro {
  max-width: 760px;
  margin: 0 auto 24px;
  color: #4c5b73;
}

.rfq-page-shell {
  max-width: 1240px;
}

.rfq-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.9fr);
  gap: 28px;
  align-items: start;
  margin-bottom: 32px;
}

.rfq-intro-copy h2 {
  margin: 0 0 12px;
  font-size: clamp(19px, 1.75vw, 26px);
  line-height: 1.12;
  color: #1f2937;
}

.rfq-eyebrow {
  margin: 0 0 10px;
  color: #0056b3;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rfq-intro-copy .quote-create-intro {
  max-width: none;
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
}

.rfq-intro-points {
  display: grid;
  gap: 14px;
}

.rfq-point {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 18px 18px;
  border: 1px solid #dbe7f3;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.rfq-point .material-symbols-outlined {
  color: #0f4c8b;
  font-size: 26px;
}

.rfq-point strong {
  display: block;
  margin-bottom: 6px;
  color: #17375d;
}

.rfq-point p {
  margin: 0;
  color: #5e7189;
  line-height: 1.6;
}

.rfq-form-shell {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.9fr);
  gap: 28px;
  align-items: start;
}

.rfq-form-main {
  min-width: 0;
}

.rfq-intro-copy + .rfq-section {
  margin-top: 50px;
}

.rfq-guidance-column {
  min-width: 0;
}

.rfq-guidance-column .rfq-sidebar {
  margin-top: 18px;
}

.rfq-section {
  padding: 28px 28px 30px;
  border: 1px solid #dce7f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 36, 68, 0.06);
}

.rfq-section + .rfq-section {
  margin-top: 22px;
}

.rfq-section-head {
  margin-bottom: 22px;
}

.rfq-step {
  margin: 0 0 8px;
  color: #0056b3;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rfq-section-head h3 {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.35;
  color: #1f2937;
}

.rfq-section-head p {
  margin: 0;
  color: #5f7189;
  line-height: 1.65;
}

.rfq-section-head.compact {
  margin: 8px 0 0;
}

.rfq-section-head.compact h3 {
  font-size: 16px;
  margin-bottom: 4px;
}

.rfq-section-head.compact p {
  font-size: 14px;
  line-height: 1.5;
}

.rfq-upload-card {
  margin-bottom: 20px;
  padding: 22px;
  border: 1px dashed #a9c4e4;
  border-radius: 16px;
  background: #f8fbff;
}

.rfq-upload-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.rfq-upload-notes span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #e8f2fd;
  color: #244f7d;
  font-size: 13px;
  font-weight: 600;
}

.rfq-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.rfq-contact-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 16px;
  border-radius: 14px;
  background: #f7fafd;
  border: 1px solid #e3ebf4;
}

.rfq-contact-card .material-symbols-outlined {
  color: #0f4c8b;
  font-size: 24px;
}

.rfq-contact-card strong {
  display: block;
  margin-bottom: 4px;
  color: #17375d;
}

.rfq-contact-card p {
  margin: 0;
  color: #5f7189;
  line-height: 1.5;
}

.rfq-contact-form-grid {
  margin-bottom: 0;
}

.rfq-submit-row {
  margin-top: 24px;
}

.rfq-sidebar {
  display: grid;
  gap: 18px;
}

.rfq-sidebar-card {
  padding: 22px 22px 24px;
  border-radius: 18px;
  background: #0f4c8b;
  color: #fff;
  box-shadow: 0 16px 38px rgba(15, 36, 68, 0.14);
}

.rfq-sidebar-card:nth-child(2) {
  background: #17375d;
}

.rfq-sidebar-card:nth-child(3) {
  background: #ffffff;
  color: #1f2937;
  border: 1px solid #dce7f2;
  box-shadow: 0 14px 34px rgba(15, 36, 68, 0.06);
}

.rfq-sidebar-card h3 {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.2;
}

.rfq-sidebar-card p {
  margin: 0;
  line-height: 1.65;
}

.rfq-sidebar-card p + p {
  margin-top: 14px;
}

.rfq-process-list,
.rfq-check-list {
  margin: 0;
  padding-left: 20px;
  line-height: 1.7;
}

.rfq-process-list li + li,
.rfq-check-list li + li {
  margin-top: 8px;
}

.form-grid-responsive {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 30px;
}

.span-full {
  grid-column: 1 / -1;
}

.field-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.field-control,
.field-textarea,
.field-select-control {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  font: inherit;
}

.date-field-control {
  position: relative;
}

.date-field-control .field-control {
  padding-right: 52px;
}

.date-picker-button {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #0b1f3f;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.date-picker-button .material-symbols-outlined {
  font-size: 24px;
}

.native-date-picker {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
}

.field-help {
  margin: 8px 0 0;
  color: #63748c;
  font-size: 0.9rem;
}

.field-textarea {
  resize: vertical;
}

.center-actions {
  text-align: center;
}

.table-scroll {
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.data-table thead tr {
  background: #f8f8f8;
}

.data-table th,
.data-table td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}

.data-table th {
  border-bottom-width: 2px;
  font-weight: 700;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 14px;
}

.status-pill.pending,
.status-pill.processing {
  background: #fff3cd;
  color: #856404;
}

.status-pill.ordered,
.status-pill.in_production {
  background: #d1ecf1;
  color: #0c5460;
}

.status-pill.completed,
.status-pill.delivered {
  background: #d4edda;
  color: #155724;
}

.empty-state {
  text-align: center;
  padding: 60px 24px;
  background: #f8f8f8;
  border-radius: 8px;
}

.portal-shell {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px 24px 60px;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 24px;
  background: #f3f6fa;
}

.portal-sidebar {
  align-self: start;
  position: sticky;
  top: 116px;
}

.portal-sidebar-card,
.portal-panel,
.portal-alert {
  background: #fff;
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(20, 44, 72, 0.06);
}

.portal-sidebar-card {
    padding: 20px;
    margin-bottom: 14px;
  }

  .portal-manager-card dl {
    display: grid;
    gap: 7px;
    margin: 10px 0 0;
  }

  .portal-manager-card h2 {
    color: #47566c;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
  }

  .portal-manager-card dt {
    color: #47566c;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.45;
  }

  .portal-manager-card dd {
    margin: -4px 0 2px;
    color: #63748c;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .portal-manager-card a {
    color: #0056b3;
    font-weight: 500;
    text-decoration: none;
  }

.portal-sidebar-card h2,
.portal-panel h2,
.portal-topbar h1 {
  margin: 0;
  color: #17233c;
  letter-spacing: 0;
}

.portal-sidebar-card h2 {
  font-size: 19px;
  line-height: 1.25;
}

.portal-manager-card h2 {
  font-size: 14px;
}

.portal-sidebar-card small,
.portal-panel-head p,
.portal-detail-list dd,
.portal-list-row small,
.portal-data-table small {
  color: #63748c;
}

.portal-eyebrow {
  margin: 0 0 6px;
  color: #0056b3;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.portal-nav {
  background: #fff;
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  padding: 14px;
}

.portal-nav p {
  margin: 16px 10px 8px;
  color: #17233c;
  font-size: 13px;
  font-weight: 800;
}

.portal-nav p:first-child {
  margin-top: 4px;
}

.portal-nav-link {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 6px;
  color: #47566c;
  text-decoration: none;
  font-size: 14px;
}

.portal-nav-link:hover,
.portal-nav-link.active {
  background: #eef5ff;
  color: #0056b3;
  text-decoration: none;
}

.portal-nav-link .material-symbols-outlined {
  font-size: 20px;
}

.portal-nav-link strong {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #f05b68;
  color: #fff;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.portal-main {
  min-width: 0;
}

.portal-topbar {
  min-height: 76px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.portal-topbar h1 {
  font-size: 30px;
  line-height: 1.15;
}

.portal-topbar-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.portal-toplink {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 6px;
  color: #47566c;
  text-decoration: none;
  font-weight: 700;
}

.portal-toplink:hover,
.portal-toplink.active {
  background: #fff;
  color: #0056b3;
  text-decoration: none;
}

.portal-primary-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 6px;
  background: #0056d6;
  color: #fff;
  text-decoration: none;
  border: 0;
  font-weight: 800;
}

.portal-primary-action:hover {
  background: #0047b3;
  color: #fff;
  text-decoration: none;
}

.portal-primary-action .material-symbols-outlined {
  font-size: 22px;
}

.portal-alert {
  margin-bottom: 20px;
  padding: 18px 20px;
  border-left: 4px solid #0056d6;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.portal-alert p {
  margin: 4px 0 0;
  color: #63748c;
}

.portal-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.portal-metric {
  min-height: 104px;
  padding: 20px;
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  background: #fff;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  color: #17233c;
  text-decoration: none;
}

.portal-metric:hover {
  border-color: #9fc4f1;
  text-decoration: none;
}

.portal-metric .material-symbols-outlined {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #eef5ff;
  color: #0056b3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.portal-metric strong {
  display: block;
  font-size: 28px;
  line-height: 1;
}

.portal-metric small {
  display: block;
  margin-top: 6px;
  color: #63748c;
  font-weight: 700;
}

.portal-grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 20px;
}

.portal-panel {
  padding: 24px;
  margin-bottom: 20px;
}

.portal-account-security-panel {
  position: relative;
  padding-bottom: 78px;
}

.portal-security-action {
  position: absolute;
  right: 24px;
  bottom: 24px;
}

.portal-grid-two .portal-panel {
  margin-bottom: 0;
}

.portal-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.portal-panel-head h2 {
  font-size: 21px;
  line-height: 1.25;
}

.portal-panel-head p {
  margin: 7px 0 0;
  line-height: 1.5;
}

.portal-panel-head > a:not(.portal-primary-action) {
  color: #0056b3;
  font-weight: 800;
  text-decoration: none;
}

.portal-list {
  display: grid;
  gap: 10px;
}

.portal-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid #e5ebf2;
  border-radius: 8px;
  background: #fbfcfe;
  color: #17233c;
  text-decoration: none;
}

.portal-list-row:hover {
  border-color: #b7d2f3;
  text-decoration: none;
}

.portal-list-row strong,
.portal-list-row small {
  display: block;
}

.portal-list-row em {
  margin-top: 6px;
  font-style: normal;
}

.portal-list.compact .portal-list-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.portal-list.compact.portal-summary-list .portal-list-row.portal-summary-row {
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
}

.portal-list.compact.portal-summary-list .portal-quote-summary-row {
  grid-template-columns: minmax(72px, 0.55fr) minmax(110px, 1fr) 92px auto;
}

.portal-list.compact.portal-summary-list .portal-order-summary-row {
  grid-template-columns: minmax(190px, 1.6fr) minmax(70px, 0.55fr) 92px auto;
}

.portal-summary-row > span {
  min-width: 0;
}

.portal-summary-row strong,
.portal-summary-row small {
  overflow-wrap: anywhere;
}

.portal-summary-row > span:nth-child(3),
.portal-summary-row > span:last-child {
  text-align: right;
  white-space: nowrap;
}

.portal-summary-row em {
  margin-top: 0;
}

.portal-list.compact.portal-activity-list .portal-list-row.portal-activity-row {
  grid-template-columns: minmax(150px, 0.8fr) minmax(180px, 1fr) minmax(240px, 1.8fr) 110px;
  align-items: center;
  gap: 18px;
  padding: 12px 14px;
}

.portal-activity-row > span {
  min-width: 0;
}

.portal-activity-row strong,
.portal-activity-row small,
.portal-activity-message {
  overflow-wrap: anywhere;
}

.portal-activity-message {
  color: #52647d;
  line-height: 1.45;
}

.portal-activity-row > span:last-child {
  text-align: right;
  white-space: nowrap;
}

.portal-list-row p {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  color: #52647d;
  line-height: 1.5;
}

.portal-detail-list {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(120px, 0.45fr) minmax(0, 1fr);
  gap: 12px 18px;
}

.portal-detail-list dt {
  color: #17233c;
  font-weight: 800;
}

.portal-detail-list dd {
  margin: 0;
  min-width: 0;
}

.portal-empty {
  min-height: 220px;
  padding: 42px 20px;
  border: 1px dashed #d8e2ee;
  border-radius: 8px;
  background: #fbfcfe;
  text-align: center;
  color: #63748c;
}

.portal-empty .material-symbols-outlined {
  font-size: 64px;
  color: #c8d3df;
}

.portal-empty h3 {
  margin: 10px 0 6px;
  color: #17233c;
}

.portal-empty a:not(.portal-primary-action) {
  color: #0056b3;
  font-weight: 800;
}

.portal-filterbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 0.9fr) 150px 150px auto auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}

.portal-filterbar input,
.portal-filterbar select,
.portal-form input,
.portal-form select,
.portal-form textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #cfd9e6;
  border-radius: 6px;
  background: #fff;
  color: #17233c;
  font: inherit;
}

.portal-filterbar input:focus,
.portal-filterbar select:focus,
.portal-form input:focus,
.portal-form select:focus,
.portal-form textarea:focus {
  outline: none;
  border-color: #0056b3;
  box-shadow: 0 0 0 3px rgba(0, 86, 179, 0.12);
}

.portal-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 8px 0 20px;
  border-bottom: 1px solid #dfe7f0;
}

.portal-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  color: #47566c;
  text-decoration: none;
  font-weight: 800;
  border-bottom: 3px solid transparent;
}

.portal-tabs a.active,
.portal-tabs a:hover {
  color: #0056d6;
  border-bottom-color: #0056d6;
  text-decoration: none;
}

.portal-tabs span {
  color: #8794a6;
  font-size: 13px;
}

.portal-data-table td strong,
.portal-data-table td small {
  display: block;
}

.portal-data-table td small {
  margin-top: 5px;
}

.quote-list-table {
  min-width: 960px;
}

.quote-list-table th,
.quote-list-table td {
  text-align: center;
  vertical-align: middle;
}

.quote-list-table td strong,
.quote-list-table td small {
  text-align: center;
}

.quote-list-table th:nth-child(6),
.quote-list-table td:nth-child(6) {
  white-space: nowrap;
}

.quote-list-table th:nth-child(7),
.quote-list-table td:nth-child(7) {
  min-width: 145px;
  white-space: nowrap;
}

.quote-list-table th:nth-child(8),
.quote-list-table td:nth-child(8) {
  min-width: 180px;
  overflow-wrap: anywhere;
}

.order-list-table {
  min-width: 1280px;
  table-layout: fixed;
}

.order-list-table th {
  text-align: center;
  vertical-align: middle;
}

.order-list-table td {
  text-align: center;
  vertical-align: middle;
}

.order-list-table th:nth-child(1), .order-list-table td:nth-child(1) { width: 12%; }
.order-list-table th:nth-child(2), .order-list-table td:nth-child(2) { width: 12%; }
.order-list-table th:nth-child(3), .order-list-table td:nth-child(3) { width: 9%; }
.order-list-table th:nth-child(4), .order-list-table td:nth-child(4) { width: 17%; white-space: nowrap; }
.order-list-table th:nth-child(5), .order-list-table td:nth-child(5) { width: 7%; white-space: nowrap; }
.order-list-table th:nth-child(6), .order-list-table td:nth-child(6) { width: 10%; white-space: nowrap; }
.order-list-table th:nth-child(7), .order-list-table td:nth-child(7) { width: 17%; overflow-wrap: anywhere; }
.order-list-table th:nth-child(8), .order-list-table td:nth-child(8) { width: 16%; overflow-wrap: anywhere; }

.portal-pagination {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 18px 0 0;
}

.portal-pagination a {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cfd9e6;
  border-radius: 6px;
  background: #fff;
  color: #47566c;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.portal-pagination a:hover,
.portal-pagination a.active {
  border-color: #0056d6;
  background: #0056d6;
  color: #fff;
  text-decoration: none;
}

.portal-card-pagination {
  margin-top: 14px;
}

.portal-order-status-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.portal-order-status-cell .portal-payment-status-pill {
  display: inline-flex;
  width: fit-content;
  margin: 0;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef4ff;
  color: #315a91;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
}

.portal-order-status-cell .portal-payment-status-pill.needs_action {
  background: #fff1d6;
  color: #9a5d00;
}

.portal-order-status-cell .portal-payment-status-pill.history {
  background: #edf7f0;
  color: #287247;
}

@media (max-width: 720px) {
  .portal-tabs {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .portal-tabs a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .portal-order-status-cell .portal-payment-status-pill {
    max-width: 150px;
  }
}

.portal-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.portal-form-grid label {
  display: grid;
  gap: 7px;
  color: #17233c;
  font-weight: 800;
}

.portal-form-grid .wide {
  grid-column: 1 / -1;
}

.portal-form textarea {
  resize: vertical;
}

.portal-form-actions {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.portal-count {
  min-width: 64px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #eef5ff;
  color: #0056b3;
  font-size: 14px;
}

.portal-checkline {
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #17233c;
  font-weight: 800;
}

.portal-checkline input {
  width: 18px;
  height: 18px;
}

.portal-address-list {
  display: grid;
  gap: 14px;
}

.portal-address-card {
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  background: #fbfcfe;
  padding: 18px;
}

.portal-address-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.portal-address-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #17233c;
}

.portal-address-title span {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #e7f6ee;
  color: #137a46;
  font-size: 12px;
  font-weight: 800;
}

.portal-address-summary p {
  margin: 6px 0 0;
  color: #52647d;
  line-height: 1.5;
}

.portal-address-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.portal-address-edit {
  margin-top: 14px;
  border-top: 1px solid #e5ebf2;
  padding-top: 12px;
}

.portal-address-edit summary {
  cursor: pointer;
  color: #0056b3;
  font-weight: 800;
}

.service-policy-panel {
  background: #fff;
}

.service-policy-frame {
  max-width: 1040px;
  margin: 0 auto;
  padding: 44px 56px;
  border: 3px solid #b7d2f3;
  border-radius: 4px;
  background: #fff;
  color: #111827;
}

.service-policy-header {
  text-align: center;
  margin-bottom: 28px;
}

.service-policy-header h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.2;
}

.service-policy-header p {
  max-width: 760px;
  margin: 12px auto 0;
  color: #52647d;
  line-height: 1.6;
}

.service-policy-body {
  display: grid;
  gap: 26px;
  font-size: 16px;
  line-height: 1.75;
}

.service-policy-body section {
  display: grid;
  gap: 10px;
}

.service-policy-body h3 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  line-height: 1.4;
}

.service-policy-body p,
.service-policy-body ol,
.service-policy-contact {
  margin: 0;
}

.service-policy-body ol {
  padding-left: 22px;
}

.service-policy-contact {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 6px 18px;
}

.service-policy-contact dt {
  font-weight: 800;
}

.service-policy-contact dd {
  margin: 0;
}

.service-policy-contact dd span {
  display: block;
}

.service-policy-contact a {
  color: #0056b3;
  font-weight: 800;
  text-decoration: none;
}

.service-policy-footer {
  margin-top: 36px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #63748c;
  font-size: 14px;
}

@media (max-width: 1100px) {
  .portal-shell {
    grid-template-columns: 1fr;
  }

  .portal-sidebar {
    position: static;
  }

  .portal-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 10px;
  }

  .portal-nav p {
    grid-column: 1 / -1;
  }

  .portal-filterbar,
  .portal-metrics,
  .portal-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-list.compact.portal-summary-list .portal-list-row.portal-summary-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-list.compact.portal-activity-list .portal-list-row.portal-activity-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .portal-shell {
    padding: 18px 12px 44px;
  }

  .portal-topbar,
  .portal-panel-head,
  .portal-alert {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-nav,
  .portal-filterbar,
  .portal-metrics,
  .portal-grid-two,
  .portal-form-grid {
    grid-template-columns: 1fr;
  }

  .portal-list-row {
    grid-template-columns: 1fr;
  }

  .portal-list.compact.portal-summary-list .portal-list-row.portal-summary-row {
    grid-template-columns: 1fr;
  }

  .portal-list.compact.portal-activity-list .portal-list-row.portal-activity-row {
    grid-template-columns: 1fr;
  }

  .portal-address-summary {
    grid-template-columns: 1fr;
  }

  .portal-address-actions {
    justify-content: flex-start;
  }

  .service-policy-frame {
    padding: 28px 20px;
  }

  .service-policy-contact,
  .service-policy-footer {
    grid-template-columns: 1fr;
    display: grid;
  }

  .portal-detail-list {
    grid-template-columns: 1fr;
  }
}

.file-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.file-list li {
  padding: 12px 0;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.file-upload-actions {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(260px, 1.6fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}
.file-upload-actions .field-control { min-width: 0; margin-bottom: 0 !important; }
.file-upload-actions .btn { white-space: nowrap; }
.cad-file-picker-control {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 42px;
  gap: 10px;
  padding: 6px 10px;
  border: 1px solid #d4dbe5;
  border-radius: 5px;
  background: #fff;
  box-sizing: border-box;
}
.cad-file-picker-native {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.cad-file-picker-button {
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid #7e8a98;
  border-radius: 3px;
  background: #fff;
  color: #17283e;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.cad-file-picker-button:hover { background: #f2f7fc; }
.cad-file-picker-status {
  min-width: 0;
  overflow: hidden;
  color: #334a61;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-cad-file-row { flex-wrap: nowrap; }
.customer-cad-file-row > span:first-child { flex: 1 1 240px; min-width: 0; }
.customer-cad-file-row > span:nth-child(2),
.customer-cad-file-row > a { flex: 0 0 auto; }
.customer-file-note-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  flex: 1 1 420px;
  align-items: center;
  gap: 8px;
  min-width: 280px;
  margin: 0 0 0 auto;
}
.customer-file-note-form .field-control {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  width: 100%;
  margin: 0;
}
.customer-file-note-form .btn {
  grid-column: 2;
  grid-row: 1;
  width: auto !important;
  margin: 0;
  white-space: nowrap;
  align-self: stretch;
}
.customer-cad-file-row > .admin-help { flex: 0 0 100%; order: 1; margin: 6px 0 0 !important; }
.file-activity-row { position: relative; }
.file-activity-row > span:nth-child(2) {
  position: absolute;
  left: 46%;
  white-space: nowrap;
}

@media (max-width: 899px) {
  .page-grid-two {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .rfq-intro,
  .rfq-form-shell {
    grid-template-columns: 1fr;
  }

  .rfq-sidebar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .contact-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 24px;
  }
}

@media (max-width: 767px) {
  .footer-columns {
    grid-template-columns: 1fr;
  }

  .page-shell {
    padding: 0 16px;
  }

  .page-card,
  .admin-card {
    padding: 18px;
  }

  .form-grid-responsive {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .rfq-section {
    padding: 22px 18px 24px;
  }

  .rfq-contact-grid,
  .rfq-sidebar {
    grid-template-columns: 1fr;
  }

  .rfq-upload-card {
    padding: 18px;
  }

  .contact-overview-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .contact-overview-card {
    padding: 20px 18px;
  }

  .empty-state {
    padding: 40px 18px;
  }

  .file-list li {
    flex-direction: column;
    align-items: flex-start;
  }

  .customer-cad-file-row { flex-wrap: wrap; }
  .customer-file-note-form { width: 100%; min-width: 0; margin-left: 0; grid-template-columns: 1fr !important; }
  .customer-file-note-form .btn { grid-column: 1; grid-row: 2; justify-self: stretch; }
  .file-activity-row > span:nth-child(2) { position: static; }
  .file-upload-actions { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .pl-announcements {
    font-size: 12px;
    padding: 8px 12px;
  }

  .header-utility .utility-locale {
    display: none;
  }

  .header-cta {
    display: none;
  }

  .chat-window {
    width: calc(100vw - 24px);
    height: min(72vh, 520px);
    right: -4px;
  }
}

/* Services page structure */
.services-network,
.services-compare,
.services-feature-grid,
.services-quotes {
  padding: 28px 0;
}

.services-network > .container,
.services-compare > .container,
.services-lifecycle > .container,
.services-feature-grid > .container,
.services-quotes > .container {
  width: min(var(--container), calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

.services-lifecycle.bg-pl-lt-gray {
  padding: 18px 0;
}

.services-lifecycle .services-split {
  gap: 16px;
}

.services-lifecycle .services-split-media-illustrated img {
  max-height: 286px;
  width: 100%;
  object-fit: cover;
  padding: 0;
}

.services-lifecycle .services-split-copy h2 {
  margin-bottom: 8px;
  font-size: 28px;
  line-height: 1.18;
}

.services-lifecycle .services-split-copy p {
  max-width: 560px;
  font-size: 16px;
  line-height: 1.6;
}

.services-lifecycle .services-link-list {
  margin-top: 16px;
  gap: 8px;
}

.services-lifecycle .services-link-list a {
  font-size: 13px;
  line-height: 1.55;
}

.services-lifecycle .services-split-copy {
  padding-left: 0;
}

.services-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 0;
}

.services-split-copy h2,
.services-section-head h2 {
  margin: 0 0 10px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.12;
  color: #1f2940;
}

.services-split-copy p,
.services-section-head p {
  margin: 0;
  max-width: 660px;
  color: #4c5b73;
  font-size: 14px;
  line-height: 1.5;
}

.services-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--pl-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.services-split-media img,
.services-feature-card img,
.services-quote-card img {
  width: 100%;
  display: block;
  border-radius: 8px;
}

.services-network .services-split {
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(24px, 4vw, 48px);
}

.services-network .services-split-copy {
  max-width: 760px;
  padding-left: 0;
}

.services-network .services-split-media {
  display: flex;
  justify-content: center;
  align-items: center;
}

.services-network .services-split-media img {
  width: 72%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.services-split-media img,
.services-feature-card img {
  aspect-ratio: 1.35 / 1;
  object-fit: cover;
}

.services-feature-layout .services-feature-card:not(.services-feature-card-wide) img {
  max-height: 300px;
}

.services-split-media-illustrated img {
  background: #fff;
  padding: 0;
}

.services-link-list {
  margin-top: 18px;
  display: grid;
  gap: 8px;
}

.services-link-list a,
.services-feature-copy a,
.services-quote-card-body a {
  color: var(--pl-blue);
  font-weight: 700;
  font-size: 13px;
}

.services-section-head {
  text-align: center;
  margin: 0 auto 16px;
  max-width: 760px;
  padding: 0 20px;
}

.services-compare-table-wrap {
  overflow-x: auto;
  padding: 0;
}

.services-compare-table {
  width: 100%;
  min-width: 760px;
  margin: 0 auto;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e4e9f0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(17, 29, 48, 0.04);
}

.services-compare-table th,
.services-compare-table td {
  padding: 15px clamp(16px, 3vw, 48px);
  border-bottom: 1px solid #edf1f6;
  vertical-align: top;
  text-align: left;
  font-size: 14px;
  line-height: 1.65;
  white-space: nowrap;
}

.services-compare-table thead th {
  background: #f5f8fb;
  color: #425066;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding-top: 16px;
  padding-bottom: 16px;
}

.services-compare-table tbody th {
  color: #213250;
  font-weight: 700;
  width: 128px;
}

.services-compare-table tbody tr:last-child th,
.services-compare-table tbody tr:last-child td {
  border-bottom: none;
}

.injection-materials-compare-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

.injection-materials-compare .services-compare-table-wrap {
  max-width: none;
  margin: 0 auto;
  padding: 0;
}

.injection-materials-compare .services-compare-table {
  width: 100%;
  min-width: 0;
  margin: 0 auto;
  table-layout: fixed;
}

.injection-materials-compare .services-compare-table th,
.injection-materials-compare .services-compare-table td {
  padding-left: 28px;
  padding-right: 28px;
  white-space: normal;
}

.injection-materials-compare .services-compare-table tbody th {
  width: 18%;
}

.services-guidelines {
  padding-top: 72px;
  padding-bottom: 72px;
}

.material-properties-section {
  background: #fff;
  padding-top: 48px;
  padding-bottom: 72px;
}

.material-properties-inner {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
}

.material-properties-inner h2 {
  margin: 0 0 28px;
  color: #222a35;
  font-size: 32px;
  line-height: 1.2;
}

.material-properties-tabs {
  display: flex;
  gap: 26px;
  align-items: flex-end;
  margin-bottom: 16px;
  border-bottom: 1px solid #dce3eb;
}

.material-properties-tab {
  min-width: 48px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 4px solid transparent;
  background: transparent;
  color: #1d2938;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.material-properties-tab.active {
  border-bottom-color: #0073c6;
}

.material-properties-table-wrap {
  overflow-x: auto;
  padding-bottom: 2px;
}

.material-properties-table {
  width: 100%;
  min-width: 1060px;
  border-collapse: collapse;
}

.material-properties-table th,
.material-properties-table td {
  padding: 15px 14px;
  border: 2px solid #fff;
  text-align: left;
  vertical-align: middle;
  color: #27313f;
  font-size: 14px;
  line-height: 1.45;
}

.material-properties-table thead th {
  background: #2f343e;
  color: #fff;
  font-weight: 800;
}

.material-properties-table tbody th,
.material-properties-table tbody td {
  background: #eef1f5;
}

.material-properties-table tbody th {
  width: 190px;
  font-weight: 800;
}

.material-properties-table-tight-performance {
  width: min(100%, 1010px);
  min-width: 1010px;
  margin-inline: auto;
  table-layout: fixed;
}

.material-properties-table-tight-performance th,
.material-properties-table-tight-performance td {
  padding: 11px 10px;
  font-size: 13px;
  white-space: nowrap;
}

.material-properties-table-tight-performance thead th:nth-child(1),
.material-properties-table-tight-performance tbody th {
  width: 250px;
}

.material-properties-table-tight-performance thead th:nth-child(2),
.material-properties-table-tight-performance tbody td:nth-child(1) {
  width: 72px;
}

.material-properties-table-tight-performance thead th:nth-child(3),
.material-properties-table-tight-performance tbody td:nth-child(2) {
  width: 218px;
}

.material-properties-table-tight-performance thead th:nth-child(4),
.material-properties-table-tight-performance tbody td:nth-child(3) {
  width: 150px;
}

.material-properties-table-tight-performance thead th:nth-child(5),
.material-properties-table-tight-performance tbody td:nth-child(4) {
  width: 142px;
}

.material-properties-table-tight-performance thead th:nth-child(6),
.material-properties-table-tight-performance tbody td:nth-child(5) {
  width: 100px;
}

.material-properties-table-tight-performance thead th:nth-child(7),
.material-properties-table-tight-performance tbody td:nth-child(6) {
  width: 78px;
}

.material-properties-notes {
  margin-top: 6px;
  color: #303a48;
  font-size: 15px;
  line-height: 1.6;
}

.material-properties-notes p {
  margin: 10px 0 0;
}

.material-properties-section-compact {
  padding-top: 38px;
  padding-bottom: 58px;
}

.material-properties-section-compact .material-properties-inner {
  width: min(1056px, calc(100% - 96px));
}

.material-properties-section-compact .material-properties-inner h2 {
  margin-bottom: 22px;
  font-size: 26px;
}

.material-properties-section-compact .material-properties-tabs {
  gap: 21px;
  margin-bottom: 13px;
}

.material-properties-section-compact .material-properties-tab {
  min-width: 38px;
  padding-bottom: 11px;
  font-size: 12px;
}

.material-properties-section-compact .material-properties-table {
  min-width: 848px;
}

.material-properties-section-compact .material-properties-table th,
.material-properties-section-compact .material-properties-table td {
  padding: 12px 11px;
  font-size: 12px;
  line-height: 1.4;
}

.material-properties-section-compact .material-properties-table tbody th {
  width: 152px;
}

.material-properties-section-compact .material-properties-notes {
  margin-top: 5px;
  font-size: 12px;
}

.material-properties-section-compact .material-properties-notes p {
  margin-top: 8px;
}

.fdm-material-options-section {
  background: #f3f6fa;
  padding-top: 43px;
  padding-bottom: 50px;
}

.fdm-material-options-inner {
  width: min(1056px, calc(100% - 128px));
  margin: 0 auto;
}

.fdm-material-options-inner h2 {
  margin: 0 0 11px;
  color: #222a35;
  font-size: 24px;
  line-height: 1.2;
}

.fdm-material-options-lead {
  margin: 0 0 36px;
  max-width: 832px;
  color: #2a3442;
  font-size: 13px;
  line-height: 1.6;
}

.fdm-material-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
}

.fdm-material-options-column h3 {
  margin: 0 0 27px;
  color: #263241;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
}

.fdm-material-list {
  display: grid;
  gap: 18px;
}

.fdm-material-item {
  color: #263241;
}

.fdm-material-item summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px;
  gap: 14px;
  align-items: center;
  list-style: none;
  cursor: pointer;
  color: #263241;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
}

.fdm-material-item summary::-webkit-details-marker {
  display: none;
}

.fdm-material-chevron {
  width: 10px;
  height: 10px;
  justify-self: center;
  border-right: 2px solid #0073c6;
  border-bottom: 2px solid #0073c6;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 160ms ease;
}

.fdm-material-item[open] .fdm-material-chevron {
  transform: rotate(225deg) translate(-2px, -2px);
}

.fdm-material-item p {
  margin: 10px 45px 0 0;
  color: #4a5668;
  font-size: 12px;
  line-height: 1.6;
}

.guideline-tabs-section {
  background: #fff;
  padding-top: 38px;
  padding-bottom: 58px;
}

.guideline-tabs-inner {
  width: min(1152px, calc(100% - 96px));
  margin: 0 auto;
  border-bottom: 3px solid #2f343e;
}

.guideline-tabs-inner h2 {
  margin: 0 0 14px;
  color: #222a35;
  font-size: 26px;
  line-height: 1.2;
}

.guideline-tabs-lead {
  margin: 0 0 27px;
  max-width: 1104px;
  color: #2a3442;
  font-size: 14px;
  line-height: 1.55;
}

.guideline-tabs-layout {
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  gap: 88px;
  align-items: start;
  padding: 0 35px 35px;
}

.guideline-tabs-nav {
  display: flex;
  flex-direction: column;
  border-left: 2px solid #dce3eb;
}

.guideline-tab {
  min-height: 46px;
  padding: 10px 16px;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: #8a95a5;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.guideline-tab.active {
  margin-left: -2px;
  border-left-color: #8cc63f;
  background: #f3f6fa;
  color: #263241;
}

.guideline-tabs-content {
  min-width: 0;
}

.guideline-table-wrap {
  overflow-x: auto;
}

.guideline-table {
  width: 100%;
  min-width: 576px;
  border-collapse: collapse;
}

.guideline-table th,
.guideline-table td {
  padding: 14px 14px;
  border-bottom: 1px solid #aeb8c5;
  color: #27313f;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}

.guideline-table th {
  font-weight: 800;
}

.guideline-table td:first-child {
  font-weight: 800;
}

.guideline-panel-body {
  margin: 4px 0 0;
  max-width: 688px;
  color: #27313f;
  font-size: 14px;
  line-height: 1.65;
}

.services-guidelines-table {
  width: 100%;
  min-width: 688px;
}

.services-guidelines-table tbody th {
  min-width: 180px;
  vertical-align: middle;
}

.services-guidelines-table tbody td:first-of-type {
  font-weight: 600;
  color: #213250;
}

.services-guidelines-notes {
  max-width: 1180px;
  margin: 32px auto 0;
  padding: 0 20px;
}

.services-guidelines-notes h3 {
  margin: 0 0 16px;
  color: #111d30;
  font-size: 26px;
  line-height: 1.2;
}

.services-guidelines-notes ul {
  margin: 0;
  padding-left: 24px;
  color: #2d3c55;
}

.services-guidelines-notes li {
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.7;
}

.services-feature-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 0;
}

.services-feature-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #e4e9f0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 29, 48, 0.04);
}

.services-feature-card-wide {
  background: linear-gradient(135deg, #f8fbff 0%, #eef5fb 100%);
  padding: 0;
  overflow: hidden;
}

.services-feature-card-wide img {
  max-height: 286px;
  object-fit: cover;
}

.services-feature-card-wide .services-feature-copy p {
  max-width: 560px;
  font-size: 16px;
  line-height: 1.6;
}

.services-feature-card-wide .services-feature-copy a {
  font-size: 13px;
}

.services-feature-card-wide .services-feature-copy {
  padding: 32px 24px 32px 50px;
}

.services-feature-card-wide .services-eyebrow {
  font-size: 13px;
}

.services-feature-card-wide .services-feature-copy h3 {
  font-size: 30px;
  line-height: 1.18;
}

.services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-eyebrow {
  font-size: 13px;
}

.services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy h3 {
  font-size: 29px;
  line-height: 1.18;
}

.services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy p {
  font-size: 14px;
  line-height: 1.6;
}

.services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy a {
  font-size: 13px;
}

.finishing-options-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finishing-bullet-list {
  margin: 18px 0 0;
  padding-left: 20px;
  color: #2d3c55;
}

.finishing-bullet-list li {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.6;
}

.finishing-process-table .services-compare-table {
  width: min(1180px, 100%);
  min-width: 0;
}

.finishing-process-table .services-compare-table th,
.finishing-process-table .services-compare-table td {
  white-space: normal;
}

.finishing-hero {
  padding: 72px 0 64px;
  background: #eef3f8;
}

.finishing-hero-copy {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.finishing-hero-copy h1 {
  margin: 0 0 28px;
  color: #2b3344;
  font-size: clamp(26px, 3.6vw, 38px);
  line-height: 1.2;
  letter-spacing: 0;
}

.finishing-hero-copy p {
  max-width: 1320px;
  margin: 0 0 24px;
  color: #2f3f58;
  font-size: 18px;
  line-height: 1.55;
}

.finishing-hero-copy .hero2-ctas {
  margin-top: 24px;
}

.finishing-hero-cert {
  font-size: 16px !important;
  color: #22324d !important;
}

.finishing-gallery-section {
  padding-top: 76px;
  padding-bottom: 76px;
}

.finishing-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  max-width: 1660px;
  margin: 36px auto 0;
  padding: 0 32px;
}

.finishing-gallery-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.finishing-gallery-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.finishing-gallery-card {
  border: 1px solid #e5ebf2;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(16, 31, 52, 0.05);
}

.finishing-gallery-body {
  padding: 18px 18px 22px;
}

.finishing-gallery-body h3,
.finishing-gallery-body h4 {
  margin: 0 0 8px;
  color: #202d43;
  font-size: 18px;
  line-height: 1.3;
}

.finishing-gallery-body p {
  margin: 0;
  color: #4c5b73;
  font-size: 14px;
  line-height: 1.55;
}

.finishing-group {
  max-width: 1800px;
  margin: 0 auto 56px;
}

.finishing-group:last-child {
  margin-bottom: 0;
}

.finishing-group h3 {
  margin: 0 auto 20px;
  max-width: 1660px;
  padding: 0 32px;
  color: #25324a;
  font-size: 28px;
  line-height: 1.2;
}

.finishing-swatch {
  position: relative;
  min-height: 260px;
  background: linear-gradient(145deg, #d2d7dd 0%, #f8f8f9 48%, #c7ccd2 100%);
}

.finishing-swatch::after {
  content: "";
  position: absolute;
  inset: 16% 18%;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.28);
}

.finishing-swatch-machined::after {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 24%, rgba(126,136,149,0.55) 24.5% 26.5%, transparent 27%),
    repeating-radial-gradient(circle at 50% 50%, #d7dce2 0 11px, #b5bcc4 11px 13px, #eef1f4 13px 26px);
}

.finishing-swatch-blast::after {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 24%, rgba(146,156,168,0.45) 24.5% 26.5%, transparent 27%),
    linear-gradient(135deg, rgba(255,255,255,0.6), rgba(180,189,198,0.8)),
    repeating-radial-gradient(circle at 50% 50%, #eaedf0 0 12px, #d9dee3 12px 25px);
}

.finishing-swatch-tumbled::after {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 24%, rgba(153,162,173,0.4) 24.5% 26.5%, transparent 27%),
    linear-gradient(145deg, #dde2e7, #f4f6f8 40%, #ced5dc),
    repeating-radial-gradient(circle at 50% 50%, #eef1f3 0 12px, #c9cfd6 12px 25px);
}

.finishing-swatch-black::after { background: linear-gradient(145deg, #090b0e, #1f2328 55%, #0d1014); }
.finishing-swatch-blue::after { background: linear-gradient(145deg, #0a7ab5, #169be0 55%, #085e8a); }
.finishing-swatch-clear::after { background: linear-gradient(145deg, #f3f1ed, #d9d4cc 55%, #b6b0a8); }
.finishing-swatch-gold::after { background: linear-gradient(145deg, #c49f0a, #d5b423 55%, #8e7303); }
.finishing-swatch-red::after { background: linear-gradient(145deg, #8f0318, #cc1438 55%, #650111); }
.finishing-swatch-chemfilm::after { background: linear-gradient(145deg, #b9be81, #d5d88e 55%, #8d9451); }
.finishing-swatch-nickel::after { background: linear-gradient(145deg, #7b7d80, #b4b7bb 55%, #5c5e61); }
.finishing-swatch-zinc::after { background: linear-gradient(145deg, #9db5d6, #d3dfef 55%, #7187a6); }
.finishing-swatch-powder::after { background: linear-gradient(145deg, #394c63, #7088a5 55%, #203247); }

.finishing-swatch.hardcoat {
  filter: saturate(0.85) contrast(1.05) brightness(0.88);
}

.services-feature-copy h3,
.services-quote-card-body h3 {
  margin: 0 0 10px;
  color: #1f2940;
  font-size: 16px;
  line-height: 1.2;
}

.services-feature-copy p,
.services-quote-card-body p {
  margin: 0 0 10px;
  color: #4c5b73;
  font-size: 12px;
  line-height: 1.45;
}

.services-feature-copy a,
.services-quote-card-body a,
.services-link-list a {
  font-size: 13px;
}

.services-quotes-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  padding: 0 40px;
  justify-content: center;
}

.services-quote-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 320px;
  border: 1px solid #e4e9f0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 29, 48, 0.04);
  justify-self: center;
}

.services-quote-card img {
  width: 213px;
  height: 301px;
  max-width: 56%;
  object-fit: contain;
  object-position: center;
  background: #fff;
  margin: 18px auto 0;
}

.services-quote-card-body {
  margin-top: auto;
  padding: 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 900px) {
  .services-split {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .services-feature-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-feature-card-wide {
    grid-column: span 2;
    grid-template-columns: 1.1fr 0.9fr;
  }

  .services-quotes-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 767px) {
  .admin-lead-head,
  .admin-lead-status-form {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-lead-status-form,
  .admin-lead-followup-card .admin-lead-followup {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-lead-status-actions {
    flex-wrap: wrap;
    align-items: stretch;
  }

  .admin-lead-status-actions .admin-lead-status-form {
    flex-basis: 100%;
  }

  .admin-lead-quote-submit-row {
    grid-template-columns: 1fr;
  }

  .admin-lead-meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-network,
  .services-compare,
  .services-feature-grid,
  .services-quotes {
    padding: 22px 0;
  }

  .services-lifecycle.bg-pl-lt-gray {
    padding: 16px 0;
  }

  .services-lifecycle .services-split-media-illustrated img {
    max-height: 234px;
  }

  .services-lifecycle .services-split-copy {
    padding-left: 0;
  }

  .services-split,
  .services-section-head,
  .services-compare-table-wrap,
  .services-feature-layout,
  .services-quotes-grid {
    padding-left: 0;
    padding-right: 0;
  }

  .guideline-tabs-inner {
    width: calc(100% - 32px);
  }

  .guideline-tabs-inner h2 {
    font-size: 24px;
  }

  .guideline-tabs-lead {
    font-size: 15px;
  }

  .guideline-tabs-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding: 0 0 30px;
  }

  .guideline-tabs-nav {
    overflow-x: auto;
    flex-direction: row;
    border-left: 0;
    border-bottom: 1px solid #dce3eb;
  }

  .guideline-tab {
    flex: 0 0 auto;
    min-height: 48px;
    max-width: 220px;
    border-left: 0;
    border-bottom: 3px solid transparent;
    font-size: 14px;
    white-space: normal;
  }

  .guideline-tab.active {
    margin-left: 0;
    border-left-color: transparent;
    border-bottom-color: #8cc63f;
  }

  .guideline-table {
    min-width: 640px;
  }

  .guideline-table th,
  .guideline-table td,
  .guideline-panel-body {
    font-size: 14px;
  }

  .fdm-material-options-section {
    padding-top: 30px;
    padding-bottom: 34px;
  }

  .fdm-material-options-inner {
    width: calc(100% - 32px);
  }

  .fdm-material-options-inner h2 {
    font-size: 21px;
  }

  .fdm-material-options-lead {
    margin-bottom: 24px;
    font-size: 12px;
  }

  .fdm-material-options-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 27px;
  }

  .fdm-material-options-column h3 {
    margin-bottom: 18px;
    font-size: 16px;
  }

  .fdm-material-list {
    gap: 14px;
  }

  .fdm-material-item summary {
    font-size: 13px;
  }

  .fdm-material-item p {
    margin-right: 0;
    font-size: 12px;
  }

  .services-quotes-grid {
    gap: 20px;
  }

  .services-quote-card,
  .services-quote-card img {
    width: 100%;
  }

  .services-quote-card img {
    width: 56%;
    height: auto;
    max-height: 301px;
    margin: 18px auto 0;
  }

  .services-network .services-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .services-network .services-split-copy {
    padding-left: 0;
  }

  .services-network .services-split-media img {
    width: 82%;
    max-width: 360px;
  }

  .services-split-copy h2,
  .services-section-head h2 {
    font-size: 22px;
  }

  .services-split-copy p,
  .services-section-head p {
    font-size: 13px;
  }

  .services-feature-card {
    padding: 14px;
  }

  .services-feature-layout .services-feature-card:not(.services-feature-card-wide) img {
    max-height: 240px;
  }

  .services-feature-card-wide img {
    max-height: 234px;
  }

  .services-feature-card-wide .services-feature-copy {
    padding: 20px;
  }

  .services-feature-card-wide .services-feature-copy h3 {
    font-size: 24px;
  }

  .services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy h3 {
    font-size: 24px;
  }

  .services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy p,
  .services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy a {
    font-size: 15px;
  }

  .services-eyebrow,
  .services-link-list a,
  .services-feature-copy a,
  .services-quote-card-body a,
  .services-feature-card-wide .services-feature-copy a,
  .services-feature-card-wide .services-eyebrow,
  .services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-eyebrow,
  .services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy a {
    font-size: 13px;
  }

  .services-feature-copy h3,
  .services-quote-card-body h3 {
    font-size: 16px;
  }

  .services-quote-card-body {
    padding: 14px;
  }

  .services-guidelines-notes {
    padding: 0 20px;
  }

  .services-guidelines-notes h3 {
    font-size: 22px;
  }

  .finishing-hero {
    padding: 52px 0 44px;
  }

  .finishing-hero-copy {
    padding: 0 20px;
  }

  .finishing-hero-copy h1 {
    margin-bottom: 20px;
    font-size: 32px;
  }

  .finishing-hero-copy p {
    font-size: 16px;
  }

  .finishing-gallery-grid,
  .finishing-gallery-grid-five,
  .finishing-gallery-grid-four {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 20px;
  }

  .finishing-group h3 {
    padding: 0 20px;
    font-size: 24px;
  }

  .finishing-swatch {
    min-height: 220px;
  }
}

.market-activities-shell {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
}

.market-activities-hero {
  min-height: 540px;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.market-activities-hero-copy {
  padding: 56px 0 50px;
  color: #fff;
  width: min(760px, calc(100% - 48px));
  margin-left: max(24px, calc((100% - var(--container)) / 2));
  margin-right: 24px;
}

.market-activities-hero-copy h1 {
  margin: 0;
  max-width: 720px;
  color: #fff;
  line-height: 1.12;
}

.market-activities-hero-lead {
  margin: 24px 0 0;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.5;
}

.market-activities-hero .hero2-lead.market-activities-hero-lead {
  color: rgba(255, 255, 255, 0.92);
}

.market-activities-breadcrumbs {
  padding: 22px 0 10px;
}

.market-activities-breadcrumbs p {
  margin: 0;
  color: #636b79;
  font-size: 15px;
}

.market-activities-breadcrumbs a {
  color: #2e6ab4;
  text-decoration: none;
}

.market-activities-separator {
  margin: 0 8px;
  color: #94a0b2;
}

.market-activities-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 46px;
  padding: 136px 0 84px;
  align-items: start;
}

.market-activities-main {
  display: grid;
  gap: 26px;
}

.market-activity-card {
  display: grid;
  grid-template-columns: minmax(220px, 336px) minmax(0, 1fr);
  gap: 26px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e4e8ef;
  align-items: start;
}

.market-activity-image {
  display: block;
  overflow: hidden;
  background: #eef3f8;
  width: 100%;
}

.market-activity-image img {
  width: 100%;
  height: 100%;
  min-height: 218px;
  object-fit: cover;
  display: block;
}

.market-activity-body h2 {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

.market-activity-body h2 a {
  color: #2c3342;
  text-decoration: none;
}

.market-activity-meta {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 6px 12px;
  margin-bottom: 16px;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
}

.market-activity-meta p {
  margin: 0;
}

.market-activity-summary {
  margin: 0 0 20px;
  color: var(--pl-muted);
  font-size: 15px;
  line-height: 1.5;
}

.market-activity-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 152px;
  padding: 12px 22px;
  background: #20aee5;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 4px;
}

.market-activities-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 6px;
}

.market-activities-pagination a,
.market-activities-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #dfe5ee;
  border-radius: 4px;
  background: #fff;
  color: #2c3646;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.market-activities-pagination a:hover {
  border-color: #20aee5;
  color: #0a7fad;
}

.market-activities-pagination a.active {
  border-color: #20aee5;
  background: #20aee5;
  color: #fff;
}

.market-activities-pagination span {
  border-color: transparent;
  background: transparent;
  color: #7b8794;
}

.market-activities-sidebar-card {
  border: 1px solid #dfe5ee;
  padding: 22px 20px 18px;
  background: #fff;
  position: sticky;
  top: 120px;
}

.market-activities-sidebar-card h3 {
  margin: 0 0 18px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #2c3342;
}

.market-activities-news-list {
  display: grid;
  gap: 18px;
}

.market-activities-news-item a {
  display: grid;
  gap: 10px;
  color: #2c3646;
  text-decoration: none;
}

.market-activities-news-item img {
  width: 100%;
  height: 118px;
  object-fit: cover;
  display: block;
}

.market-activities-news-item span {
  font-size: 15px;
  line-height: 1.5;
  color: var(--pl-muted);
}

@media (max-width: 980px) {
  .market-activities-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .market-activities-sidebar-card {
    position: static;
  }
}

@media (max-width: 720px) {
  .market-activities-shell {
    width: min(100% - 32px, 1240px);
  }

  .market-activities-hero {
    min-height: 360px;
  }

  .market-activities-hero-copy {
    padding: 44px 0 36px;
    margin-left: 24px;
  }

  .market-activities-hero-lead {
    font-size: 16px;
  }

  .market-activity-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .market-activity-image {
    width: 100%;
  }

  .market-activity-image img {
    min-height: 220px;
  }

  .market-activity-meta {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
}

/* Typography consistency pass: align specialty subpages with the
   Services and Materials reference page scale while preserving colors. */
.machine-page .hero2-title,
.machine-page .equipment-header-panel h1,
.ral-page-heading h1,
.scene-display-header h1,
.finishing-hero-copy h1 {
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.machine-page .hero2-lead,
.machine-page .equipment-header-panel p,
.machine-page .equipment-support-head p,
.machine-page .featured2-content p,
.machine-page .industries-intro,
.machine-page .svc-panel-inner p,
.finishing-hero-copy p,
.scene-display-lead {
  font-size: 18px;
  line-height: 1.55;
}

.machine-page .section-title-center,
.machine-page .services-section h2,
.machine-page .featured2-content h2,
.machine-page .equipment-support-head h2,
.rfq-intro-copy h2 {
  font-size: clamp(19px, 1.75vw, 26px);
  font-weight: 700;
  line-height: 1.12;
}

.rfq-section-head h3,
.services-feature-card-wide .services-feature-copy h3,
.services-feature-layout .services-feature-card:not(.services-feature-card-wide) .services-feature-copy h3 {
  font-size: 20px;
  line-height: 1.35;
}

.ral-page-lead {
  font-size: 18px;
  line-height: 1.55;
}

.scene-display-header p,
.ral-page-description,
.rfq-intro-copy .quote-create-intro {
  font-size: 16px;
  line-height: 1.55;
}

.market-activity-body h2,
.market-activities-sidebar-card h3 {
  font-size: 20px;
  line-height: 1.35;
}

@media (max-width: 767px) {
  .admin-document-header,
  .admin-document-signatures { grid-template-columns: 1fr; display: grid; }
  .admin-document-grid { grid-template-columns: 1fr; }
  .admin-production-document { padding: 16px; }
  .admin-document-header dl { min-width: 0; width: 100%; }

  .machine-page .hero2-title,
  .machine-page .equipment-header-panel h1,
  .ral-page-heading h1,
  .scene-display-header h1,
  .finishing-hero-copy h1 {
    font-size: 32px;
  }

  .machine-page .hero2-lead,
  .machine-page .equipment-header-panel p,
  .machine-page .equipment-support-head p,
  .machine-page .featured2-content p,
  .machine-page .industries-intro,
  .machine-page .svc-panel-inner p,
  .finishing-hero-copy p,
  .scene-display-lead,
  .ral-page-lead {
    font-size: 16px;
  }
}

@media print {
  @page { size: A4; margin: 12mm; }
  body { background: #fff !important; }
  .admin-sidebar,
  .admin-topbar,
  .admin-breadcrumb,
  .admin-print-hidden,
  .flash-messages,
  .admin-nav-group,
  .admin-panel:not(.admin-document-shell) { display: none !important; }
  .admin-shell,
  .admin-main,
  .admin-content,
  .admin-panel.admin-document-shell {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .admin-production-document {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #000;
  }
  .admin-document-header { border-bottom-color: #000; }
  .admin-document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-document-grid section,
  .admin-document-block {
    break-inside: avoid;
    border-color: #bbb;
    background: #fff;
  }
  .admin-document-signatures { break-inside: avoid; }
  .admin-table th,
  .admin-table td { border-color: #ccc; }
}
