:root {
  --cx-bg: #020912;
  --cx-panel: rgba(5, 16, 29, .84);
  --cx-line: rgba(45, 150, 255, .22);
  --cx-text: #ffffff;
  --cx-muted: rgba(224, 236, 255, .72);
  --cx-blue: #2698ff;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #020912; }
body.cleanex-theme { min-height: 100vh; min-height: 100dvh; overflow-x: hidden; color: var(--cx-text); }
.cleanex-full-page { min-height: 100vh; min-height: 100dvh; background: #020912; position: relative; overflow-x: hidden; }
.cleanex-full-page::before { content: ''; position: fixed; inset: 0; background: linear-gradient(90deg, rgba(2,9,18,.95), rgba(5,22,42,.72), rgba(2,9,18,.95)), url('../img/contact-bg.jpg'); background-size: cover; background-position: center; opacity: .55; pointer-events: none; }
.cleanex-full-page::after { content: ''; position: fixed; inset: 0; background: radial-gradient(circle at 75% 20%, rgba(38,152,255,.18), transparent 32rem), linear-gradient(180deg, transparent 0, rgba(2,9,18,.95) 100%); pointer-events: none; }
.cleanex-page-content { position: relative; z-index: 2; width: min(1580px, calc(100vw - 64px)); margin: 0 auto; padding: 8.6rem 0 4rem; }

/* Global header additions built on original home menu classes. */
.cleanex-global-header { font-size: 16px !important; left: max(1.5rem, env(safe-area-inset-left)); right: max(1.5rem, env(safe-area-inset-right)); width: auto; max-width: none; }
.cleanex-global-header .site-nav a.is-active { color: #fff; }
.cleanex-global-header .phone-button--compact {
  width: 3rem !important;
  min-width: 3rem !important;
  height: 3rem !important;
  min-height: 3rem !important;
  padding: 0 !important;
  gap: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 3rem !important;
  border-radius: 999px !important;
}
.cleanex-global-header .phone-button--compact svg {
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin: 0 !important;
}
.site-search { position: relative; display: flex; align-items: center; }
.site-search__field { width: 0; overflow: hidden; opacity: 0; transition: width .24s ease, opacity .24s ease; }
.site-search.is-open .site-search__field { width: min(18rem, 26vw); opacity: 1; margin-left: .55rem; }
.site-search__field input { width: 100%; min-height: 3rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(2,9,18,.72); color: #fff; padding: 0 1rem; outline: none; }
.site-user-menu { position: relative; display: flex; align-items: center; }
.site-user-dropdown { position: absolute; top: calc(100% + .75rem); right: 0; min-width: 12rem; padding: .55rem; border: 1px solid rgba(38,152,255,.24); border-radius: 1rem; background: rgba(2,9,18,.96); box-shadow: 0 20px 50px rgba(0,0,0,.42); opacity: 0; transform: translateY(-.4rem); pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.site-user-menu.is-open .site-user-dropdown { opacity: 1; transform: translateY(0); pointer-events: auto; }
.site-user-dropdown a { display: block; color: #fff; text-decoration: none; font-weight: 800; padding: .8rem .9rem; border-radius: .7rem; }
.site-user-dropdown a:hover { background: rgba(38,152,255,.14); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.cleanex-contact-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(360px, .65fr); gap: 1.35rem; align-items: stretch; }
.cleanex-card { border: 1px solid var(--cx-line); border-radius: 1.7rem; background: rgba(5,16,29,.78); backdrop-filter: blur(18px); box-shadow: 0 28px 80px rgba(0,0,0,.26); }
.cleanex-card--copy { min-height: clamp(320px, 44vh, 520px); padding: clamp(2rem, 4.2vw, 4rem); display: flex; flex-direction: column; justify-content: center; }
.cleanex-card--form { padding: clamp(1.5rem, 2.4vw, 2.2rem); }
.cleanex-eyebrow { color: var(--cx-blue); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; margin: 0 0 1.1rem; }
.cleanex-title { font-size: clamp(3rem, 6.2vw, 6.3rem); line-height: .93; letter-spacing: -.07em; margin: 0 0 1.4rem; color: #fff; max-width: 12ch; }
.cleanex-lead { color: var(--cx-muted); font-size: clamp(1.05rem, 1.35vw, 1.35rem); line-height: 1.55; max-width: 56rem; margin: 0; }
.cleanex-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
.cleanex-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3.7rem; padding: 0 1.35rem; border-radius: .8rem; background: var(--cx-blue); color: #fff; text-decoration: none; border: 0; font-weight: 900; cursor: pointer; }
.cleanex-btn--ghost { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.cleanex-form { display: grid; gap: .85rem; }
.cleanex-form label { display: grid; gap: .42rem; color: rgba(231,240,255,.83); font-weight: 800; }
.cleanex-form input, .cleanex-form textarea, .cleanex-form select { width: 100%; border: 1px solid rgba(255,255,255,.14); background: rgba(0,5,11,.62); color: #fff; border-radius: .85rem; padding: .95rem 1rem; outline: none; }
.cleanex-form textarea { resize: vertical; min-height: 7rem; }
.cleanex-two { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.cleanex-map { margin-top: 1.35rem; padding: clamp(1.4rem, 3vw, 2.2rem); display: grid; grid-template-columns: .8fr 1.2fr; gap: 1.4rem; align-items: center; }
.cleanex-map h2 { margin: 0 0 .65rem; font-size: clamp(2rem, 3.4vw, 3.4rem); line-height: 1.02; letter-spacing: -.05em; }
.cleanex-map p { margin: 0; color: var(--cx-muted); line-height: 1.5; }
.cleanex-map-visual { min-height: 230px; border: 1px solid rgba(38,152,255,.18); border-radius: 1.4rem; background: radial-gradient(circle at 28% 50%, rgba(38,152,255,.28), transparent 20%), radial-gradient(circle at 52% 42%, rgba(38,152,255,.18), transparent 27%), rgba(0,4,10,.42); position: relative; overflow: hidden; }
.cleanex-map-visual span { position: absolute; border: 1px solid rgba(38,152,255,.35); background: rgba(5,16,29,.82); color: #fff; border-radius: 999px; padding: .7rem .9rem; font-weight: 900; }
.cleanex-map-visual span:nth-child(1){left:14%;top:48%;}.cleanex-map-visual span:nth-child(2){left:43%;top:32%;}.cleanex-map-visual span:nth-child(3){right:10%;bottom:18%;}
.cleanex-mini-grid { margin-top: 1.35rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.cleanex-mini { padding: 1.35rem; }
.cleanex-mini strong { display: block; color: #fff; font-size: 1.15rem; margin-bottom: .4rem; }
.cleanex-mini p { margin: 0; color: var(--cx-muted); line-height: 1.45; }

.cleanex-panel-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.cleanex-panel-menu { padding: 1rem; position: sticky; top: 7.5rem; }
.cleanex-panel-menu h2 { margin: .4rem .6rem 1rem; font-size: 1.35rem; }
.cleanex-panel-menu a, .cleanex-panel-menu button { width: 100%; display: flex; min-height: 3.2rem; align-items: center; text-decoration: none; color: #fff; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); border-radius: .8rem; margin-bottom: .55rem; padding: 0 1rem; font-weight: 900; }
.cleanex-panel-menu .is-active { background: var(--cx-blue); border-color: var(--cx-blue); }
.cleanex-panel-main { padding: clamp(1.5rem, 3vw, 2.4rem); min-height: 62vh; }
.cleanex-panel-main h1 { margin: 0 0 1.25rem; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.cleanex-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.2rem; }
.cleanex-stat { padding: 1.25rem; border: 1px solid var(--cx-line); border-radius: 1rem; background: rgba(0,5,11,.42); }
.cleanex-stat strong { display: block; font-size: 2rem; }
.cleanex-table { width: 100%; border-collapse: collapse; color: rgba(234,244,255,.86); }
.cleanex-table th, .cleanex-table td { border-bottom: 1px solid rgba(255,255,255,.1); padding: .85rem; text-align: left; }
.cleanex-hidden { display: none !important; }

@media (max-width: 1180px) {
  .cleanex-global-header .phone-button span { display: none; }
  .site-search.is-open .site-search__field { width: 13rem; }
  .cleanex-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .cleanex-page-content { width: min(100% - 28px, 720px); padding-top: 6.5rem; }
  .cleanex-map, .cleanex-panel-layout { grid-template-columns: 1fr; }
  .cleanex-mini-grid, .cleanex-stats { grid-template-columns: 1fr; }
  .cleanex-two { grid-template-columns: 1fr; }
  .cleanex-title { font-size: clamp(2.65rem, 14vw, 4.6rem); }
  .cleanex-panel-menu { position: static; }
}


/* v0.2.0: login/register and softer app pages */
.cleanex-contact-page::before,
.cleanex-customer-page::before,
.cleanex-operator-page::before,
.cleanex-auth-page::before {
  opacity: .68;
  background:
    linear-gradient(90deg, rgba(2,9,18,.96), rgba(5,22,42,.62), rgba(2,9,18,.94)),
    url('../img/contact-bg.jpg');
  background-size: cover;
  background-position: center;
}
.cleanex-customer-page::after,
.cleanex-operator-page::after,
.cleanex-contact-page::after,
.cleanex-auth-page::after {
  background:
    radial-gradient(circle at 78% 18%, rgba(38,152,255,.16), transparent 30rem),
    radial-gradient(circle at 18% 82%, rgba(38,152,255,.08), transparent 24rem),
    linear-gradient(180deg, rgba(2,9,18,.10) 0, rgba(2,9,18,.92) 100%);
}
.cleanex-auth-content { min-height: 100vh; min-height: 100dvh; display: grid; align-items: center; justify-items: center; padding-top: 7.8rem; padding-bottom: 3.4rem; }
.cleanex-auth-wrap { width: min(1120px, 100%); display: grid; grid-template-columns: minmax(0, .95fr) minmax(360px, .65fr); gap: 1.2rem; align-items: stretch; }
.cleanex-auth-card { padding: clamp(1.5rem, 3vw, 2.6rem); }
.cleanex-auth-card h1 { margin: 0 0 1rem; font-size: clamp(2.6rem, 5.2vw, 5.4rem); line-height: .95; letter-spacing: -.06em; }
.cleanex-auth-card p { color: var(--cx-muted); line-height: 1.55; }
.cleanex-auth-card--visual { display: flex; flex-direction: column; justify-content: flex-end; min-height: 520px; background: linear-gradient(180deg, rgba(5,16,29,.42), rgba(2,9,18,.88)); overflow: hidden; position: relative; }
.cleanex-auth-card--visual::before { content: ''; position: absolute; inset: 0; background: url('../img/contact-bg.jpg') center/cover no-repeat; opacity: .34; filter: saturate(1.08) contrast(1.04); }
.cleanex-auth-card--visual > * { position: relative; z-index: 1; }
.cleanex-auth-card--form { background: rgba(5,16,29,.72); }
.cleanex-auth-google { width: 100%; min-height: 3.65rem; border-radius: .9rem; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.08); color: #fff; font-weight: 900; display: inline-flex; align-items: center; justify-content: center; gap: .65rem; cursor: pointer; text-decoration: none; }
.cleanex-auth-google[disabled] { opacity: .55; cursor: not-allowed; }
.cleanex-form-note { color: rgba(224,236,255,.62); font-size: .92rem; line-height: 1.45; margin: .55rem 0 0; }
.cleanex-form-error { border: 1px solid rgba(255,110,110,.35); background: rgba(255,60,60,.1); color: #ffd4d4; border-radius: 1rem; padding: .85rem 1rem; margin: 0 0 1rem; }
.cleanex-form-success { border: 1px solid rgba(38,152,255,.38); background: rgba(38,152,255,.1); color: #d8ecff; border-radius: 1rem; padding: .85rem 1rem; margin: 0 0 1rem; }
.cleanex-auth-divider { display: flex; align-items: center; gap: .8rem; color: rgba(224,236,255,.5); font-weight: 900; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; margin: .55rem 0; }
.cleanex-auth-divider::before, .cleanex-auth-divider::after { content: ''; height: 1px; background: rgba(255,255,255,.12); flex: 1; }
.cleanex-panel-main,
.cleanex-panel-menu,
.cleanex-card { background: rgba(5,16,29,.66); }
.cleanex-panel-layout { min-height: calc(100dvh - 11rem); }
@media (max-width: 980px) {
  .cleanex-auth-wrap { grid-template-columns: 1fr; }
  .cleanex-auth-card--visual { min-height: 280px; }
}


/* v0.2.1: viewport-safe contact/register and AJAX-style panels */
.cleanex-full-page {
  min-height: 100vh;
  min-height: 100dvh;
}
.cleanex-contact-page .cleanex-page-content {
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: clamp(6.4rem, 9vh, 7.6rem);
  padding-bottom: 1rem;
  display: grid;
  align-content: center;
  gap: 1rem;
}
.cleanex-contact-page .cleanex-contact-grid {
  gap: 1rem;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
}
.cleanex-contact-page .cleanex-card--copy {
  min-height: 0;
  padding: clamp(1.6rem, 3.1vw, 3.2rem);
}
.cleanex-contact-page .cleanex-card--form {
  padding: clamp(1.25rem, 2vw, 1.8rem);
}
.cleanex-contact-page .cleanex-title {
  font-size: clamp(2.85rem, 5.2vw, 5.2rem);
  max-width: 11.5ch;
  margin-bottom: 1rem;
}
.cleanex-contact-page .cleanex-lead {
  font-size: clamp(.98rem, 1.15vw, 1.18rem);
  max-width: 62rem;
}
.cleanex-contact-page .cleanex-actions {
  margin-top: 1.55rem;
}
.cleanex-contact-page .cleanex-btn {
  min-height: 3.25rem;
}
.cleanex-contact-page .cleanex-form {
  gap: .68rem;
}
.cleanex-contact-page .cleanex-form input,
.cleanex-contact-page .cleanex-form textarea {
  padding: .78rem .85rem;
}
.cleanex-contact-page .cleanex-form textarea {
  min-height: 5.4rem;
}
.cleanex-contact-page .cleanex-map {
  margin-top: 0;
  padding: clamp(1.1rem, 2.2vw, 1.75rem);
  grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
}
.cleanex-contact-page .cleanex-map h2 {
  font-size: clamp(1.65rem, 2.65vw, 2.7rem);
}
.cleanex-contact-page .cleanex-map-visual {
  min-height: clamp(130px, 18vh, 190px);
}
.cleanex-contact-page .cleanex-mini-grid {
  display: none;
}
.cleanex-auth-page .cleanex-auth-content {
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: clamp(6.2rem, 8.5vh, 7.1rem);
  padding-bottom: .8rem;
  align-content: center;
}
.cleanex-auth-page .cleanex-auth-wrap {
  width: min(1100px, 100%);
  max-height: calc(100dvh - 7.8rem);
  align-items: stretch;
}
.cleanex-auth-page .cleanex-auth-card {
  padding: clamp(1.15rem, 2.1vw, 2rem);
}
.cleanex-auth-page .cleanex-auth-card h1 {
  font-size: clamp(2.35rem, 4.4vw, 4.6rem);
}
.cleanex-auth-page .cleanex-auth-card--visual {
  min-height: 0;
}
.cleanex-auth-page .cleanex-form {
  gap: .62rem;
}
.cleanex-auth-page .cleanex-form input {
  padding: .76rem .85rem;
}
.cleanex-auth-page .cleanex-btn,
.cleanex-auth-page .cleanex-auth-google {
  min-height: 3.1rem;
}
.cleanex-register-page .cleanex-auth-wrap {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .58fr);
}
.cleanex-register-page .cleanex-auth-card h1 {
  font-size: clamp(2.5rem, 4.8vw, 4.85rem);
}
.cleanex-register-page .cleanex-form-note {
  margin: .35rem 0 0;
  font-size: .85rem;
}
.cleanex-register-page .cleanex-auth-divider {
  margin: .35rem 0;
}
.cleanex-panel-layout[data-cleanex-tabs] .cleanex-panel-menu a,
.cleanex-panel-layout[data-cleanex-tabs] .cleanex-panel-menu button {
  cursor: pointer;
}
.cleanex-tab-panel[hidden] {
  display: none !important;
}
.cleanex-panel-toolbar {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  margin: 1rem 0 1.2rem;
}
.cleanex-inline-form {
  display: flex;
  gap: .7rem;
  align-items: end;
  flex-wrap: wrap;
}
.cleanex-inline-form label {
  flex: 1 1 260px;
}
.cleanex-preview-notice {
  border: 1px solid rgba(38,152,255,.3);
  background: rgba(38,152,255,.08);
  border-radius: 1rem;
  padding: .9rem 1rem;
  margin: 0 0 1rem;
  color: rgba(224,236,255,.85);
}
@media (min-width: 1181px) and (max-height: 850px) {
  .cleanex-contact-page .cleanex-page-content { padding-top: 5.8rem; }
  .cleanex-contact-page .cleanex-title { font-size: clamp(2.6rem, 4.8vw, 4.5rem); }
  .cleanex-contact-page .cleanex-card--copy { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .cleanex-contact-page .cleanex-map-visual { min-height: 118px; }
  .cleanex-auth-page .cleanex-auth-content { padding-top: 5.7rem; }
  .cleanex-register-page .cleanex-auth-card h1 { font-size: clamp(2.3rem, 4.2vw, 4.1rem); }
}
@media (max-width: 1180px) {
  .cleanex-contact-page .cleanex-page-content,
  .cleanex-auth-page .cleanex-auth-content {
    min-height: auto;
    display: block;
  }
  .cleanex-auth-page .cleanex-auth-wrap {
    max-height: none;
  }
}
@media (max-width: 900px) {
  .cleanex-contact-page .cleanex-contact-grid,
  .cleanex-contact-page .cleanex-map,
  .cleanex-register-page .cleanex-auth-wrap {
    grid-template-columns: 1fr;
  }
}

/* v0.2.2: compact contact page and fixed operator shell */
body.cleanex-contact-page-body,
body.cleanex-operator-page-body,
body.cleanex-customer-page-body,
body.cleanex-auth-page-body {
  overflow: hidden;
}
.cleanex-contact-page .cleanex-page-content {
  width: min(1640px, calc(100vw - 48px));
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  padding-top: clamp(6.2rem, 9vh, 7.2rem);
  padding-bottom: clamp(.6rem, 1.5vh, 1.1rem);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  gap: .85rem;
  overflow: hidden;
}
.cleanex-contact-page .cleanex-contact-grid {
  min-height: 0;
  height: 100%;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .58fr);
  gap: .85rem;
}
.cleanex-contact-page .cleanex-card--copy {
  min-height: 0;
  height: 100%;
  padding: clamp(1.25rem, 2.6vw, 2.35rem);
  justify-content: center;
}
.cleanex-contact-page .cleanex-card--form {
  min-height: 0;
  height: 100%;
  padding: clamp(1.05rem, 1.75vw, 1.55rem);
  overflow: auto;
}
.cleanex-contact-page .cleanex-title {
  font-size: clamp(2.25rem, 4.1vw, 4.2rem);
  line-height: .96;
  letter-spacing: -.065em;
  max-width: 12.2ch;
  margin-bottom: .75rem;
}
.cleanex-contact-page .cleanex-eyebrow {
  margin-bottom: .65rem;
  font-size: .76rem;
}
.cleanex-contact-page .cleanex-lead {
  font-size: clamp(.92rem, 1vw, 1.04rem);
  line-height: 1.5;
  max-width: 68rem;
}
.cleanex-contact-page .cleanex-actions {
  margin-top: 1.15rem;
}
.cleanex-contact-page .cleanex-btn {
  min-height: 2.9rem;
  padding: 0 1.05rem;
  border-radius: .72rem;
}
.cleanex-contact-page .cleanex-form {
  gap: .52rem;
}
.cleanex-contact-page .cleanex-form label {
  gap: .28rem;
  font-size: .9rem;
}
.cleanex-contact-page .cleanex-form input,
.cleanex-contact-page .cleanex-form textarea {
  padding: .68rem .8rem;
  border-radius: .72rem;
}
.cleanex-contact-page .cleanex-form textarea {
  min-height: 4.35rem;
  max-height: 6.4rem;
}
.cleanex-contact-page .cleanex-map {
  min-height: 0;
  margin-top: 0;
  padding: .95rem 1.2rem;
  grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr);
  gap: 1rem;
}
.cleanex-contact-page .cleanex-map h2 {
  font-size: clamp(1.35rem, 2.05vw, 2.15rem);
  line-height: 1.05;
  margin-bottom: .35rem;
}
.cleanex-contact-page .cleanex-map p {
  font-size: .92rem;
  line-height: 1.38;
}
.cleanex-contact-page .cleanex-map-visual {
  min-height: clamp(88px, 13vh, 128px);
  border-radius: 1rem;
}
.cleanex-contact-page .cleanex-map-visual span {
  padding: .48rem .7rem;
  font-size: .88rem;
}
.cleanex-contact-page .cleanex-mini-grid {
  display: none !important;
}

.cleanex-operator-page .cleanex-page-content,
.cleanex-customer-page .cleanex-page-content {
  width: min(1640px, calc(100vw - 48px));
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  padding-top: clamp(6.4rem, 9vh, 7.4rem);
  padding-bottom: 1rem;
  overflow: hidden;
}
.cleanex-operator-page .cleanex-panel-layout,
.cleanex-customer-page .cleanex-panel-layout {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  border: 1px solid var(--cx-line);
  border-radius: 1.55rem;
  background: rgba(5,16,29,.54);
  overflow: hidden;
}
.cleanex-operator-page .cleanex-panel-menu,
.cleanex-customer-page .cleanex-panel-menu {
  position: relative;
  top: auto;
  height: 100%;
  overflow-y: auto;
  border: 0;
  border-right: 1px solid rgba(38,152,255,.18);
  border-radius: 0;
  background: rgba(3,13,24,.74);
  box-shadow: none;
  padding: 1rem .85rem;
}
.cleanex-operator-page .cleanex-panel-main,
.cleanex-customer-page .cleanex-panel-main {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background: rgba(5,16,29,.46);
  box-shadow: none;
  padding: clamp(1.2rem, 2.4vw, 2rem);
  scrollbar-color: rgba(38,152,255,.55) rgba(255,255,255,.06);
}
.cleanex-operator-page .cleanex-panel-main h1,
.cleanex-customer-page .cleanex-panel-main h1 {
  font-size: clamp(2rem, 3.15vw, 3.4rem);
  margin-bottom: 1rem;
}
.cleanex-operator-page .cleanex-panel-menu h2,
.cleanex-customer-page .cleanex-panel-menu h2 {
  font-size: 1.05rem;
  margin: .2rem .45rem .9rem;
}
.cleanex-operator-page .cleanex-panel-menu a,
.cleanex-operator-page .cleanex-panel-menu button,
.cleanex-customer-page .cleanex-panel-menu a,
.cleanex-customer-page .cleanex-panel-menu button {
  min-height: 2.85rem;
  border-radius: .72rem;
  margin-bottom: .48rem;
  font-size: .94rem;
}
.cleanex-operator-page .cleanex-stats,
.cleanex-customer-page .cleanex-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cleanex-operator-page .cleanex-form label:has(input[type="checkbox"]) {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  width: auto;
}
.cleanex-operator-page .cleanex-form input[type="checkbox"] {
  width: auto;
  min-width: 1rem;
  height: 1rem;
  padding: 0;
}
.cleanex-operator-page .cleanex-form code {
  white-space: normal;
  word-break: break-all;
}
.cleanex-table {
  min-width: 720px;
}
.cleanex-tab-panel {
  min-height: 100%;
}

@media (max-height: 780px) and (min-width: 1000px) {
  .cleanex-contact-page .cleanex-page-content { padding-top: 5.95rem; gap: .65rem; }
  .cleanex-contact-page .cleanex-title { font-size: clamp(2.1rem, 3.55vw, 3.65rem); }
  .cleanex-contact-page .cleanex-card--copy { padding: 1.15rem 1.55rem; }
  .cleanex-contact-page .cleanex-card--form { padding: 1rem 1.25rem; }
  .cleanex-contact-page .cleanex-map { padding: .75rem 1rem; }
  .cleanex-contact-page .cleanex-map-visual { min-height: 76px; }
}
@media (max-width: 980px) {
  body.cleanex-contact-page-body,
  body.cleanex-operator-page-body,
  body.cleanex-customer-page-body,
  body.cleanex-auth-page-body {
    overflow: auto;
  }
  .cleanex-contact-page .cleanex-page-content,
  .cleanex-operator-page .cleanex-page-content,
  .cleanex-customer-page .cleanex-page-content {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
    width: min(100% - 24px, 760px);
  }
  .cleanex-contact-page .cleanex-contact-grid,
  .cleanex-contact-page .cleanex-map,
  .cleanex-operator-page .cleanex-panel-layout,
  .cleanex-customer-page .cleanex-panel-layout {
    grid-template-columns: 1fr;
    height: auto;
  }
  .cleanex-operator-page .cleanex-panel-menu,
  .cleanex-customer-page .cleanex-panel-menu {
    border-right: 0;
    border-bottom: 1px solid rgba(38,152,255,.18);
  }
  .cleanex-operator-page .cleanex-panel-main,
  .cleanex-customer-page .cleanex-panel-main {
    overflow: visible;
  }
}

/* v0.2.3: warehouse structure, normal buttons and custom file inputs */
.cleanex-form .cleanex-btn,
.cleanex-panel-toolbar .cleanex-btn,
.cleanex-btn--fit {
  width: auto !important;
  max-width: max-content;
  justify-self: start;
  min-height: 2.85rem;
  padding: 0 1.15rem;
}
.cleanex-contact-page .cleanex-form .cleanex-btn {
  min-width: 0;
  width: auto !important;
}
.cleanex-subnav {
  margin: 0 0 1rem;
  gap: .55rem;
}
.cleanex-subnav .cleanex-btn {
  min-height: 2.7rem;
  border-radius: .72rem;
}
.cleanex-subtab-panel[hidden] {
  display: none !important;
}
.cleanex-warehouse-form {
  max-width: 100%;
}
.cleanex-file-field {
  display: grid;
  gap: .42rem;
}
.cleanex-file-field input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.cleanex-file-label {
  color: rgba(231,240,255,.83);
  font-weight: 800;
}
.cleanex-file-control {
  min-height: 2.9rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,5,11,.62);
  border-radius: .85rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .35rem .45rem;
  cursor: pointer;
}
.cleanex-file-control strong {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0 .85rem;
  border-radius: .62rem;
  background: rgba(38,152,255,.16);
  border: 1px solid rgba(38,152,255,.3);
  color: #fff;
  font-size: .88rem;
}
.cleanex-file-control em {
  color: rgba(224,236,255,.62);
  font-style: normal;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.cleanex-stats--warehouse {
  margin-bottom: 1rem;
}
.cleanex-machine-list {
  display: grid;
  gap: .7rem;
}
.cleanex-machine-row {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,5,11,.42);
  border-radius: 1rem;
  overflow: hidden;
}
.cleanex-machine-row summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap: .8rem;
  align-items: center;
  cursor: pointer;
  padding: .95rem 1rem;
}
.cleanex-machine-row summary::-webkit-details-marker { display: none; }
.cleanex-machine-row summary span {
  color: rgba(235,245,255,.86);
  font-weight: 800;
}
.cleanex-machine-row summary strong {
  color: #fff;
  display: block;
}
.cleanex-machine-row summary em {
  display: block;
  color: rgba(224,236,255,.58);
  font-size: .84rem;
  font-style: normal;
  margin-top: .18rem;
}
.cleanex-machine-details {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1rem;
  display: grid;
  gap: 1rem;
}
.cleanex-machine-meta {
  display: grid;
  gap: .35rem;
  color: rgba(224,236,255,.75);
}
.cleanex-machine-meta p { margin: 0; line-height: 1.45; }
.cleanex-units-table-wrap {
  overflow-x: auto;
}
.cleanex-units-table code {
  color: #fff;
  background: rgba(38,152,255,.12);
  border: 1px solid rgba(38,152,255,.2);
  border-radius: .45rem;
  padding: .2rem .42rem;
}
.cleanex-operator-page .cleanex-panel-main,
.cleanex-customer-page .cleanex-panel-main {
  scrollbar-width: thin;
}
@media (max-width: 900px) {
  .cleanex-machine-row summary {
    grid-template-columns: 1fr;
  }
  .cleanex-panel-toolbar .cleanex-btn {
    max-width: none;
  }
}


/* v0.2.4 category archive + warehouse relations */
.cleanex-category-body .cleanex-page,
.cleanex-category-page {
  min-height: 100dvh;
}
.cleanex-category-page {
  width: min(1440px, calc(100vw - 48px));
  margin: 0 auto;
  padding: 132px 0 44px;
  display: grid;
  gap: 18px;
}
.cleanex-category-hero h1 {
  margin: .3rem 0 .7rem;
  font-size: clamp(2.4rem, 5vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.06em;
}
.cleanex-category-description {
  max-width: 780px;
  color: rgba(226,237,249,.76);
  font-size: 1rem;
  line-height: 1.55;
}
.cleanex-category-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.2rem;
}
.cleanex-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}
.cleanex-category-product {
  border: 1px solid rgba(84,158,234,.2);
  background: rgba(3,13,23,.46);
  border-radius: 22px;
  padding: 1rem;
}
.cleanex-category-product span,
.cleanex-muted {
  color: rgba(189,205,222,.72);
  font-size: .86rem;
}
.cleanex-category-product h2 {
  margin: .25rem 0 .45rem;
  font-size: 1.15rem;
}
.cleanex-category-product p {
  color: rgba(226,237,249,.72);
}
.cleanex-category-product-meta {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  margin-top: .9rem;
  color: #fff;
}
.cleanex-category-product-meta em {
  font-style: normal;
  color: rgba(189,205,222,.72);
}
.cleanex-machine-row summary em {
  display: block;
  margin-top: .18rem;
}
@media (max-width: 920px) {
  .cleanex-category-grid { grid-template-columns: 1fr; }
  .cleanex-category-page { width: min(100% - 28px, 720px); padding-top: 110px; }
}


/* v0.2.5: structured technical specification fields */
.cleanex-tech-form {
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(0,5,11,.24);
  margin: 0;
}
.cleanex-tech-form legend {
  padding: 0 .45rem;
  color: #fff;
  font-weight: 900;
}
.cleanex-tech-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .85rem;
}
.cleanex-tech-form-grid label {
  min-width: 0;
}
.cleanex-machine-specs {
  display: grid;
  gap: .5rem;
}
.cleanex-tech-spec-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
  margin-top: .35rem;
}
.cleanex-tech-spec-item {
  border: 1px solid rgba(84,158,234,.16);
  border-radius: .8rem;
  background: rgba(255,255,255,.035);
  padding: .65rem .75rem;
  min-width: 0;
}
.cleanex-tech-spec-item span {
  display: block;
  color: rgba(224,236,255,.62);
  font-size: .78rem;
  line-height: 1.2;
  margin-bottom: .25rem;
}
.cleanex-tech-spec-item strong {
  display: block;
  color: #fff;
  font-size: .95rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
@media (max-width: 1260px) {
  .cleanex-tech-form-grid,
  .cleanex-tech-spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .cleanex-tech-form-grid,
  .cleanex-tech-spec-grid { grid-template-columns: 1fr; }
}


/* v0.2.6: warehouse filters, product/accessory clarity and compact actions */
.cleanex-warehouse-filters {
  display: grid;
  grid-template-columns: 170px 220px 170px minmax(220px, 1fr);
  gap: .7rem;
  margin: 0 0 1rem;
  padding: .85rem;
  border: 1px solid rgba(84,158,234,.16);
  background: rgba(0,5,11,.30);
  border-radius: 1rem;
}
.cleanex-warehouse-filters label {
  display: grid;
  gap: .34rem;
  margin: 0;
  color: rgba(231,240,255,.76);
  font-size: .82rem;
  font-weight: 900;
}
.cleanex-warehouse-filters select,
.cleanex-warehouse-filters input {
  min-height: 2.65rem;
  border-radius: .75rem;
}
.cleanex-machine-row[hidden] { display: none !important; }
.cleanex-machine-row.is-accessory {
  border-color: rgba(152,190,225,.12);
  background: rgba(0,5,11,.30);
}
.cleanex-machine-row.is-accessory summary {
  grid-template-columns: minmax(220px, 1fr) minmax(140px, auto) minmax(180px, auto) minmax(140px, auto);
}
.cleanex-machine-row summary span small {
  display: block;
  color: rgba(189,205,222,.54);
  font-size: .72rem;
  line-height: 1.1;
  margin-bottom: .18rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cleanex-machine-title strong { font-size: 1.02rem; }
.cleanex-machine-details {
  grid-template-columns: 1fr;
}
.cleanex-machine-meta strong {
  color: rgba(235,245,255,.92);
}
.cleanex-form label small {
  display: block;
  color: rgba(189,205,222,.62);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: .28rem;
}
.cleanex-subnav .cleanex-btn,
.cleanex-form .cleanex-btn.cleanex-btn--fit {
  max-width: max-content !important;
}
@media (max-width: 1100px) {
  .cleanex-warehouse-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cleanex-machine-row.is-accessory summary { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .cleanex-warehouse-filters { grid-template-columns: 1fr; }
  .cleanex-machine-row.is-accessory summary { grid-template-columns: 1fr; }
}

/* v0.2.8: brighter warehouse filters, clearer tables, auto bundle + attachment rows */
.cleanex-warehouse-filters {
  grid-template-columns: 170px 220px 170px minmax(260px, 1fr);
  padding: 1rem;
  border: 1px solid rgba(84,158,234,.24);
  background: linear-gradient(180deg, rgba(8,21,38,.92), rgba(5,15,28,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 20px 45px rgba(0,0,0,.18);
}
.cleanex-warehouse-filters label {
  gap: .42rem;
  color: rgba(240,247,255,.86);
  font-size: .8rem;
  letter-spacing: .02em;
}
.cleanex-warehouse-filters select,
.cleanex-warehouse-filters input {
  min-height: 2.95rem;
  padding: 0 .95rem;
  border: 1px solid rgba(163,205,246,.28);
  background: rgba(240,247,255,.96);
  color: #091523;
  border-radius: .9rem;
  box-shadow: 0 10px 24px rgba(1,10,20,.14), inset 0 1px 0 rgba(255,255,255,.65);
}
.cleanex-warehouse-filters input::placeholder {
  color: rgba(9,21,35,.56);
}
.cleanex-warehouse-filters select:focus,
.cleanex-warehouse-filters input:focus,
.cleanex-form input:focus,
.cleanex-form select:focus,
.cleanex-form textarea:focus {
  border-color: rgba(78,169,255,.62);
  box-shadow: 0 0 0 3px rgba(38,152,255,.12);
}

.cleanex-machine-row {
  border-color: rgba(106,171,236,.18);
  background: linear-gradient(180deg, rgba(10,24,42,.86), rgba(6,16,29,.82));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.cleanex-machine-row summary {
  gap: 0;
  padding: 1rem 1.1rem;
}
.cleanex-machine-row summary > span {
  min-width: 0;
  padding: .15rem 1rem;
}
.cleanex-machine-row summary > span:not(:first-child) {
  border-left: 1px solid rgba(113,177,239,.18);
}
.cleanex-machine-title {
  padding-left: 0 !important;
}
.cleanex-machine-title strong {
  font-size: 1.08rem;
}
.cleanex-machine-row summary span small {
  color: rgba(196,216,236,.66);
}
.cleanex-machine-details {
  border-top: 1px solid rgba(105,170,234,.14);
  background: rgba(4,12,22,.28);
}
.cleanex-machine-meta {
  gap: .55rem;
  color: rgba(233,243,255,.8);
}

.cleanex-table,
.cleanex-units-table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(101,168,234,.18);
  border-radius: 1rem;
  background: rgba(9,22,39,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.cleanex-table thead th,
.cleanex-units-table thead th {
  background: rgba(255,255,255,.055);
  color: rgba(244,249,255,.92);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cleanex-table th,
.cleanex-table td,
.cleanex-units-table th,
.cleanex-units-table td {
  padding: .92rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(236,245,255,.9);
  vertical-align: top;
}
.cleanex-table th + th,
.cleanex-table td + td,
.cleanex-units-table th + th,
.cleanex-units-table td + td {
  border-left: 1px solid rgba(101,168,234,.12);
}
.cleanex-table tbody tr:nth-child(even),
.cleanex-units-table tbody tr:nth-child(even) {
  background: rgba(255,255,255,.025);
}
.cleanex-table tbody tr:hover,
.cleanex-units-table tbody tr:hover {
  background: rgba(38,152,255,.08);
}
.cleanex-units-table code {
  background: rgba(38,152,255,.16);
  border-color: rgba(38,152,255,.28);
}

.cleanex-related-block {
  display: grid;
  gap: .6rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
}
.cleanex-related-block > strong {
  color: #fff;
}
.cleanex-related-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.cleanex-related-tag {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 .8rem;
  border-radius: 999px;
  border: 1px solid rgba(84,158,234,.24);
  background: rgba(38,152,255,.1);
  color: rgba(242,248,255,.92);
  font-weight: 800;
  font-size: .84rem;
}

.cleanex-attachment-list {
  display: grid;
  gap: .65rem;
}
.cleanex-attachment-item {
  display: grid;
  gap: .2rem;
  padding: .8rem .9rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: .9rem;
  background: rgba(1,9,18,.36);
}
.cleanex-attachment-item a,
.cleanex-attachment-item strong {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.cleanex-attachment-item a:hover {
  color: #8ec9ff;
}
.cleanex-attachment-item small {
  color: rgba(201,217,234,.62);
  overflow-wrap: anywhere;
}
.cleanex-attachment-badge {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  min-height: 1.7rem;
  padding: 0 .65rem;
  border-radius: 999px;
  background: rgba(38,152,255,.14);
  border: 1px solid rgba(84,158,234,.24);
  color: rgba(243,248,255,.92);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cleanex-auto-note,
.cleanex-attachments-fieldset {
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(0,5,11,.24);
}
.cleanex-auto-note strong,
.cleanex-attachments-fieldset legend {
  color: #fff;
  font-weight: 900;
}
.cleanex-auto-note p {
  margin: .45rem 0 0;
  color: rgba(224,236,255,.7);
  line-height: 1.5;
}
.cleanex-attachment-rows {
  display: grid;
  gap: .75rem;
  margin-top: .95rem;
}
.cleanex-attachment-row {
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(230px, 1fr) minmax(260px, 1.2fr) auto;
  gap: .75rem;
  align-items: end;
  padding: .85rem;
  border-radius: .95rem;
  border: 1px solid rgba(84,158,234,.14);
  background: rgba(255,255,255,.03);
}
.cleanex-btn--icon {
  min-height: 2.95rem;
}

@media (max-width: 1100px) {
  .cleanex-machine-row summary > span:not(:first-child) {
    border-left: 0;
    padding-left: 1rem;
  }
  .cleanex-attachment-row {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .cleanex-attachment-row {
    grid-template-columns: 1fr;
  }
  .cleanex-machine-row summary > span {
    padding: .15rem 0;
  }
}

/* v0.2.9: single warehouse table model, aligned columns and sorting controls */
.cleanex-warehouse-controls {
  display: grid;
  gap: .8rem;
  margin-bottom: 1rem;
}
.cleanex-warehouse-filters {
  grid-template-columns: minmax(120px, .7fr) minmax(180px, .95fr) minmax(145px, .75fr) minmax(220px, 1.2fr) minmax(260px, 1.45fr) !important;
  align-items: end;
  gap: .65rem !important;
}
.cleanex-warehouse-filters label {
  min-width: 0;
}
.cleanex-warehouse-filters select,
.cleanex-warehouse-filters input {
  width: 100%;
  min-width: 0;
  appearance: auto;
}
.cleanex-warehouse-table {
  border: 1px solid rgba(101,168,234,.22);
  border-radius: 1rem;
  overflow: hidden;
  background: rgba(6,18,32,.74);
}
.cleanex-warehouse-head,
.cleanex-warehouse-row-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.35fr) minmax(105px, .52fr) minmax(175px, .82fr) minmax(92px, .45fr) minmax(140px, .64fr) minmax(150px, .68fr) minmax(135px, .6fr) minmax(130px, .58fr) minmax(150px, .68fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.cleanex-warehouse-head {
  background: rgba(255,255,255,.065);
  border-bottom: 1px solid rgba(101,168,234,.18);
}
.cleanex-warehouse-head span {
  display: flex;
  align-items: center;
  padding: .85rem 1rem;
  color: rgba(236,246,255,.86);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .085em;
  border-left: 1px solid rgba(101,168,234,.12);
}
.cleanex-warehouse-head span:first-child {
  border-left: 0;
}
.cleanex-warehouse-table .cleanex-machine-list {
  display: block;
}
.cleanex-warehouse-table .cleanex-machine-row {
  border: 0;
  border-radius: 0;
  background: rgba(7,18,32,.58);
  box-shadow: none;
}
.cleanex-warehouse-table .cleanex-machine-row:nth-child(even) {
  background: rgba(12,26,43,.58);
}
.cleanex-warehouse-table .cleanex-machine-row + .cleanex-machine-row {
  border-top: 1px solid rgba(101,168,234,.13);
}
.cleanex-warehouse-table .cleanex-machine-row summary {
  padding: 0 !important;
}
.cleanex-warehouse-table .cleanex-machine-row summary > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 4.8rem;
  padding: .9rem 1rem !important;
  border-left: 1px solid rgba(101,168,234,.11) !important;
}
.cleanex-warehouse-table .cleanex-machine-row summary > span:first-child {
  border-left: 0 !important;
}
.cleanex-warehouse-table .cleanex-machine-row summary:hover > span {
  background: rgba(38,152,255,.045);
}
.cleanex-warehouse-table .cleanex-machine-title strong {
  color: #fff;
  font-size: 1rem;
  line-height: 1.25;
}
.cleanex-warehouse-table .cleanex-machine-row summary span small {
  display: none;
}
.cleanex-warehouse-table .cleanex-machine-row summary span strong {
  color: rgba(249,252,255,.96);
  font-size: .95rem;
  line-height: 1.28;
  overflow-wrap: anywhere;
}
.cleanex-warehouse-table .cleanex-machine-row summary span em {
  color: rgba(196,214,232,.7);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
  margin-top: .18rem;
}
.cleanex-warehouse-table .cleanex-machine-details {
  border-top: 1px solid rgba(101,168,234,.16);
  padding: 1rem;
  background: rgba(3,11,20,.62);
}
.cleanex-details-table {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid rgba(101,168,234,.18);
  border-radius: .9rem;
  overflow: hidden;
  background: rgba(9,22,39,.72);
}
.cleanex-details-table div {
  display: grid;
  gap: .22rem;
  min-height: 4.2rem;
  padding: .82rem .95rem;
  border-left: 1px solid rgba(101,168,234,.12);
  border-top: 1px solid rgba(255,255,255,.07);
}
.cleanex-details-table div:nth-child(3n+1) {
  border-left: 0;
}
.cleanex-details-table div:nth-child(-n+3) {
  border-top: 0;
}
.cleanex-details-table span {
  color: rgba(196,216,236,.66);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cleanex-details-table strong {
  color: #fff;
  font-size: .98rem;
  overflow-wrap: anywhere;
}
.cleanex-details-section {
  display: grid;
  gap: .45rem;
  padding: .95rem 1rem;
  border: 1px solid rgba(101,168,234,.15);
  border-radius: .9rem;
  background: rgba(255,255,255,.025);
}
.cleanex-details-section > strong,
.cleanex-machine-specs > strong {
  color: #fff;
}
.cleanex-details-section p {
  margin: 0;
  color: rgba(226,237,249,.78);
  line-height: 1.5;
}
@media (max-width: 1380px) {
  .cleanex-warehouse-table {
    overflow-x: auto;
  }
  .cleanex-warehouse-head,
  .cleanex-warehouse-row-grid {
    min-width: 1320px;
  }
}
@media (max-width: 1180px) {
  .cleanex-warehouse-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .cleanex-warehouse-filters label:last-child {
    grid-column: 1 / -1;
  }
  .cleanex-details-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cleanex-details-table div:nth-child(3n+1),
  .cleanex-details-table div:nth-child(-n+3) {
    border-left: 1px solid rgba(101,168,234,.12);
    border-top: 1px solid rgba(255,255,255,.07);
  }
  .cleanex-details-table div:nth-child(2n+1) {
    border-left: 0;
  }
  .cleanex-details-table div:nth-child(-n+2) {
    border-top: 0;
  }
}
@media (max-width: 760px) {
  .cleanex-warehouse-filters {
    grid-template-columns: 1fr !important;
  }
  .cleanex-warehouse-filters label:last-child {
    grid-column: auto;
  }
  .cleanex-details-table {
    grid-template-columns: 1fr;
  }
  .cleanex-details-table div {
    border-left: 0 !important;
  }
  .cleanex-details-table div:nth-child(n+2) {
    border-top: 1px solid rgba(255,255,255,.07) !important;
  }
}

/* v0.3.0: bulk selection, edit state and many-to-many product relations */
.cleanex-bulk-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 .85rem;
  padding: .75rem .9rem;
  border: 1px solid rgba(101,168,234,.18);
  border-radius: .9rem;
  background: rgba(9,22,39,.62);
}
.cleanex-bulk-actions span {
  color: rgba(232,244,255,.78);
  font-weight: 900;
}
.cleanex-bulk-actions button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.cleanex-warehouse-head input[type="checkbox"],
.cleanex-row-select input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--cx-blue);
}
.cleanex-warehouse-head,
.cleanex-warehouse-row-grid {
  grid-template-columns: 42px minmax(250px, 1.28fr) minmax(105px, .5fr) minmax(175px, .8fr) minmax(90px, .42fr) minmax(140px, .62fr) minmax(150px, .68fr) minmax(125px, .58fr) minmax(130px, .58fr) minmax(150px, .68fr) !important;
}
.cleanex-row-select {
  align-items: center !important;
  justify-content: center !important;
  padding: .9rem .5rem !important;
}
.cleanex-row-actions {
  display: flex !important;
  gap: .45rem;
  flex-wrap: wrap;
  align-content: center;
}
.cleanex-link-button {
  color: #dcefff;
  border: 1px solid rgba(84,158,234,.28);
  background: rgba(38,152,255,.1);
  border-radius: 999px;
  min-height: 1.9rem;
  padding: 0 .65rem;
  font-weight: 900;
  font-size: .78rem;
  cursor: pointer;
  text-decoration: none;
}
.cleanex-link-button:hover {
  background: rgba(38,152,255,.18);
  border-color: rgba(84,158,234,.42);
}
.cleanex-warehouse-table .cleanex-machine-row[open] {
  background: linear-gradient(180deg, rgba(14,34,58,.92), rgba(7,20,36,.9));
  box-shadow: inset 4px 0 0 rgba(38,152,255,.9), inset 0 1px 0 rgba(255,255,255,.04);
}
.cleanex-warehouse-table .cleanex-machine-row[open] > summary > span {
  background: rgba(38,152,255,.06);
}
.cleanex-warehouse-table .cleanex-machine-row[open] .cleanex-machine-title strong {
  color: #ffffff;
}
.cleanex-machine-details {
  gap: 1rem;
}
.cleanex-relations-popover {
  padding: .95rem 1rem;
  border: 1px solid rgba(84,158,234,.24);
  border-radius: 1rem;
  background: rgba(14,33,55,.82);
  box-shadow: 0 20px 50px rgba(0,0,0,.22);
}
.cleanex-relations-popover > strong {
  display: block;
  margin-bottom: .65rem;
  color: #fff;
}
.cleanex-edit-product-form {
  padding: 1rem;
  border: 1px solid rgba(84,158,234,.22);
  border-radius: 1rem;
  background: rgba(8,21,38,.72);
}
.cleanex-parents-fieldset {
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 1rem;
  padding: .95rem;
  margin: 0;
  background: rgba(0,5,11,.24);
}
.cleanex-parents-fieldset legend {
  color: #fff;
  font-weight: 900;
  padding: 0 .4rem;
}
.cleanex-parent-picker {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .55rem;
}
.cleanex-check-pill {
  display: inline-flex !important;
  align-items: center;
  gap: .5rem;
  width: auto !important;
  min-height: 2.15rem;
  padding: 0 .75rem;
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(240,247,255,.9) !important;
  font-size: .84rem;
}
.cleanex-check-pill input {
  width: .95rem !important;
  height: .95rem;
  accent-color: var(--cx-blue);
}
@media (max-width: 1380px) {
  .cleanex-warehouse-head,
  .cleanex-warehouse-row-grid {
    min-width: 1320px;
  }
}

/* v0.3.1: fix clickable row actions inside details summary */
.cleanex-row-actions,
.cleanex-row-actions .cleanex-link-button,
.cleanex-warehouse-row-grid [data-relations-toggle] {
  position: relative;
  z-index: 5;
  pointer-events: auto;
}
.cleanex-row-actions .cleanex-link-button,
.cleanex-warehouse-row-grid [data-relations-toggle] {
  user-select: none;
}

/* v0.3.2: replace details/summary warehouse rows with stable clickable div rows */
.cleanex-warehouse-row-grid[data-row-toggle] {
  display: grid;
  cursor: pointer;
  padding: 0 !important;
}
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 4.8rem;
  padding: .9rem 1rem !important;
  border-left: 1px solid rgba(101,168,234,.11) !important;
}
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span:first-child {
  border-left: 0 !important;
}
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid:hover > span {
  background: rgba(38,152,255,.045);
}
.cleanex-warehouse-table .cleanex-machine-row.is-open {
  background: linear-gradient(180deg, rgba(14,34,58,.92), rgba(7,20,36,.9));
  box-shadow: inset 4px 0 0 rgba(38,152,255,.9), inset 0 1px 0 rgba(255,255,255,.04);
}
.cleanex-warehouse-table .cleanex-machine-row.is-open > .cleanex-warehouse-row-grid > span {
  background: rgba(38,152,255,.06);
}
.cleanex-warehouse-table .cleanex-machine-row.is-open .cleanex-machine-title strong {
  color: #ffffff;
}
.cleanex-machine-details[hidden] {
  display: none !important;
}
.cleanex-row-actions,
.cleanex-row-actions .cleanex-link-button,
.cleanex-warehouse-row-grid [data-relations-toggle] {
  pointer-events: auto !important;
  position: relative;
  z-index: 10;
}
.cleanex-warehouse-row-grid [data-edit-product],
.cleanex-warehouse-row-grid [data-add-subproduct],
.cleanex-warehouse-row-grid [data-relations-toggle] {
  cursor: pointer !important;
}

/* v0.3.3: cart and order foundation */
.cleanex-cart-page .cleanex-cart-view {
  width: min(1180px, calc(100vw - 48px));
  margin: 0 auto;
}
.cleanex-cart-view h1 {
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: .95;
  letter-spacing: -.055em;
  margin: .25rem 0 .7rem;
}
.cleanex-orders-table small {
  display: block;
  color: rgba(196,216,236,.58);
  font-size: .78rem;
  margin-top: .18rem;
}
.cleanex-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 .7rem;
  border-radius: 999px;
  border: 1px solid rgba(84,158,234,.28);
  background: rgba(38,152,255,.13);
  color: rgba(245,250,255,.94);
  font-weight: 900;
  font-size: .78rem;
}
.cleanex-cart-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(84,158,234,.2);
  border-radius: 1rem;
  background: rgba(255,255,255,.035);
}
.cleanex-cart-summary > span {
  color: rgba(224,236,255,.72);
  font-weight: 800;
}
.cleanex-cart-summary > strong {
  color: #fff;
  font-size: 1.4rem;
}
.cleanex-cart-summary form {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: end;
}
.cleanex-cart-summary label {
  display: grid;
  gap: .35rem;
  min-width: min(340px, 100%);
  color: rgba(224,236,255,.78);
  font-weight: 900;
}
.cleanex-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}
.cleanex-product-actions form {
  margin: 0;
}
.site-icon--cart {
  text-decoration: none;
}
.cleanex-panel-menu button[data-tab-target="cart"]::after {
  content: 'nowe';
  margin-left: auto;
  font-size: .68rem;
  opacity: .6;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .cleanex-cart-page .cleanex-cart-view { width: min(100% - 24px, 720px); }
  .cleanex-cart-summary { grid-template-columns: 1fr; }
}


/* v0.3.4: cart viewport fix and richer order details */
.cleanex-cart-page {
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0;
}
.cleanex-cart-content {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  align-items: start;
  padding-top: clamp(7.8rem, 10vh, 9.2rem);
  padding-bottom: 3rem;
}
.cleanex-cart-page .cleanex-cart-view {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: clamp(1.15rem, 2.2vw, 2rem);
}
.cleanex-cart-view .cleanex-lead {
  max-width: 780px;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
}
.cleanex-orders-table--details {
  border: 1px solid rgba(84,158,234,.2);
  border-radius: 1rem;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  background: rgba(6,18,32,.72);
}
.cleanex-orders-table--details th {
  background: rgba(255,255,255,.055);
  color: rgba(230,240,252,.72);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78rem;
}
.cleanex-orders-table--details th + th,
.cleanex-orders-table--details td + td {
  border-left: 1px solid rgba(84,158,234,.13);
}
.cleanex-orders-table--details .cleanex-order-row td {
  background: rgba(6,18,32,.55);
  vertical-align: middle;
}
.cleanex-order-details-row td {
  padding: 0 !important;
  background: rgba(2,9,18,.36);
}
.cleanex-order-details {
  padding: 0;
}
.cleanex-order-details summary {
  list-style: none;
  cursor: pointer;
  padding: .9rem 1rem;
  color: rgba(235,246,255,.92);
  font-weight: 900;
  border-bottom: 1px solid rgba(84,158,234,.12);
}
.cleanex-order-details summary::-webkit-details-marker { display: none; }
.cleanex-order-details summary::after {
  content: 'Rozwiń';
  float: right;
  color: rgba(142,201,255,.82);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cleanex-order-details[open] summary::after { content: 'Zwiń'; }
.cleanex-order-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(84,158,234,.12);
}
.cleanex-order-detail-grid > div {
  display: grid;
  gap: .3rem;
  min-height: 4.3rem;
  padding: .9rem 1rem;
  background: rgba(8,22,39,.9);
}
.cleanex-order-detail-grid span {
  color: rgba(199,217,236,.66);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}
.cleanex-order-detail-grid strong {
  color: #fff;
  font-size: .94rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.cleanex-payment-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 900;
  font-size: .76rem;
  white-space: nowrap;
}
.cleanex-payment-pill.is-paid { background: rgba(53,220,142,.12); border-color: rgba(53,220,142,.28); color: #c9ffe3; }
.cleanex-payment-pill.is-pending { background: rgba(255,185,74,.12); border-color: rgba(255,185,74,.32); color: #ffe1aa; }
.cleanex-payment-pill.is-unpaid { background: rgba(255,95,95,.1); border-color: rgba(255,95,95,.24); color: #ffd0d0; }
.cleanex-muted { color: rgba(224,236,255,.48); }
@media (max-width: 1180px) {
  .cleanex-order-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cleanex-orders-table--details { min-width: 980px; }
}
@media (max-width: 760px) {
  .cleanex-cart-content { padding-top: 6.8rem; width: min(100% - 24px, 720px); }
  .cleanex-order-detail-grid { grid-template-columns: 1fr; }
}


/* v0.3.5: richer cart page */
.cleanex-cart-page .cleanex-cart-view {
  width: min(1280px, 100%);
}
.cleanex-cart-hero {
  display: flex;
  justify-content: space-between;
  gap: 1.2rem;
  align-items: flex-end;
  margin-bottom: 1.25rem;
}
.cleanex-cart-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}
.cleanex-cart-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
  margin-bottom: 1.25rem;
}
.cleanex-cart-stat {
  display: grid;
  gap: .35rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(84,158,234,.16);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(12,26,45,.82), rgba(7,18,31,.82));
}
.cleanex-cart-stat span,
.cleanex-cart-summary-list span,
.cleanex-cart-section__head small,
.cleanex-cart-checkout-actions p,
.cleanex-cart-placeholder-note p,
.cleanex-cart-empty p,
.cleanex-cart-steps span {
  color: rgba(209,224,241,.72);
}
.cleanex-cart-stat strong {
  color: #fff;
  font-size: clamp(1.35rem, 1.8vw, 2rem);
  line-height: 1;
}
.cleanex-cart-stat small {
  color: rgba(142,201,255,.84);
  font-weight: 800;
}
.cleanex-cart-stat--accent {
  background: linear-gradient(135deg, rgba(19,92,169,.34), rgba(7,18,31,.9));
  border-color: rgba(84,158,234,.28);
}
.cleanex-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(340px, .9fr);
  gap: 1.1rem;
  align-items: start;
}
.cleanex-cart-main,
.cleanex-cart-sidebar {
  display: grid;
  gap: 1rem;
}
.cleanex-cart-section,
.cleanex-cart-checkout-card,
.cleanex-cart-info-card {
  padding: 1rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.025);
}
.cleanex-cart-section__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-bottom: .85rem;
}
.cleanex-cart-section__head h2,
.cleanex-cart-checkout-card h2,
.cleanex-cart-info-card h3 {
  margin: .1rem 0 0;
  font-size: clamp(1.2rem, 1.4vw, 1.65rem);
}
.cleanex-cart-table-wrap {
  overflow-x: auto;
}
.cleanex-cart-table {
  min-width: 880px;
}
.cleanex-cart-table .cleanex-order-row td {
  vertical-align: middle;
}
.cleanex-cart-table td small {
  display: block;
  margin-top: .28rem;
  color: rgba(196,216,236,.62);
}
.cleanex-order-mode {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 .7rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 900;
  border: 1px solid rgba(84,158,234,.22);
  background: rgba(38,152,255,.08);
  color: rgba(245,250,255,.94);
}
.cleanex-order-mode--purchase {
  background: rgba(80,205,158,.12);
  border-color: rgba(80,205,158,.28);
  color: #cffff0;
}
.cleanex-order-mode--rental {
  background: rgba(38,152,255,.12);
  border-color: rgba(84,158,234,.28);
  color: #d9efff;
}
.cleanex-cart-remove-form {
  margin: 0;
}
.cleanex-cart-summary-list {
  display: grid;
  gap: .72rem;
  margin: .85rem 0 1rem;
}
.cleanex-cart-summary-list > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .8rem .9rem;
  border-radius: .95rem;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(84,158,234,.12);
}
.cleanex-cart-summary-list > div strong {
  color: #fff;
}
.cleanex-cart-summary-list > div.is-total {
  background: linear-gradient(135deg, rgba(19,92,169,.34), rgba(7,18,31,.9));
  border-color: rgba(84,158,234,.24);
}
.cleanex-cart-checkout-form {
  display: grid;
  gap: 1rem;
}
.cleanex-cart-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.cleanex-cart-form-grid label {
  display: grid;
  gap: .38rem;
}
.cleanex-cart-form-grid label span {
  color: rgba(234,244,255,.82);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .02em;
}
.cleanex-cart-form-grid label.is-full {
  grid-column: 1 / -1;
}
.cleanex-cart-form-grid input,
.cleanex-cart-form-grid textarea {
  width: 100%;
  min-height: 3rem;
  padding: .8rem .95rem;
  border-radius: .95rem;
  border: 1px solid rgba(163,205,246,.2);
  background: rgba(255,255,255,.04);
  color: #eff7ff;
}
.cleanex-cart-form-grid textarea {
  min-height: 6rem;
  resize: vertical;
}
.cleanex-cart-checkout-actions {
  display: grid;
  gap: .6rem;
}
.cleanex-cart-placeholder-note,
.cleanex-cart-empty {
  display: grid;
  gap: .8rem;
  padding: 1.1rem;
  border: 1px dashed rgba(84,158,234,.22);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
}
.cleanex-cart-empty strong {
  color: #fff;
  font-size: 1.1rem;
}
.cleanex-cart-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.cleanex-cart-steps {
  display: grid;
  gap: .85rem;
  margin: .9rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: cartstep;
}
.cleanex-cart-steps li {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .7rem;
  align-items: start;
}
.cleanex-cart-steps li::before {
  counter-increment: cartstep;
  content: counter(cartstep);
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(38,152,255,.12);
  border: 1px solid rgba(84,158,234,.24);
  color: #fff;
  font-weight: 900;
}
.cleanex-cart-steps strong {
  display: block;
  margin-bottom: .2rem;
  color: #fff;
}
@media (max-width: 1180px) {
  .cleanex-cart-layout {
    grid-template-columns: 1fr;
  }
  .cleanex-cart-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cleanex-cart-hero,
  .cleanex-cart-section__head {
    align-items: start;
    flex-direction: column;
  }
}
@media (max-width: 760px) {
  .cleanex-cart-stats,
  .cleanex-cart-form-grid {
    grid-template-columns: 1fr;
  }
  .cleanex-cart-page .cleanex-cart-view {
    width: min(100%, calc(100vw - 24px));
    padding: 1rem;
  }
  .cleanex-cart-content {
    width: min(100% - 24px, 1280px);
  }
}


/* v0.3.6: cart viewport + recommendations under action buttons */
body.cleanex-cart-page-body {
  overflow-x: hidden;
  overflow-y: auto;
}
.cleanex-cart-page {
  min-height: 100vh;
  min-height: 100dvh;
  overflow: visible;
}
.cleanex-cart-content {
  align-items: start;
  padding-bottom: max(2rem, env(safe-area-inset-bottom));
  min-height: auto;
}
.cleanex-cart-page .cleanex-cart-view {
  max-height: none;
  overflow: visible;
}
.cleanex-cart-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  align-items: start;
}
.cleanex-cart-hero__side {
  display: grid;
  gap: .9rem;
  align-content: start;
  justify-items: stretch;
}
.cleanex-cart-hero__actions {
  justify-content: flex-end;
}
.cleanex-cart-recommendations {
  border: 1px solid rgba(84,158,234,.16);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(12,26,45,.72), rgba(4,13,25,.76));
  padding: .85rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.cleanex-cart-recommendations .cleanex-eyebrow {
  margin-bottom: .2rem;
  font-size: .7rem;
}
.cleanex-cart-recommendations__head h3 {
  margin: 0 0 .72rem;
  font-size: 1rem;
  letter-spacing: -.025em;
}
.cleanex-cart-recommendations__list {
  display: grid;
  gap: .55rem;
}
.cleanex-cart-recommendation-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .65rem;
  align-items: center;
  padding: .65rem;
  border: 1px solid rgba(84,158,234,.12);
  border-radius: .85rem;
  background: rgba(255,255,255,.035);
}
.cleanex-cart-recommendation-card strong {
  display: block;
  color: #fff;
  font-size: .88rem;
  line-height: 1.18;
}
.cleanex-cart-recommendation-card small {
  display: block;
  color: rgba(203,221,240,.64);
  font-size: .74rem;
  line-height: 1.25;
  margin-top: .18rem;
}
.cleanex-cart-recommendation-card > span {
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
  font-size: .9rem;
}
.cleanex-cart-recommendation-card form {
  margin: 0;
}
.cleanex-cart-recommendation-card .cleanex-btn {
  min-height: 2.35rem;
  padding: 0 .85rem;
  border-radius: .7rem;
}
.cleanex-cart-info-card {
  margin-bottom: .25rem;
}
@media (max-width: 1180px) {
  .cleanex-cart-hero {
    grid-template-columns: 1fr;
  }
  .cleanex-cart-hero__actions {
    justify-content: flex-start;
  }
  .cleanex-cart-recommendation-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .cleanex-cart-recommendation-card form {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .cleanex-cart-recommendations {
    padding: .75rem;
  }
  .cleanex-cart-recommendation-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
}


/* v0.3.7: full-width cart, buyer-focused details and rental account rules */
.cleanex-cart-content {
  width: min(100% - 28px, 1760px) !important;
  padding-top: clamp(7.4rem, 9vh, 8.7rem) !important;
  padding-bottom: 2rem !important;
  margin-inline: auto;
}
.cleanex-cart-page .cleanex-cart-view {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(1rem, 1.5vw, 1.6rem) !important;
}
.cleanex-cart-hero {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 500px) !important;
  gap: 1.1rem;
}
.cleanex-cart-layout {
  grid-template-columns: minmax(0, 1fr) minmax(390px, 460px) !important;
  gap: 1.05rem !important;
}
.cleanex-cart-sidebar {
  position: sticky;
  top: 7.4rem;
  align-self: start;
}
.cleanex-cart-checkout-card,
.cleanex-cart-info-card,
.cleanex-cart-recommendations {
  backdrop-filter: blur(10px);
}
.cleanex-cart-table {
  min-width: 980px;
}
.cleanex-order-details-row--product .cleanex-order-details summary {
  color: rgba(255,255,255,.92);
}
.cleanex-cart-product-details {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}
.cleanex-cart-product-description,
.cleanex-cart-product-specs {
  display: grid;
  gap: .55rem;
  padding: 1rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
}
.cleanex-cart-product-description > span,
.cleanex-cart-product-specs > span {
  color: rgba(199,217,236,.7);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}
.cleanex-cart-product-description p {
  margin: 0;
  color: rgba(233,244,255,.86);
  line-height: 1.55;
}
.cleanex-order-detail-grid--product {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-radius: 1rem;
  overflow: hidden;
}
.cleanex-cart-auth-note {
  display: grid;
  gap: .55rem;
  padding: .95rem;
  margin: .75rem 0 1rem;
  border: 1px solid rgba(255,185,74,.24);
  border-radius: 1rem;
  background: rgba(255,185,74,.08);
}
.cleanex-cart-auth-note strong {
  color: #fff;
}
.cleanex-cart-auth-note p {
  margin: 0;
  color: rgba(238,226,202,.82);
  line-height: 1.45;
}
.cleanex-cart-auth-note > div {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.cleanex-cart-checkout-actions .cleanex-btn[disabled] {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.4);
}
.cleanex-cart-empty__actions .cleanex-btn {
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .cleanex-cart-hero,
  .cleanex-cart-layout {
    grid-template-columns: 1fr !important;
  }
  .cleanex-cart-sidebar {
    position: static;
  }
}
@media (max-width: 760px) {
  .cleanex-cart-content {
    width: min(100% - 20px, 1760px) !important;
  }
  .cleanex-order-detail-grid--product {
    grid-template-columns: 1fr;
  }
}

/* v0.3.8: cart UX polish, visual cross-sell carousel and AJAX quantity controls */
.cleanex-cart-content {
  overflow-x: hidden !important;
  align-items: start !important;
}
.cleanex-cart-page .cleanex-cart-view {
  overflow: visible !important;
  padding-bottom: clamp(1.2rem, 2.6vw, 2.2rem) !important;
}
.cleanex-cart-hero {
  align-items: flex-end !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.cleanex-cart-hero__side {
  align-self: end !important;
  width: auto !important;
  max-width: none !important;
}
.cleanex-cart-hero__actions {
  justify-content: flex-end !important;
}
.cleanex-cart-recommendations--visual {
  grid-column: 1 / -1;
  margin: .95rem 0 1.1rem !important;
  padding: 1rem !important;
  overflow: hidden;
  border: 1px solid rgba(84,158,234,.18) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(38,152,255,.14), transparent 32%),
    linear-gradient(180deg, rgba(9,23,41,.86), rgba(5,15,27,.84)) !important;
}
.cleanex-cart-recommendations--visual .cleanex-cart-recommendations__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  margin-bottom: .85rem;
}
.cleanex-cart-recommendations--visual .cleanex-cart-recommendations__head h3 {
  font-size: clamp(1.25rem, 1.5vw, 1.75rem) !important;
  margin: .12rem 0 0;
}
.cleanex-cart-recommendations--visual .cleanex-cart-recommendations__head > span {
  max-width: 360px;
  color: rgba(209,224,241,.62);
  font-size: .86rem;
  line-height: 1.45;
  text-align: right;
}
.cleanex-cart-recommendations__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(230px, 280px);
  gap: .85rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding-bottom: .35rem;
  scrollbar-color: rgba(38,152,255,.65) rgba(255,255,255,.06);
}
.cleanex-cart-recommendation-card--visual {
  display: grid !important;
  grid-template-rows: 118px 1fr auto;
  min-height: 265px;
  padding: .7rem !important;
  border-radius: 1rem !important;
  scroll-snap-align: start;
  background: rgba(0,6,14,.38) !important;
  border: 1px solid rgba(109,180,248,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.cleanex-cart-recommendation-visual {
  position: relative;
  overflow: hidden;
  border-radius: .85rem;
  background:
    radial-gradient(circle at 50% 20%, rgba(52,160,255,.18), transparent 42%),
    linear-gradient(135deg, rgba(18,44,72,.9), rgba(3,13,24,.94));
  background-size: cover;
  background-position: center;
}
.cleanex-cart-recommendation-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,6,14,.58));
}
.cleanex-cart-recommendation-visual span {
  position: absolute;
  left: .65rem;
  bottom: .55rem;
  z-index: 1;
  display: inline-flex;
  padding: .32rem .55rem;
  border-radius: 999px;
  color: #e9f6ff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(84,158,234,.28);
  background: rgba(6,18,32,.72);
}
.cleanex-cart-recommendation-copy {
  display: grid;
  gap: .3rem;
  padding: .75rem .15rem .55rem;
}
.cleanex-cart-recommendation-copy strong {
  color: #fff;
  font-size: .98rem;
  line-height: 1.18;
}
.cleanex-cart-recommendation-copy small,
.cleanex-cart-recommendation-copy em {
  color: rgba(209,224,241,.64);
  font-size: .77rem;
  line-height: 1.35;
  font-style: normal;
}
.cleanex-cart-recommendation-action {
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: .65rem;
  align-items: center;
  margin: 0 !important;
  padding-top: .65rem;
  border-top: 1px solid rgba(84,158,234,.12);
}
.cleanex-cart-recommendation-action > span {
  color: #fff;
  font-weight: 900;
  font-size: .95rem;
}
.cleanex-btn--circle {
  width: 2.55rem !important;
  height: 2.55rem !important;
  min-height: 2.55rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center;
  font-size: 1.2rem !important;
  line-height: 1 !important;
}
.cleanex-cart-qty {
  display: inline-grid;
  grid-template-columns: 2.25rem 3.4rem 2.25rem;
  align-items: stretch;
  border: 1px solid rgba(109,180,248,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  overflow: hidden;
}
.cleanex-cart-qty button {
  appearance: none;
  border: 0;
  background: rgba(38,152,255,.09);
  color: #fff;
  font-weight: 900;
  font-size: 1rem;
  cursor: pointer;
}
.cleanex-cart-qty button:hover {
  background: rgba(38,152,255,.22);
}
.cleanex-cart-qty input {
  width: 100%;
  min-height: 2.25rem;
  border: 0;
  border-left: 1px solid rgba(109,180,248,.14);
  border-right: 1px solid rgba(109,180,248,.14);
  background: rgba(0,6,14,.18);
  color: #fff;
  text-align: center;
  font-weight: 900;
  -moz-appearance: textfield;
}
.cleanex-cart-qty input::-webkit-outer-spin-button,
.cleanex-cart-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.cleanex-cart-qty-form {
  margin: 0;
}
.cleanex-cart-view.is-cart-updating {
  opacity: .78;
  pointer-events: none;
}
.cleanex-cart-info-card {
  overflow: hidden !important;
}
.cleanex-cart-steps {
  gap: 0 !important;
  counter-reset: cartstep;
}
.cleanex-cart-steps li {
  position: relative;
  display: grid !important;
  grid-template-columns: 2.25rem minmax(0, 1fr) !important;
  column-gap: .85rem !important;
  row-gap: .18rem !important;
  padding: 0 0 1rem !important;
  min-width: 0;
}
.cleanex-cart-steps li:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 1.1rem;
  top: 2.45rem;
  bottom: .18rem;
  width: 1px;
  background: linear-gradient(180deg, rgba(84,158,234,.38), rgba(84,158,234,.08));
}
.cleanex-cart-steps li::before {
  grid-row: 1 / span 2;
  z-index: 1;
}
.cleanex-cart-steps strong {
  margin: .15rem 0 0 !important;
  min-width: 0;
}
.cleanex-cart-steps span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.45;
}
@media (max-width: 1180px) {
  .cleanex-cart-recommendations--visual .cleanex-cart-recommendations__head {
    align-items: start;
    flex-direction: column;
  }
  .cleanex-cart-recommendations--visual .cleanex-cart-recommendations__head > span {
    text-align: left;
    max-width: 100%;
  }
}
@media (max-width: 760px) {
  .cleanex-cart-recommendations__track {
    grid-auto-columns: minmax(220px, 78vw);
  }
}


/* v0.3.9: compact cross-sell + readable order tables */
.cleanex-cart-recommendations--compact {
  grid-column: 1 / -1;
  margin: .85rem 0 1rem !important;
  padding: .9rem 1rem !important;
  border: 1px solid rgba(84,158,234,.18) !important;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(9,23,41,.92), rgba(5,15,27,.88)) !important;
  overflow: hidden;
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head h3 {
  margin: .1rem 0 0;
  font-size: clamp(1.15rem, 1.4vw, 1.55rem);
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head > span {
  max-width: 440px;
  color: rgba(209,224,241,.72);
  text-align: right;
  font-size: .84rem;
  line-height: 1.4;
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 315px);
  gap: .75rem;
  overflow-x: auto;
  padding-bottom: .45rem;
  scrollbar-color: rgba(38,152,255,.65) rgba(255,255,255,.07);
}
.cleanex-cart-recommendation-card--compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 8.5rem;
  padding: .95rem !important;
  border: 1px solid rgba(109,180,248,.18) !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.cleanex-cart-rec-badge {
  display: inline-flex;
  justify-self: start;
  margin-bottom: .25rem;
  padding: .22rem .55rem;
  border: 1px solid rgba(84,158,234,.22);
  border-radius: 999px;
  background: rgba(38,152,255,.1);
  color: rgba(218,236,255,.78);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-copy {
  display: grid;
  gap: .25rem;
  min-width: 0;
  padding: 0 !important;
}
.cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-copy strong {
  color: #fff;
  font-size: .98rem;
  line-height: 1.2;
}
.cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-copy small,
.cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-copy em {
  color: rgba(210,225,241,.74);
  font-size: .78rem;
  line-height: 1.35;
  font-style: normal;
}
.cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-action {
  display: grid !important;
  grid-template-columns: 1fr;
  justify-items: end;
  gap: .55rem;
  align-self: stretch;
  align-content: center;
  margin: 0 !important;
  padding: 0 0 0 .8rem !important;
  border-top: 0 !important;
  border-left: 1px solid rgba(84,158,234,.12);
}
.cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-action > span {
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
}
.cleanex-cart-recommendation-card--visual,
.cleanex-cart-recommendation-visual {
  display: none !important;
}

.cleanex-cart-info-card {
  min-width: 0;
}
.cleanex-cart-steps {
  gap: 0 !important;
}
.cleanex-cart-steps li {
  grid-template-columns: 2.3rem minmax(0, 1fr) !important;
  padding-bottom: .9rem !important;
  border-bottom: 1px solid rgba(84,158,234,.13);
  margin-bottom: .75rem;
}
.cleanex-cart-steps li:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}
.cleanex-cart-steps li:not(:last-child)::after {
  bottom: -.55rem !important;
}
.cleanex-cart-steps strong,
.cleanex-cart-steps span {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.cleanex-orders-table--details {
  background: rgba(9,22,39,.84) !important;
}
.cleanex-orders-table--details thead th {
  background: rgba(255,255,255,.075) !important;
  color: rgba(244,249,255,.88) !important;
}
.cleanex-orders-table--details tbody tr.cleanex-order-row:nth-child(4n+1) td {
  background: rgba(13,29,50,.9) !important;
}
.cleanex-orders-table--details tbody tr.cleanex-order-row:nth-child(4n+3) td {
  background: rgba(6,18,32,.92) !important;
}
.cleanex-orders-table--details tbody tr.cleanex-order-row:hover td {
  background: rgba(38,152,255,.10) !important;
}
.cleanex-order-details-row td {
  background: rgba(3,12,23,.72) !important;
}
.cleanex-order-details summary {
  color: rgba(245,250,255,.98) !important;
  background: rgba(255,255,255,.025);
}
.cleanex-order-detail-grid > div:nth-child(odd) {
  background: rgba(13,29,50,.92) !important;
}
.cleanex-order-detail-grid > div:nth-child(even) {
  background: rgba(7,20,36,.92) !important;
}
@media (max-width: 1180px) {
  .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head {
    align-items: start;
    flex-direction: column;
  }
  .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head > span {
    text-align: left;
    max-width: 100%;
  }
}
@media (max-width: 760px) {
  .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__track {
    grid-auto-columns: minmax(240px, 86vw);
  }
  .cleanex-cart-recommendation-card--compact {
    grid-template-columns: 1fr;
  }
  .cleanex-cart-recommendation-card--compact .cleanex-cart-recommendation-action {
    grid-template-columns: 1fr auto;
    justify-items: stretch;
    border-left: 0;
    border-top: 1px solid rgba(84,158,234,.12) !important;
    padding: .7rem 0 0 !important;
  }
}

/* v0.4.0: grouped orders, filters and order detail page */
.cleanex-order-filters {
  display: grid;
  grid-template-columns: 170px 230px 210px 190px minmax(240px, 1fr) auto;
  gap: .75rem;
  align-items: end;
  margin: 1rem 0 1.1rem;
  padding: 1rem;
  border-radius: 1.05rem;
  border: 1px solid rgba(84,158,234,.18);
  background: linear-gradient(180deg, rgba(12,27,47,.92), rgba(6,18,31,.9));
}
.cleanex-order-filters label {
  display: grid;
  gap: .35rem;
  color: rgba(232,243,255,.84);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cleanex-order-filters select,
.cleanex-order-filters input {
  min-height: 2.85rem;
  width: 100%;
  padding: 0 .85rem;
  border-radius: .85rem;
  border: 1px solid rgba(163,205,246,.24);
  background: rgba(239,247,255,.94);
  color: #091523;
  font-weight: 700;
}
.cleanex-order-groups-table {
  min-width: 1120px;
}
.cleanex-order-groups-table th,
.cleanex-order-groups-table td {
  vertical-align: middle;
}
.cleanex-order-groups-table tbody tr:nth-child(odd) td {
  background: rgba(255,255,255,.035);
}
.cleanex-order-groups-table tbody tr:nth-child(even) td {
  background: rgba(38,152,255,.045);
}
.cleanex-order-groups-table td strong {
  color: #fff;
}
.cleanex-order-groups-table td small {
  display: block;
  margin-top: .26rem;
  color: rgba(198,217,236,.62);
  line-height: 1.35;
}
.cleanex-status-pill--operator {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.18);
}
.cleanex-order-details-page,
.cleanex-order-details-content {
  min-height: 100vh;
  min-height: 100dvh;
}
.cleanex-order-details-content {
  width: min(100% - 32px, 1440px);
  margin: 0 auto;
  padding: clamp(7.4rem, 10vh, 9rem) 0 3rem;
}
.cleanex-order-page {
  display: grid;
  gap: 1rem;
  padding: clamp(1.1rem, 2vw, 1.7rem);
}
.cleanex-order-page-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.cleanex-order-page-head h1 {
  margin: .18rem 0 .35rem;
  font-size: clamp(2.2rem, 4.2vw, 5rem);
  line-height: .92;
  letter-spacing: -.055em;
}
.cleanex-order-page-head p {
  margin: 0;
  color: rgba(216,230,246,.72);
}
.cleanex-order-page-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}
.cleanex-order-page-stats > div,
.cleanex-order-page-section {
  border: 1px solid rgba(84,158,234,.16);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(13,28,47,.86), rgba(7,18,31,.86));
}
.cleanex-order-page-stats > div {
  display: grid;
  gap: .35rem;
  padding: .95rem 1rem;
}
.cleanex-order-page-stats span,
.cleanex-order-page-section .cleanex-eyebrow {
  color: rgba(142,201,255,.86);
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.cleanex-order-page-stats strong {
  color: #fff;
  line-height: 1.2;
}
.cleanex-order-status-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: .8rem;
  align-items: end;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(84,158,234,.18);
  background: rgba(255,255,255,.035);
}
.cleanex-order-status-form label {
  display: grid;
  gap: .35rem;
  color: rgba(232,243,255,.84);
  font-weight: 900;
}
.cleanex-order-status-form select {
  min-height: 2.9rem;
  padding: 0 .85rem;
  border-radius: .85rem;
  border: 1px solid rgba(163,205,246,.24);
  background: rgba(239,247,255,.94);
  color: #091523;
  font-weight: 700;
}
.cleanex-order-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, .8fr);
  gap: 1rem;
  align-items: start;
}
.cleanex-order-page-section {
  padding: 1rem;
  overflow-x: auto;
}
.cleanex-order-page-section h2 {
  margin: .15rem 0 .9rem;
  font-size: clamp(1.25rem, 1.6vw, 1.9rem);
}
.cleanex-order-items-table {
  min-width: 760px;
}
.cleanex-order-items-table tbody tr:nth-child(odd) td {
  background: rgba(255,255,255,.03);
}
.cleanex-order-detail-grid--compact {
  grid-template-columns: 1fr;
}
.cleanex-order-detail-grid--compact > div {
  min-height: auto;
}
@media (max-width: 1200px) {
  .cleanex-order-filters,
  .cleanex-order-status-form,
  .cleanex-order-page-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cleanex-order-page-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .cleanex-order-filters,
  .cleanex-order-status-form,
  .cleanex-order-page-grid,
  .cleanex-order-page-stats {
    grid-template-columns: 1fr;
  }
  .cleanex-order-page-head {
    flex-direction: column;
  }
}


/* v0.4.1: unified readable tables, quick order edits and scrollable order detail page */
body.cleanex-order-details-page-body {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.cleanex-order-details-page,
.cleanex-order-details-content {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
}
.cleanex-order-details-content {
  padding-bottom: 6rem !important;
}
.cleanex-table-scroll {
  width: 100%;
  overflow-x: auto;
  border-radius: 1.15rem;
  border: 1px solid rgba(84,158,234,.18);
  background: linear-gradient(180deg, rgba(12,26,45,.88), rgba(7,18,31,.9));
}
.cleanex-table,
.cleanex-units-table,
.cleanex-order-groups-table,
.cleanex-order-items-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: linear-gradient(180deg, rgba(12,26,45,.9), rgba(7,18,31,.9)) !important;
  border: 1px solid rgba(84,158,234,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.cleanex-table thead th,
.cleanex-units-table thead th,
.cleanex-order-groups-table thead th,
.cleanex-order-items-table thead th {
  background: rgba(255,255,255,.065) !important;
  color: rgba(236,246,255,.84) !important;
  font-size: .76rem !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cleanex-table th,
.cleanex-table td,
.cleanex-units-table th,
.cleanex-units-table td {
  border-bottom: 1px solid rgba(105,170,234,.12) !important;
  border-left: 1px solid rgba(105,170,234,.08);
  color: rgba(236,246,255,.88) !important;
}
.cleanex-table th:first-child,
.cleanex-table td:first-child,
.cleanex-units-table th:first-child,
.cleanex-units-table td:first-child {
  border-left: 0;
}
.cleanex-table tbody tr:nth-child(odd) td,
.cleanex-order-groups-table tbody tr:nth-child(odd) td,
.cleanex-order-items-table tbody tr:nth-child(odd) td {
  background: rgba(255,255,255,.038) !important;
}
.cleanex-table tbody tr:nth-child(even) td,
.cleanex-order-groups-table tbody tr:nth-child(even) td,
.cleanex-order-items-table tbody tr:nth-child(even) td {
  background: rgba(38,152,255,.05) !important;
}
.cleanex-table tbody tr:hover td,
.cleanex-order-groups-table tbody tr:hover td,
.cleanex-order-items-table tbody tr:hover td {
  background: rgba(38,152,255,.095) !important;
}
.cleanex-order-groups-table--quick {
  min-width: 1320px;
}
.cleanex-order-groups-table--quick th:nth-child(5),
.cleanex-order-groups-table--quick td:nth-child(5) {
  width: 390px;
}
.cleanex-order-quick-form {
  margin: 0;
}
.cleanex-order-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(105px, 1fr)) auto;
  gap: .5rem;
  align-items: end;
  min-width: 360px;
}
.cleanex-order-quick-grid label {
  display: grid;
  gap: .22rem;
  margin: 0;
}
.cleanex-order-quick-grid label span {
  color: rgba(197,218,240,.62);
  font-size: .62rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.cleanex-inline-status-select {
  width: 100%;
  min-height: 2.25rem;
  padding: 0 .52rem;
  border-radius: .7rem;
  border: 1px solid rgba(163,205,246,.2);
  background: rgba(239,247,255,.94);
  color: #091523;
  font-size: .76rem;
  font-weight: 800;
}
.cleanex-btn--small {
  min-height: 2.25rem !important;
  padding: 0 .75rem !important;
  font-size: .74rem !important;
}
.cleanex-order-page {
  max-height: none !important;
  overflow: visible !important;
}
.cleanex-order-page-grid {
  align-items: start;
}
.cleanex-order-page-section {
  background: linear-gradient(180deg, rgba(12,26,45,.9), rgba(7,18,31,.9)) !important;
}
.cleanex-order-status-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}
.cleanex-order-status-form select,
.cleanex-order-filters select,
.cleanex-order-filters input,
.cleanex-warehouse-filters select,
.cleanex-warehouse-filters input {
  background: rgba(239,247,255,.94) !important;
  color: #091523 !important;
  border: 1px solid rgba(163,205,246,.28) !important;
}
/* Make warehouse visually consistent with orders */
.cleanex-warehouse-table {
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(12,26,45,.9), rgba(7,18,31,.9));
  overflow: hidden;
}
.cleanex-warehouse-head {
  background: rgba(255,255,255,.065) !important;
  border-bottom: 1px solid rgba(105,170,234,.14) !important;
}
.cleanex-warehouse-head span {
  color: rgba(236,246,255,.84) !important;
}
.cleanex-warehouse-table .cleanex-machine-row {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.cleanex-warehouse-table .cleanex-machine-row:nth-child(odd) > .cleanex-warehouse-row-grid > span {
  background: rgba(255,255,255,.038) !important;
}
.cleanex-warehouse-table .cleanex-machine-row:nth-child(even) > .cleanex-warehouse-row-grid > span {
  background: rgba(38,152,255,.05) !important;
}
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span {
  border-left: 1px solid rgba(105,170,234,.08) !important;
  border-bottom: 1px solid rgba(105,170,234,.12) !important;
}
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span:first-child {
  border-left: 0 !important;
}
.cleanex-warehouse-table .cleanex-machine-row.is-open > .cleanex-warehouse-row-grid > span,
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid:hover > span {
  background: rgba(38,152,255,.105) !important;
}
.cleanex-warehouse-table .cleanex-machine-details {
  background: rgba(5,15,28,.82) !important;
  border-top: 1px solid rgba(105,170,234,.16) !important;
}
@media (max-width: 1320px) {
  .cleanex-order-quick-grid {
    grid-template-columns: 1fr;
    min-width: 220px;
  }
  .cleanex-order-groups-table--quick th:nth-child(5),
  .cleanex-order-groups-table--quick td:nth-child(5) {
    width: 270px;
  }
}
@media (max-width: 760px) {
  .cleanex-order-status-form {
    grid-template-columns: 1fr;
  }
  .cleanex-order-details-content {
    padding-top: 6.8rem !important;
    width: min(100% - 24px, 1440px) !important;
  }
}


/* v0.4.2: softer warehouse main table typography */
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span,
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span {
  min-height: 4.25rem !important;
  padding: .78rem .9rem !important;
}
.cleanex-warehouse-table .cleanex-machine-title strong {
  font-size: .94rem !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  letter-spacing: -.01em;
}
.cleanex-warehouse-table .cleanex-machine-title em,
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span em,
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span em {
  font-size: .76rem !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  color: rgba(201,218,236,.68) !important;
}
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span small,
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span small {
  display: block !important;
  margin-bottom: .16rem !important;
  font-size: .66rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  color: rgba(198,216,236,.58) !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
}
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span strong,
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span strong {
  font-size: .86rem !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  color: rgba(239,247,255,.9) !important;
}
.cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span:not(.cleanex-machine-title) strong,
.cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span:not(.cleanex-machine-title) strong {
  font-weight: 620 !important;
}
.cleanex-warehouse-table .cleanex-row-actions .cleanex-link-button {
  font-size: .72rem !important;
  font-weight: 750 !important;
  min-height: 1.75rem !important;
  padding: 0 .58rem !important;
}
.cleanex-warehouse-table [data-relations-toggle] {
  font-size: .72rem !important;
  font-weight: 750 !important;
}
.cleanex-warehouse-head span {
  font-size: .7rem !important;
  font-weight: 760 !important;
  color: rgba(226,239,252,.72) !important;
}
.cleanex-warehouse-table .cleanex-machine-row.is-open .cleanex-machine-title strong {
  color: #fff !important;
}


/* v0.4.3: compact quick status controls and stable order detail/list UX */
.cleanex-order-groups-table--quick th:nth-child(5),
.cleanex-order-groups-table--quick td:nth-child(5) {
  width: 330px !important;
}
.cleanex-order-quick-cell {
  padding: .7rem .75rem !important;
}
.cleanex-order-quick-grid {
  grid-template-columns: minmax(82px, .8fr) minmax(105px, 1fr) minmax(104px, 1fr) auto !important;
  gap: .38rem !important;
  min-width: 310px !important;
  align-items: end !important;
}
.cleanex-order-quick-grid label {
  gap: .16rem !important;
  min-width: 0 !important;
}
.cleanex-order-quick-grid label span {
  font-size: .54rem !important;
  letter-spacing: .075em !important;
  opacity: .74;
}
.cleanex-inline-status-select {
  min-height: 1.95rem !important;
  height: 1.95rem !important;
  max-width: 100% !important;
  padding: 0 1.4rem 0 .48rem !important;
  border-radius: .58rem !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
.cleanex-order-quick-grid .cleanex-btn--small {
  min-height: 1.95rem !important;
  height: 1.95rem !important;
  padding: 0 .62rem !important;
  border-radius: .62rem !important;
  font-size: .68rem !important;
}
.cleanex-order-status-form {
  align-items: end !important;
}
.cleanex-order-status-form label {
  min-width: 0;
}
.cleanex-order-status-form select {
  min-height: 2.45rem !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  border-radius: .75rem !important;
}
.cleanex-order-details-page .cleanex-global-header {
  position: sticky;
  top: 1rem;
}
@media (max-width: 1400px) {
  .cleanex-order-quick-grid {
    grid-template-columns: 1fr 1fr !important;
    min-width: 230px !important;
  }
  .cleanex-order-quick-grid button {
    grid-column: span 2;
    width: 100%;
  }
  .cleanex-order-groups-table--quick th:nth-child(5),
  .cleanex-order-groups-table--quick td:nth-child(5) {
    width: 250px !important;
  }
}


/* v0.4.4: canonical /order/ route and compact quick order controls */
.cleanex-order-quick-grid {
  gap: .34rem !important;
  grid-template-columns: minmax(74px,.7fr) minmax(92px,1fr) minmax(86px,.9fr) auto !important;
  align-items: end !important;
}
.cleanex-order-quick-grid label span {
  font-size: .56rem !important;
  letter-spacing: .07em !important;
  opacity: .72 !important;
}
.cleanex-order-quick-grid select,
.cleanex-order-quick-grid .cleanex-inline-status-select {
  min-height: 2rem !important;
  height: 2rem !important;
  max-width: 100% !important;
  padding: 0 1.4rem 0 .55rem !important;
  border-radius: .62rem !important;
  font-size: .66rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}
.cleanex-order-quick-grid .cleanex-btn--small,
.cleanex-order-quick-grid button {
  min-height: 2rem !important;
  height: 2rem !important;
  padding: 0 .7rem !important;
  border-radius: .62rem !important;
  font-size: .68rem !important;
}
.cleanex-order-groups-table--quick td:nth-child(5) {
  min-width: 300px !important;
  max-width: 360px !important;
}
.cleanex-order-groups-table--quick th:nth-child(5) {
  min-width: 300px !important;
}
.cleanex-order-page {
  overflow: visible !important;
}
.cleanex-order-details-page,
.cleanex-order-details-content {
  min-height: 100dvh;
  overflow: visible !important;
}
.cleanex-order-details-page-body {
  overflow-y: auto !important;
}
@media (max-width: 1280px) {
  .cleanex-order-quick-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .cleanex-order-quick-grid button {
    grid-column: 1 / -1;
  }
}

/* v0.4.9 operator calendar timeline */
.cleanex-calendar-shell {
  display: grid;
  gap: 1rem;
}
.cleanex-calendar-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}
.cleanex-calendar-head h2 {
  margin: .15rem 0 .35rem;
  font-size: clamp(1.6rem, 2.4vw, 2.6rem);
}
.cleanex-calendar-head p {
  margin: 0;
  max-width: 780px;
  color: rgba(209,224,241,.72);
  line-height: 1.5;
}
.cleanex-calendar-nav {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.cleanex-calendar-nav strong {
  padding: .75rem .95rem;
  border-radius: .9rem;
  border: 1px solid rgba(84,158,234,.18);
  background: rgba(255,255,255,.035);
  color: #fff;
  white-space: nowrap;
}
.cleanex-calendar-filters {
  display: grid;
  grid-template-columns: .75fr .85fr 1.1fr 1.25fr 1.05fr 1.05fr auto;
  gap: .7rem;
  align-items: end;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.20);
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(15,32,54,.88), rgba(8,21,38,.88));
}
.cleanex-calendar-filters label {
  display: grid;
  gap: .35rem;
  color: rgba(226,238,250,.72);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cleanex-calendar-filters select,
.cleanex-calendar-filters input {
  min-height: 2.75rem;
  padding: 0 .85rem;
  border: 1px solid rgba(163,205,246,.26);
  border-radius: .9rem;
  background: rgba(235,244,255,.96);
  color: #091523;
  font-weight: 800;
}
.cleanex-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.cleanex-calendar-legend span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 .75rem;
  border-radius: 999px;
  border: 1px solid rgba(84,158,234,.18);
  background: rgba(255,255,255,.04);
  color: rgba(236,245,255,.9);
  font-size: .78rem;
  font-weight: 900;
}
.cleanex-calendar-legend .is-pending { border-color: rgba(251,191,36,.35); color: #ffe1a3; }
.cleanex-calendar-legend .is-reserved { border-color: rgba(56,189,248,.35); color: #c5eeff; }
.cleanex-calendar-legend .is-active { border-color: rgba(52,211,153,.35); color: #c6ffe8; }
.cleanex-calendar-legend .is-completed { border-color: rgba(148,163,184,.35); color: #d3d9e2; }
.cleanex-calendar-legend .is-service { border-color: rgba(248,113,113,.35); color: #ffd0d0; }
.cleanex-calendar-timeline {
  overflow: auto;
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 1.15rem;
  background: rgba(4,14,26,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.cleanex-calendar-row {
  display: grid;
  grid-template-columns: 240px repeat(var(--cx-cal-days), minmax(90px, 1fr));
  min-width: calc(240px + (var(--cx-cal-days) * 90px));
  border-bottom: 1px solid rgba(124,184,244,.12);
}
.cleanex-calendar-row:nth-child(even):not(.cleanex-calendar-row--head) {
  background: rgba(255,255,255,.025);
}
.cleanex-calendar-row--head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(24,41,61,.98);
  border-bottom-color: rgba(124,184,244,.22);
}
.cleanex-calendar-machine-cell,
.cleanex-calendar-day-head,
.cleanex-calendar-cell {
  min-height: 4.2rem;
  padding: .75rem .8rem;
  border-right: 1px solid rgba(124,184,244,.12);
}
.cleanex-calendar-machine-cell {
  position: sticky;
  left: 0;
  z-index: 1;
  background: rgba(11,25,43,.98);
  display: grid;
  align-content: center;
  gap: .25rem;
}
.cleanex-calendar-row--head .cleanex-calendar-machine-cell {
  z-index: 3;
  color: rgba(238,246,255,.88);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cleanex-calendar-machine-cell strong {
  color: #fff;
  font-size: .92rem;
  line-height: 1.2;
}
.cleanex-calendar-machine-cell small {
  color: rgba(183,205,229,.66);
  font-weight: 800;
}
.cleanex-calendar-day-head {
  display: grid;
  place-items: center;
  gap: .15rem;
  color: rgba(236,245,255,.92);
}
.cleanex-calendar-day-head strong { font-size: .95rem; }
.cleanex-calendar-day-head small { color: rgba(183,205,229,.62); text-transform: uppercase; }
.cleanex-calendar-cell {
  display: grid;
  align-content: center;
  gap: .25rem;
  text-decoration: none;
  color: rgba(235,245,255,.82);
}
.cleanex-calendar-cell span {
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.15;
}
.cleanex-calendar-cell small {
  color: rgba(216,232,249,.68);
  font-size: .68rem;
  line-height: 1.2;
}
.cleanex-calendar-cell.is-free span {
  color: rgba(162,181,202,.45);
  font-weight: 700;
}
.cleanex-calendar-cell.is-booked {
  border-left: 3px solid rgba(84,158,234,.32);
}
.cleanex-calendar-cell.is-soft {
  background: repeating-linear-gradient(135deg, rgba(251,191,36,.10), rgba(251,191,36,.10) 7px, rgba(251,191,36,.04) 7px, rgba(251,191,36,.04) 14px);
}
.cleanex-calendar-cell.is-blocking {
  background: linear-gradient(135deg, rgba(38,152,255,.20), rgba(5,17,31,.82));
}
.cleanex-calendar-cell.is-active {
  background: linear-gradient(135deg, rgba(52,211,153,.18), rgba(5,17,31,.82));
  border-left-color: rgba(52,211,153,.8);
}
.cleanex-calendar-cell.is-completed {
  background: rgba(148,163,184,.10);
  border-left-color: rgba(148,163,184,.55);
}
.cleanex-calendar-cell.is-service {
  background: rgba(248,113,113,.14);
  border-left-color: rgba(248,113,113,.75);
}
.cleanex-calendar-cell:hover {
  outline: 2px solid rgba(84,158,234,.38);
  outline-offset: -2px;
}
.cleanex-calendar-empty {
  padding: 1rem;
  color: rgba(220,235,250,.72);
}
@media (max-width: 1180px) {
  .cleanex-calendar-head { align-items: flex-start; flex-direction: column; }
  .cleanex-calendar-nav { justify-content: flex-start; }
  .cleanex-calendar-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .cleanex-calendar-filters { grid-template-columns: 1fr; }
  .cleanex-calendar-row { grid-template-columns: 190px repeat(var(--cx-cal-days), minmax(82px, 1fr)); min-width: calc(190px + (var(--cx-cal-days) * 82px)); }
}


/* v0.5.0: fullscreen operator shell and larger working views */
body.cleanex-operator-page-body {
  overflow: hidden !important;
}
.cleanex-operator-page {
  min-height: 100dvh;
  overflow: hidden !important;
}
.cleanex-operator-page .cleanex-global-header {
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 4.9rem !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-radius: 0 0 1rem 1rem !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: clamp(1rem, 2vw, 2rem) !important;
  background: rgba(2,9,18,.94) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.22) !important;
}
.cleanex-operator-page .cleanex-global-header .site-nav {
  gap: clamp(1.6rem, 4vw, 4.5rem);
}
.cleanex-operator-page .cleanex-global-header .phone-button {
  min-height: 2.8rem !important;
  padding-inline: 1rem !important;
}
.cleanex-operator-page .cleanex-page-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4.9rem 0 0 !important;
  overflow: hidden !important;
}
.cleanex-operator-page .cleanex-panel-layout,
.cleanex-operator-page .cleanex-panel-layout.cleanex-operator-layout {
  width: 100vw !important;
  height: calc(100dvh - 4.9rem) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: clamp(190px, 13vw, 238px) minmax(0, 1fr) !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(3,13,24,.56) !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.cleanex-operator-page .cleanex-panel-menu,
.cleanex-operator-page .cleanex-panel-menu.cleanex-operator-menu {
  position: sticky !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 8 !important;
  height: calc(100dvh - 4.9rem) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: .9rem .72rem !important;
  border: 0 !important;
  border-right: 1px solid rgba(84,158,234,.18) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(3,13,24,.96), rgba(4,16,29,.9)) !important;
  box-shadow: 18px 0 42px rgba(0,0,0,.16) !important;
}
.cleanex-operator-page .cleanex-panel-menu h2 {
  margin: 0 .55rem .8rem !important;
  font-size: .98rem !important;
  color: rgba(237,247,255,.88);
}
.cleanex-operator-page .cleanex-panel-menu button,
.cleanex-operator-page .cleanex-panel-menu a {
  min-height: 2.65rem !important;
  margin-bottom: .45rem !important;
  padding: 0 .85rem !important;
  border-radius: .75rem !important;
  font-size: .88rem !important;
}
.cleanex-operator-page .cleanex-panel-main,
.cleanex-operator-page .cleanex-panel-main.cleanex-operator-main {
  width: 100% !important;
  height: calc(100dvh - 4.9rem) !important;
  min-height: 0 !important;
  overflow: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(5,16,29,.62), rgba(7,19,35,.70)) !important;
  box-shadow: none !important;
  padding: clamp(1rem, 1.4vw, 1.55rem) clamp(1.15rem, 1.9vw, 2rem) 2.2rem !important;
  scrollbar-color: rgba(38,152,255,.58) rgba(255,255,255,.06);
}
.cleanex-operator-page .cleanex-tab-panel {
  min-height: auto !important;
  max-width: none !important;
}
.cleanex-operator-page .cleanex-panel-main h1 {
  font-size: clamp(2rem, 2.55vw, 3.15rem) !important;
  margin-bottom: 1rem !important;
}
.cleanex-operator-page .cleanex-table-scroll,
.cleanex-operator-page .cleanex-calendar-timeline {
  width: 100% !important;
  max-width: none !important;
}
.cleanex-operator-page .cleanex-order-filters,
.cleanex-operator-page .cleanex-warehouse-filters,
.cleanex-operator-page .cleanex-calendar-filters {
  max-width: none !important;
}
.cleanex-operator-page .cleanex-calendar-shell {
  gap: .75rem !important;
}
.cleanex-operator-page .cleanex-calendar-head {
  align-items: flex-start !important;
}
.cleanex-operator-page .cleanex-calendar-head h2 {
  font-size: clamp(1.65rem, 2.1vw, 2.45rem) !important;
}
.cleanex-operator-page .cleanex-calendar-head p {
  max-width: 980px !important;
}
.cleanex-operator-page .cleanex-calendar-filters {
  grid-template-columns: 110px 150px minmax(160px,.8fr) minmax(180px,1fr) minmax(150px,.85fr) minmax(150px,.85fr) auto !important;
  gap: .55rem !important;
  padding: .75rem !important;
}
.cleanex-operator-page .cleanex-calendar-filters select,
.cleanex-operator-page .cleanex-calendar-filters input {
  min-height: 2.45rem !important;
  font-size: .78rem !important;
}
.cleanex-operator-page .cleanex-calendar-legend span {
  min-height: 1.8rem !important;
  font-size: .72rem !important;
}
.cleanex-operator-page .cleanex-calendar-timeline {
  border-radius: 1rem !important;
  max-height: calc(100dvh - 22rem) !important;
}
.cleanex-operator-page .cleanex-calendar-row {
  grid-template-columns: 260px repeat(var(--cx-cal-days), minmax(128px, 1fr)) !important;
  min-width: calc(260px + (var(--cx-cal-days) * 128px)) !important;
}
.cleanex-operator-page .cleanex-calendar-machine-cell,
.cleanex-operator-page .cleanex-calendar-day-head,
.cleanex-operator-page .cleanex-calendar-cell {
  min-height: 4.45rem !important;
  padding: .7rem .75rem !important;
}
.cleanex-operator-page .cleanex-calendar-machine-cell strong {
  font-size: .88rem !important;
}
.cleanex-operator-page .cleanex-calendar-cell span {
  font-size: .74rem !important;
}
.cleanex-operator-page .cleanex-calendar-cell small {
  font-size: .68rem !important;
}
.cleanex-operator-page .cleanex-order-groups-table,
.cleanex-operator-page .cleanex-warehouse-table,
.cleanex-operator-page .cleanex-table {
  max-width: none !important;
}
@media (min-width: 1600px) {
  .cleanex-operator-page .cleanex-panel-layout,
  .cleanex-operator-page .cleanex-panel-layout.cleanex-operator-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
  }
  .cleanex-operator-page .cleanex-calendar-row {
    grid-template-columns: 285px repeat(var(--cx-cal-days), minmax(150px, 1fr)) !important;
    min-width: calc(285px + (var(--cx-cal-days) * 150px)) !important;
  }
}
@media (max-width: 980px) {
  body.cleanex-operator-page-body,
  .cleanex-operator-page {
    overflow: auto !important;
  }
  .cleanex-operator-page .cleanex-page-content {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
    padding-top: 5rem !important;
  }
  .cleanex-operator-page .cleanex-panel-layout,
  .cleanex-operator-page .cleanex-panel-layout.cleanex-operator-layout {
    height: auto !important;
    min-height: calc(100dvh - 5rem) !important;
    grid-template-columns: 1fr !important;
  }
  .cleanex-operator-page .cleanex-panel-menu,
  .cleanex-operator-page .cleanex-panel-menu.cleanex-operator-menu,
  .cleanex-operator-page .cleanex-panel-main,
  .cleanex-operator-page .cleanex-panel-main.cleanex-operator-main {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .cleanex-operator-page .cleanex-panel-menu {
    position: static !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(84,158,234,.18) !important;
  }
  .cleanex-operator-page .cleanex-calendar-filters {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* v0.5.1: operator order details and compact calendar workspace */
.cleanex-order-details-page.cleanex-operator-order-page {
  min-height: 100dvh;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-global-header {
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 4.9rem !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-radius: 0 0 1rem 1rem !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: clamp(1rem, 2vw, 2rem) !important;
  background: rgba(2,9,18,.94) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.22) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-details-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4.9rem 0 0 !important;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page {
  width: 100vw !important;
  max-width: none !important;
  height: calc(100dvh - 4.9rem) !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: auto !important;
  padding: clamp(1rem, 1.35vw, 1.55rem) clamp(1.2rem, 2vw, 2.2rem) 2rem !important;
  background: linear-gradient(90deg, rgba(5,16,29,.72), rgba(7,19,35,.78)) !important;
  scrollbar-color: rgba(38,152,255,.58) rgba(255,255,255,.06);
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-head {
  margin: 0 0 1rem !important;
  align-items: flex-start !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-head h1 {
  font-size: clamp(2rem, 3vw, 3.8rem) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-stats,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-status-form,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-section {
  border-color: rgba(84,158,234,.18) !important;
  background: rgba(11,29,50,.66) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .75fr) !important;
  gap: 1rem !important;
}

.cleanex-operator-page .cleanex-tab-panel[data-tab-panel="calendar"] {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.cleanex-operator-page .cleanex-tab-panel[data-tab-panel="calendar"][hidden] {
  display: none !important;
}
.cleanex-operator-page .cleanex-tab-panel[data-tab-panel="calendar"] .cleanex-calendar-shell {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .55rem !important;
}
.cleanex-operator-page .cleanex-calendar-head.cleanex-calendar-head--compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 1rem !important;
  margin: 0 !important;
}
.cleanex-operator-page .cleanex-calendar-head.cleanex-calendar-head--compact h1 {
  font-size: clamp(1.9rem, 2.55vw, 3rem) !important;
  margin: .1rem 0 0 !important;
}
.cleanex-operator-page .cleanex-calendar-head.cleanex-calendar-head--compact .cleanex-eyebrow {
  margin-bottom: .15rem !important;
}
.cleanex-operator-page .cleanex-calendar-nav {
  margin-top: .05rem !important;
  align-self: start !important;
}
.cleanex-operator-page .cleanex-calendar-nav .cleanex-btn,
.cleanex-operator-page .cleanex-calendar-nav strong {
  min-height: 2.45rem !important;
  padding: 0 .85rem !important;
  font-size: .84rem !important;
}
.cleanex-operator-page .cleanex-calendar-filters {
  margin: 0 !important;
  padding: .58rem !important;
  gap: .45rem !important;
}
.cleanex-operator-page .cleanex-calendar-filters label {
  font-size: .68rem !important;
}
.cleanex-operator-page .cleanex-calendar-filters select,
.cleanex-operator-page .cleanex-calendar-filters input,
.cleanex-operator-page .cleanex-calendar-filters .cleanex-btn {
  min-height: 2.25rem !important;
  font-size: .74rem !important;
  border-radius: .7rem !important;
}
.cleanex-operator-page .cleanex-calendar-legend {
  margin: 0 !important;
  gap: .35rem !important;
}
.cleanex-operator-page .cleanex-calendar-legend span {
  min-height: 1.55rem !important;
  padding: 0 .55rem !important;
  font-size: .66rem !important;
}
.cleanex-operator-page .cleanex-calendar-timeline {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: auto !important;
  margin-top: .15rem !important;
}
.cleanex-operator-page .cleanex-calendar-row {
  grid-template-columns: 255px repeat(var(--cx-cal-days), minmax(132px, 1fr)) !important;
  min-width: calc(255px + (var(--cx-cal-days) * 132px)) !important;
}
.cleanex-operator-page .cleanex-calendar-machine-cell,
.cleanex-operator-page .cleanex-calendar-day-head,
.cleanex-operator-page .cleanex-calendar-cell {
  min-height: 4.2rem !important;
  padding: .62rem .7rem !important;
}

@media (max-width: 980px) {
  .cleanex-order-details-page.cleanex-operator-order-page,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-details-content,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-grid {
    grid-template-columns: 1fr !important;
  }
  .cleanex-operator-page .cleanex-calendar-head.cleanex-calendar-head--compact {
    grid-template-columns: 1fr !important;
  }
}


/* v0.5.2: slightly larger calendar typography without changing workspace density */
.cleanex-operator-page .cleanex-calendar-head.cleanex-calendar-head--compact h1 {
  font-size: clamp(2.15rem, 2.85vw, 3.35rem) !important;
}
.cleanex-operator-page .cleanex-calendar-nav .cleanex-btn,
.cleanex-operator-page .cleanex-calendar-nav strong {
  font-size: .9rem !important;
  font-weight: 900 !important;
}
.cleanex-operator-page .cleanex-calendar-filters label {
  font-size: .74rem !important;
  letter-spacing: .08em !important;
}
.cleanex-operator-page .cleanex-calendar-filters select,
.cleanex-operator-page .cleanex-calendar-filters input,
.cleanex-operator-page .cleanex-calendar-filters .cleanex-btn {
  font-size: .82rem !important;
  font-weight: 850 !important;
}
.cleanex-operator-page .cleanex-calendar-legend span {
  font-size: .73rem !important;
  font-weight: 900 !important;
}
.cleanex-operator-page .cleanex-calendar-machine-cell strong {
  font-size: .9rem !important;
  line-height: 1.22 !important;
}
.cleanex-operator-page .cleanex-calendar-machine-cell small {
  font-size: .78rem !important;
  opacity: .86 !important;
}
.cleanex-operator-page .cleanex-calendar-day-head strong {
  font-size: .98rem !important;
}
.cleanex-operator-page .cleanex-calendar-day-head small {
  font-size: .76rem !important;
}
.cleanex-operator-page .cleanex-calendar-cell span {
  font-size: .78rem !important;
  font-weight: 850 !important;
  opacity: .82 !important;
}
.cleanex-operator-page .cleanex-calendar-cell small {
  font-size: .72rem !important;
}


/* v0.5.3: order details inside operator shell, centered calendar range and machine links */
.cleanex-operator-page .cleanex-calendar-nav {
  display: grid !important;
  grid-template-columns: auto minmax(190px, max-content) auto !important;
  align-items: center !important;
  justify-content: end !important;
}
.cleanex-operator-page .cleanex-calendar-nav strong {
  text-align: center !important;
  min-width: clamp(190px, 13vw, 260px) !important;
}
.cleanex-calendar-machine-link {
  text-decoration: none !important;
  color: inherit !important;
  transition: background .16s ease, outline .16s ease;
}
.cleanex-calendar-machine-link:hover {
  background: rgba(38,152,255,.12) !important;
  outline: 2px solid rgba(84,158,234,.3);
  outline-offset: -2px;
}
.cleanex-machine-row.is-target > .cleanex-warehouse-row-grid {
  background: linear-gradient(90deg, rgba(38,152,255,.16), rgba(255,255,255,.025)) !important;
  box-shadow: inset 3px 0 0 rgba(38,152,255,.86);
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-details-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4.9rem 0 0 !important;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell {
  width: 100vw !important;
  height: calc(100dvh - 4.9rem) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: clamp(190px, 13vw, 238px) minmax(0, 1fr) !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(3,13,24,.56) !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
  width: 100% !important;
  height: calc(100dvh - 4.9rem) !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: clamp(1rem, 1.4vw, 1.55rem) clamp(1.15rem, 1.9vw, 2rem) 2.2rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: linear-gradient(90deg, rgba(5,16,29,.62), rgba(7,19,35,.70)) !important;
  scrollbar-color: rgba(38,152,255,.58) rgba(255,255,255,.06);
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main .cleanex-order-page {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.cleanex-panel-menu.cleanex-operator-menu--links a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  text-decoration: none !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  background: rgba(255,255,255,.045) !important;
}
.cleanex-panel-menu.cleanex-operator-menu--links a.is-active {
  background: #2d9cff !important;
  border-color: rgba(45,156,255,.75) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-head {
  margin-top: 0 !important;
}
@media (max-width: 980px) {
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell {
    height: auto !important;
    min-height: calc(100dvh - 5rem) !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}


/* v0.5.4: precise warehouse target anchor from calendar */
.cleanex-machine-row.is-target > .cleanex-warehouse-row-grid {
  scroll-margin-top: 7.5rem;
}
.cleanex-operator-content .cleanex-machine-row.is-target > .cleanex-warehouse-row-grid {
  scroll-margin-top: 5.5rem;
}


/* v0.5.5: stable warehouse anchor from calendar inside operator scroll container */
.cleanex-operator-page .cleanex-machine-row.is-target > .cleanex-warehouse-row-grid {
  scroll-margin-top: 1rem !important;
}
.cleanex-operator-page .cleanex-machine-row.is-target {
  outline: 1px solid rgba(45,156,255,.45);
  outline-offset: -1px;
}


/* v0.5.6: system header and machine unit add form */
.cleanex-system-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.cleanex-system-header .site-logo {
  margin-right: auto !important;
}
.cleanex-system-header .cleanex-system-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
}
.cleanex-system-header .site-user-menu {
  position: relative;
}
.cleanex-system-header .site-icon--user {
  width: 3rem !important;
  height: 3rem !important;
}
.cleanex-machine-unit-add {
  margin: .85rem 0 1rem;
  padding: .9rem 1rem !important;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 1rem;
  align-items: end;
}
.cleanex-machine-unit-add label {
  display: grid;
  gap: .45rem;
}
.cleanex-machine-unit-add input {
  max-width: 180px;
}
.cleanex-machine-unit-add small,
.cleanex-machine-unit-add p {
  color: rgba(207,224,241,.72);
}
.cleanex-machine-unit-add p {
  margin: 0;
  justify-self: end;
}
@media (max-width: 760px) {
  .cleanex-system-header .site-icon--user {
    width: 2.7rem !important;
    height: 2.7rem !important;
  }
  .cleanex-machine-unit-add {
    grid-template-columns: 1fr;
  }
  .cleanex-machine-unit-add p {
    justify-self: start;
  }
}

/* v0.6.0: ticket details screen matching operator order details */
.cleanex-ticket-details-page .cleanex-ticket-message {
  color: rgba(235, 244, 255, .92);
  font-size: .98rem;
  line-height: 1.65;
}
.cleanex-ticket-details-page .cleanex-ticket-message p {
  margin: 0 0 .75rem;
}
.cleanex-ticket-status-form label.is-wide {
  grid-column: span 2;
}
@media (max-width: 900px) {
  .cleanex-ticket-status-form label.is-wide {
    grid-column: auto;
  }
}

/* v0.6.1: failures table/status polish and client-origin priority logic UI */
.cleanex-ticket-quick-form {
  margin: 0 !important;
}
.cleanex-ticket-quick-grid {
  display: inline-grid !important;
  grid-template-columns: minmax(118px, 145px) auto !important;
  gap: .45rem !important;
  align-items: end !important;
  max-width: 230px !important;
}
.cleanex-ticket-quick-grid label {
  display: grid !important;
  gap: .14rem !important;
  margin: 0 !important;
  min-width: 0 !important;
}
.cleanex-ticket-quick-grid label span {
  color: rgba(197,218,240,.62) !important;
  font-size: .55rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .075em !important;
}
.cleanex-ticket-quick-grid select,
.cleanex-ticket-quick-grid .cleanex-inline-status-select {
  width: 100% !important;
  min-height: 1.95rem !important;
  height: 1.95rem !important;
  padding: 0 1.5rem 0 .55rem !important;
  border-radius: .62rem !important;
  border: 1px solid rgba(163,205,246,.28) !important;
  background: rgba(239,247,255,.94) !important;
  color: #091523 !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.cleanex-ticket-quick-grid .cleanex-btn,
.cleanex-ticket-quick-grid .cleanex-btn--small {
  min-height: 1.95rem !important;
  height: 1.95rem !important;
  padding: 0 .65rem !important;
  border-radius: .62rem !important;
  font-size: .68rem !important;
  white-space: nowrap !important;
}
.cleanex-tickets-table {
  min-width: 1280px;
}
.cleanex-tickets-table th:nth-child(5),
.cleanex-tickets-table td:nth-child(5) {
  width: 128px;
}
.cleanex-tickets-table th:nth-child(6),
.cleanex-tickets-table td:nth-child(6) {
  width: 235px;
}
.cleanex-ticket-priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.65rem;
  padding: 0 .72rem;
  border-radius: 999px;
  border: 1px solid rgba(104,169,234,.28);
  background: rgba(20,55,88,.72);
  color: rgba(238,247,255,.92);
  font-size: .72rem;
  font-weight: 850;
  white-space: nowrap;
}
.cleanex-ticket-priority--critical {
  border-color: rgba(255,98,98,.52);
  background: rgba(120,26,38,.72);
  color: #ffdede;
}
.cleanex-ticket-priority--high,
.cleanex-ticket-priority--service {
  border-color: rgba(255,196,92,.48);
  background: rgba(95,64,18,.66);
  color: #ffe8bd;
}
.cleanex-ticket-priority--normal {
  border-color: rgba(76,214,158,.42);
  background: rgba(18,86,70,.55);
  color: #d8fff1;
}
.cleanex-ticket-priority--low {
  border-color: rgba(154,181,209,.32);
  background: rgba(38,54,72,.62);
  color: #d9e8f7;
}
.cleanex-ticket-status-form {
  grid-template-columns: minmax(160px, .65fr) minmax(160px, .65fr) minmax(320px, 1fr) auto !important;
  align-items: end !important;
}
.cleanex-ticket-status-form select,
.cleanex-ticket-status-form textarea {
  background: rgba(239,247,255,.94) !important;
  color: #091523 !important;
  border: 1px solid rgba(163,205,246,.28) !important;
  border-radius: .75rem !important;
  font-weight: 700 !important;
}
.cleanex-ticket-status-form textarea {
  min-height: 2.7rem !important;
  max-height: 5.4rem !important;
  padding: .65rem .8rem !important;
  resize: vertical;
}
.cleanex-ticket-status-form .cleanex-btn {
  min-height: 2.45rem !important;
  padding: 0 .9rem !important;
  font-size: .78rem !important;
  border-radius: .75rem !important;
}
.cleanex-ticket-issues-list,
.cleanex-ticket-issue-options {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .75rem 0 1rem;
}
.cleanex-ticket-issues-list span,
.cleanex-ticket-issue-options label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2rem;
  padding: 0 .8rem;
  border-radius: 999px;
  border: 1px solid rgba(84,158,234,.28);
  background: rgba(18,40,64,.78);
  color: rgba(238,247,255,.92);
  font-size: .78rem;
  font-weight: 750;
}
.cleanex-ticket-issue-fieldset {
  border: 1px solid rgba(84,158,234,.2);
  border-radius: 1rem;
  padding: .9rem;
  margin: 0;
}
.cleanex-ticket-issue-fieldset legend {
  padding: 0 .35rem;
  color: rgba(238,247,255,.92);
  font-weight: 850;
}
.cleanex-order-detail-grid a {
  color: #9ed2ff;
  text-decoration: underline;
  text-underline-offset: .18em;
}
@media (max-width: 1180px) {
  .cleanex-ticket-status-form {
    grid-template-columns: 1fr 1fr !important;
  }
  .cleanex-ticket-status-form label.is-wide,
  .cleanex-ticket-status-form .cleanex-btn {
    grid-column: 1 / -1;
  }
}

/* v0.6.2: czytelniejsza lista awarii i załączniki w szczegółach */
.cleanex-tickets-table th,
.cleanex-tickets-table td {
  vertical-align: middle !important;
}
.cleanex-tickets-table td {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.cleanex-tickets-table .cleanex-ticket-ref,
.cleanex-tickets-table .cleanex-ticket-priority-cell,
.cleanex-tickets-table .cleanex-ticket-status-cell,
.cleanex-tickets-table .cleanex-ticket-date,
.cleanex-tickets-table .cleanex-ticket-action {
  text-align: center !important;
}
.cleanex-tickets-table .cleanex-ticket-ref strong,
.cleanex-tickets-table .cleanex-ticket-date strong {
  display: block;
}
.cleanex-tickets-table .cleanex-ticket-ref small,
.cleanex-tickets-table .cleanex-ticket-date small,
.cleanex-tickets-table .cleanex-ticket-client small,
.cleanex-tickets-table .cleanex-ticket-problem small {
  display: block;
  margin-top: .24rem;
  color: rgba(184, 204, 225, .66) !important;
  font-size: .76rem !important;
  line-height: 1.35 !important;
}
.cleanex-tickets-table .cleanex-ticket-client,
.cleanex-tickets-table .cleanex-ticket-problem,
.cleanex-tickets-table .cleanex-ticket-machine {
  line-height: 1.35 !important;
}
.cleanex-tickets-table .cleanex-ticket-problem strong {
  display: block;
  max-width: 34rem;
  color: rgba(247, 251, 255, .96) !important;
}
.cleanex-ticket-status-cell .cleanex-ticket-quick-grid {
  margin-inline: auto !important;
  grid-template-columns: minmax(112px, 136px) auto !important;
  max-width: 218px !important;
}
.cleanex-ticket-status-cell .cleanex-ticket-quick-grid select {
  min-height: 1.85rem !important;
  height: 1.85rem !important;
  font-size: .66rem !important;
}
.cleanex-ticket-status-cell .cleanex-ticket-quick-grid .cleanex-btn {
  min-height: 1.85rem !important;
  height: 1.85rem !important;
  padding-inline: .58rem !important;
  font-size: .66rem !important;
}
.cleanex-ticket-priority-cell .cleanex-ticket-priority {
  margin-inline: auto;
}
.cleanex-ticket-files-block {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(118, 176, 235, .16);
}
.cleanex-ticket-files-block h3 {
  margin: .1rem 0 .75rem;
  font-size: 1.05rem;
  color: #fff;
}
.cleanex-ticket-files-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
}
.cleanex-ticket-file {
  display: grid;
  gap: .25rem;
  min-height: 4.2rem;
  padding: .85rem .95rem;
  border: 1px solid rgba(93, 162, 235, .24);
  border-radius: .95rem;
  background: rgba(9, 24, 39, .68);
  color: rgba(238, 247, 255, .92);
  text-decoration: none;
}
.cleanex-ticket-file:hover {
  border-color: rgba(47, 154, 255, .6);
  background: rgba(16, 48, 78, .78);
}
.cleanex-ticket-file span {
  width: fit-content;
  padding: .18rem .48rem;
  border-radius: 999px;
  background: rgba(47, 154, 255, .18);
  color: rgba(178, 217, 255, .96);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.cleanex-ticket-file strong {
  color: #fff;
  font-size: .86rem;
  line-height: 1.32;
}
@media (max-width: 1100px) {
  .cleanex-tickets-table { min-width: 1120px; }
}


/* v0.6.3: safe top offset for operator detail pages under compact system header */
.cleanex-order-details-page.cleanex-operator-order-page {
  --cx-system-header-h: 6.45rem;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-details-content,
.cleanex-order-details-page.cleanex-operator-order-page.cleanex-ticket-details-page .cleanex-ticket-details-content {
  padding-top: var(--cx-system-header-h) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell {
  height: calc(100dvh - var(--cx-system-header-h)) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
  height: calc(100dvh - var(--cx-system-header-h)) !important;
  padding-top: clamp(1.15rem, 1.6vw, 1.9rem) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-page-head {
  padding-top: .15rem !important;
}
@media (max-width: 980px) {
  .cleanex-order-details-page.cleanex-operator-order-page {
    --cx-system-header-h: 5.75rem;
  }
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-details-content,
  .cleanex-order-details-page.cleanex-operator-order-page.cleanex-ticket-details-page .cleanex-ticket-details-content {
    padding-top: var(--cx-system-header-h) !important;
  }
}

/* v0.6.5: rollback broken detail-sidebar overrides from v0.6.4. Detail pages use the stable operator shell sidebar styles from v0.5.x/v0.6.3. */

/* v0.6.6: detail pages use the exact operator shell sidebar/layout behavior */
.cleanex-order-details-page.cleanex-operator-order-page {
  min-height: 100dvh !important;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-details-content,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-details-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: var(--cx-system-header-h, 4.9rem) 0 0 !important;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell {
  width: 100vw !important;
  height: calc(100dvh - var(--cx-system-header-h, 4.9rem)) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: clamp(190px, 13vw, 238px) minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(3,13,24,.56) !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell > .cleanex-panel-menu,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell > .cleanex-panel-menu,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu.cleanex-operator-menu,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu.cleanex-operator-menu--links {
  position: sticky !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 8 !important;
  width: auto !important;
  min-width: 0 !important;
  height: calc(100dvh - var(--cx-system-header-h, 4.9rem)) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: .9rem .72rem !important;
  border: 0 !important;
  border-right: 1px solid rgba(84,158,234,.18) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(3,13,24,.96), rgba(4,16,29,.9)) !important;
  box-shadow: 18px 0 42px rgba(0,0,0,.16) !important;
  display: block !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu h2 {
  margin: 0 .55rem .8rem !important;
  font-size: .98rem !important;
  line-height: 1.25 !important;
  color: rgba(237,247,255,.88) !important;
  font-weight: 900 !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu a,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu button,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu.cleanex-operator-menu--links a {
  width: 100% !important;
  min-height: 2.65rem !important;
  margin: 0 0 .45rem !important;
  padding: 0 .85rem !important;
  border-radius: .75rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-decoration: none !important;
  color: #fff !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  font-size: .88rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu a.is-active,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu button.is-active,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu.cleanex-operator-menu--links a.is-active {
  background: #2d9cff !important;
  border-color: rgba(45,156,255,.75) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
  width: 100% !important;
  height: calc(100dvh - var(--cx-system-header-h, 4.9rem)) !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: clamp(1rem, 1.4vw, 1.55rem) clamp(1.15rem, 1.9vw, 2rem) 2.2rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: linear-gradient(90deg, rgba(5,16,29,.62), rgba(7,19,35,.70)) !important;
  scrollbar-color: rgba(38,152,255,.58) rgba(255,255,255,.06) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main .cleanex-order-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
@media (max-width: 980px) {
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell {
    height: auto !important;
    min-height: calc(100dvh - var(--cx-system-header-h, 5.75rem)) !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell > .cleanex-panel-menu,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell > .cleanex-panel-menu,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
    height: auto !important;
    overflow: visible !important;
  }
}


/* v0.6.7: detail pages inherit the exact operator shell geometry and menu spacing */
.cleanex-order-details-page.cleanex-operator-order-page {
  --cx-system-header-h: 4.9rem !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-global-header.cleanex-system-header {
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 4.9rem !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-radius: 0 0 1rem 1rem !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: clamp(1rem, 2vw, 2rem) !important;
  background: rgba(2,9,18,.94) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.22) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content.cleanex-order-details-content,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-details-content {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4.9rem 0 0 !important;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell {
  width: 100vw !important;
  height: calc(100dvh - 4.9rem) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: clamp(190px, 13vw, 238px) minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell > .cleanex-panel-menu,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell > .cleanex-panel-menu,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu.cleanex-operator-menu,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu.cleanex-operator-menu--links {
  width: auto !important;
  height: calc(100dvh - 4.9rem) !important;
  padding: .9rem .72rem !important;
  border-right: 1px solid rgba(84,158,234,.18) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(3,13,24,.96), rgba(4,16,29,.9)) !important;
  box-shadow: 18px 0 42px rgba(0,0,0,.16) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu h2 {
  margin: 0 .55rem .8rem !important;
  font-size: .98rem !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu a,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-panel-menu button {
  min-height: 2.65rem !important;
  margin-bottom: .45rem !important;
  padding: 0 .85rem !important;
  border-radius: .75rem !important;
  font-size: .88rem !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
  height: calc(100dvh - 4.9rem) !important;
  padding: clamp(1rem, 1.4vw, 1.55rem) clamp(1.15rem, 1.9vw, 2rem) 2.2rem !important;
  overflow: auto !important;
}
@media (min-width: 1600px) {
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell {
    grid-template-columns: 250px minmax(0, 1fr) !important;
  }
}
@media (max-width: 980px) {
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content.cleanex-order-details-content,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-details-content {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
    padding-top: 5rem !important;
  }
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell,
  .cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell {
    height: auto !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
}


/* v0.6.8: remove double header offset on detail pages.
   Detail pages must behave like the operator panel: header overlays the top,
   page content starts exactly under the fixed system header. */
body.cleanex-order-details-page-body .cleanex-global-header.cleanex-system-header,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-global-header.cleanex-system-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-page-content.cleanex-order-details-content,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-details-content {
  padding-top: var(--cx-system-header-h, 4.9rem) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-shell,
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-ticket-operator-shell {
  height: calc(100dvh - var(--cx-system-header-h, 4.9rem)) !important;
}
.cleanex-order-details-page.cleanex-operator-order-page .cleanex-order-operator-main {
  height: calc(100dvh - var(--cx-system-header-h, 4.9rem)) !important;
}


/* v0.6.9 - Szczegoly zamowien i awarii jako osobne podstrony bez dublowania menu operatora */
.cleanex-system-detail-page {
  min-height: 100dvh;
  background: radial-gradient(circle at 70% 0%, rgba(41, 153, 255, 0.12), transparent 34%), #06101a;
}
.cleanex-system-detail-page .cleanex-page-content {
  width: min(1680px, calc(100vw - 48px));
  margin: 0 auto;
  padding: 24px 0 64px;
}
.cleanex-system-detail-page .cleanex-detail-page-card,
.cleanex-system-detail-page .cleanex-order-page {
  width: 100%;
  margin: 0;
  max-width: none;
}
.cleanex-system-detail-page .cleanex-order-page-head {
  align-items: flex-start;
  gap: 24px;
}
.cleanex-system-detail-page .cleanex-order-page-head .cleanex-btn {
  margin-left: auto;
}
@media (max-width: 900px) {
  .cleanex-system-detail-page .cleanex-page-content {
    width: min(100% - 24px, 100%);
    padding-top: 14px;
  }
}


/* v0.7.3: client detail spacing polish */
.cleanex-client-detail {
  display: grid;
  gap: 1.15rem;
}
.cleanex-client-page-head {
  align-items: flex-start;
  gap: 1.35rem;
}
.cleanex-client-page-head > div {
  display: grid;
  gap: .45rem;
}
.cleanex-client-page-head h1 {
  margin: .05rem 0 0;
}
.cleanex-client-page-head p {
  margin: 0;
}
.cleanex-client-stats {
  margin-bottom: .1rem;
}
.cleanex-client-stats .cleanex-stat {
  display: grid;
  align-content: start;
  gap: .5rem;
  min-height: 7.2rem;
  padding: 1.25rem 1.35rem;
}
.cleanex-client-stats .cleanex-stat strong {
  line-height: 1;
}
.cleanex-client-detail-grid {
  gap: 1.15rem;
  align-items: stretch;
}
.cleanex-client-detail-grid > .cleanex-card,
.cleanex-client-section {
  padding: 1.35rem 1.45rem;
}
.cleanex-client-detail-grid > .cleanex-card {
  display: grid;
  align-content: start;
  gap: .95rem;
}
.cleanex-client-detail-grid > .cleanex-card h2,
.cleanex-client-section h2 {
  margin: .1rem 0 0;
  line-height: 1.08;
}
.cleanex-client-detail-grid > .cleanex-card > p:not(.cleanex-eyebrow) {
  margin: 0;
  line-height: 1.55;
  color: rgba(226,236,248,.9);
  max-width: 56ch;
}
.cleanex-client-section {
  display: grid;
  gap: .95rem;
}
.cleanex-client-section .cleanex-eyebrow {
  margin-bottom: 0;
}
.cleanex-client-section .cleanex-table-scroll {
  margin-top: .15rem;
}
.cleanex-client-detail .cleanex-order-detail-grid {
  border-radius: 1rem;
  overflow: hidden;
}
.cleanex-client-detail .cleanex-order-detail-grid > div {
  min-height: 4.8rem;
  padding: 1rem 1.1rem;
}
.cleanex-client-detail .cleanex-order-detail-grid > div.is-wide {
  min-height: 5.1rem;
}
.cleanex-client-detail .cleanex-row-actions {
  gap: .6rem;
}
@media (max-width: 1200px) {
  .cleanex-client-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .cleanex-client-detail {
    gap: 1rem;
  }
  .cleanex-client-page-head {
    flex-direction: column;
    align-items: stretch;
  }
  .cleanex-client-page-head .cleanex-btn {
    width: 100%;
    justify-content: center;
  }
  .cleanex-client-stats {
    grid-template-columns: 1fr;
  }
  .cleanex-client-detail-grid > .cleanex-card,
  .cleanex-client-section {
    padding: 1.1rem;
  }
}


/* v0.7.6: contracts module */
.cleanex-contract-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0 1.1rem;
  color: rgba(210,225,244,.72);
}
.cleanex-contract-toolbar span {
  font-size: .92rem;
  line-height: 1.45;
}
.cleanex-contract-editor {
  margin-top: 1.15rem;
  padding: 1.25rem;
}
.cleanex-contract-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.cleanex-contract-editor-head h2 {
  margin: .12rem 0 0;
  line-height: 1.08;
}
.cleanex-contract-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}
.cleanex-contract-form-grid label {
  display: grid;
  gap: .35rem;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .03em;
  color: rgba(204,219,238,.82);
}
.cleanex-contract-form-grid input,
.cleanex-contract-form-grid select,
.cleanex-contract-form-grid textarea {
  width: 100%;
  min-height: 2.95rem;
  border-radius: .8rem;
  border: 1px solid rgba(154,186,221,.22);
  background: rgba(2,10,20,.78);
  color: #f5f9ff;
  padding: .75rem .85rem;
  font: inherit;
}
.cleanex-contract-form-grid select {
  background: #dde7f3;
  color: #091523;
}
.cleanex-contract-form-grid textarea {
  min-height: 8rem;
  line-height: 1.45;
  resize: vertical;
}
.cleanex-contract-form-grid .is-wide {
  grid-column: 1 / -1;
}
.cleanex-contract-content-preview {
  border: 1px solid rgba(92,155,224,.18);
  border-radius: 1rem;
  background: rgba(3,13,25,.55);
  padding: 1.05rem 1.15rem;
  color: rgba(232,240,250,.9);
  line-height: 1.62;
}
.cleanex-contract-content-preview p {
  margin: 0 0 .7rem;
}
.cleanex-contract-content-preview p:last-child {
  margin-bottom: 0;
}
.cleanex-contracts-mini-table .cleanex-btn,
.cleanex-contracts-table .cleanex-btn {
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .cleanex-contract-form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cleanex-contract-toolbar,
  .cleanex-contract-editor-head {
    align-items: stretch;
    flex-direction: column;
  }
}
@media (max-width: 760px) {
  .cleanex-contract-form-grid {
    grid-template-columns: 1fr;
  }
}


/* v0.7.8: contracts add form behaviour */
.cleanex-contract-editor.is-collapsed {
  display: none;
}
.cleanex-contract-toolbar .cleanex-btn {
  scroll-margin-top: 7rem;
}
.cleanex-contract-nip-field .cleanex-field-button-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: stretch;
}
.cleanex-contract-nip-field .cleanex-field-button-row input {
  min-width: 0;
}
.cleanex-contract-nip-field .cleanex-btn--gus {
  min-height: 2.95rem;
  padding-inline: .95rem;
  white-space: nowrap;
}
.cleanex-contract-editor {
  scroll-margin-top: 6rem;
}
@media (max-width: 760px) {
  .cleanex-contract-nip-field .cleanex-field-button-row {
    grid-template-columns: 1fr;
  }
}

/* v0.7.9: contract order select hint */
.cleanex-field-hint {
  display: block;
  margin-top: .45rem;
  color: rgba(203,213,225,.72);
  font-size: .78rem;
  line-height: 1.35;
}


/* v0.8.0: global panel UI normalization
   One visual standard for operator/client panels, filters, tables, forms and badges. */
:root {
  --cx-panel-font-xs: .72rem;
  --cx-panel-font-sm: .82rem;
  --cx-panel-font-md: .94rem;
  --cx-panel-font-lg: 1.04rem;
  --cx-panel-radius-sm: .72rem;
  --cx-panel-radius-md: .95rem;
  --cx-panel-radius-lg: 1.18rem;
  --cx-panel-field-h: 2.95rem;
  --cx-panel-border: rgba(84,158,234,.22);
  --cx-panel-border-soft: rgba(105,170,234,.13);
  --cx-panel-card: linear-gradient(180deg, rgba(12,26,45,.9), rgba(7,18,31,.91));
  --cx-panel-card-soft: rgba(14,31,52,.78);
  --cx-panel-table-head: rgba(255,255,255,.07);
  --cx-panel-row-odd: rgba(255,255,255,.035);
  --cx-panel-row-even: rgba(38,152,255,.052);
  --cx-panel-row-hover: rgba(38,152,255,.10);
  --cx-panel-field-bg: rgba(232,242,253,.96);
  --cx-panel-field-text: #091523;
  --cx-panel-muted: rgba(185,203,224,.72);
}

.cleanex-operator-page,
.cleanex-client-dashboard,
.cleanex-cart-page,
.cleanex-auth-page,
.cleanex-contact-page,
.cleanex-system-detail-page {
  font-size: 16px;
}
.cleanex-operator-content,
.cleanex-client-dashboard,
.cleanex-cart-page,
.cleanex-system-detail-page {
  color: rgba(236,246,255,.9);
}
.cleanex-operator-content h1,
.cleanex-client-dashboard h1,
.cleanex-cart-page h1,
.cleanex-system-detail-page h1 {
  margin-top: 0;
  line-height: .98;
  letter-spacing: -.045em;
}
.cleanex-operator-content h2,
.cleanex-client-dashboard h2,
.cleanex-cart-page h2,
.cleanex-system-detail-page h2 {
  line-height: 1.08;
  letter-spacing: -.025em;
}
.cleanex-eyebrow,
.cleanex-table thead th,
.cleanex-form label,
.cleanex-order-filters label,
.cleanex-warehouse-filters label,
.cleanex-calendar-filters label,
.cleanex-ticket-filters label,
.cleanex-contract-filters label,
.cleanex-contract-form-grid label,
.cleanex-cart-form-grid label {
  font-size: var(--cx-panel-font-xs) !important;
  line-height: 1.15;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase;
  color: rgba(205,221,240,.78) !important;
}
.cleanex-table small,
.cleanex-muted,
.cleanex-field-hint,
.cleanex-client-detail-grid > .cleanex-card > p:not(.cleanex-eyebrow) {
  color: var(--cx-panel-muted) !important;
}

.cleanex-card,
.cleanex-panel-card,
.cleanex-client-section,
.cleanex-order-page-section,
.cleanex-contract-editor,
.cleanex-table-scroll,
.cleanex-filters,
.cleanex-order-filters,
.cleanex-warehouse-filters,
.cleanex-calendar-filters,
.cleanex-ticket-filters,
.cleanex-contract-filters,
.cleanex-cart-summary,
.cleanex-cart-items,
.cleanex-contract-content-preview {
  border: 1px solid var(--cx-panel-border) !important;
  border-radius: var(--cx-panel-radius-lg) !important;
  background: var(--cx-panel-card) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.cleanex-order-filters,
.cleanex-warehouse-filters,
.cleanex-calendar-filters,
.cleanex-ticket-filters,
.cleanex-contract-filters,
.cleanex-filters {
  display: grid;
  align-items: end;
  gap: .72rem !important;
  padding: .92rem .98rem !important;
}
.cleanex-order-filters label,
.cleanex-warehouse-filters label,
.cleanex-calendar-filters label,
.cleanex-ticket-filters label,
.cleanex-contract-filters label,
.cleanex-filters label,
.cleanex-form label,
.cleanex-contract-form-grid label,
.cleanex-cart-form-grid label {
  display: grid;
  gap: .36rem;
  margin: 0;
}
.cleanex-form input,
.cleanex-form select,
.cleanex-form textarea,
.cleanex-order-filters input,
.cleanex-order-filters select,
.cleanex-warehouse-filters input,
.cleanex-warehouse-filters select,
.cleanex-calendar-filters input,
.cleanex-calendar-filters select,
.cleanex-ticket-filters input,
.cleanex-ticket-filters select,
.cleanex-contract-filters input,
.cleanex-contract-filters select,
.cleanex-contract-form-grid input,
.cleanex-contract-form-grid select,
.cleanex-cart-form-grid input,
.cleanex-cart-form-grid select,
.cleanex-cart-form-grid textarea,
.cleanex-inline-status-select,
.cleanex-order-status-form select,
.cleanex-ticket-status-form select,
.cleanex-order-quick-grid select,
.cleanex-ticket-quick-grid select {
  width: 100%;
  min-height: var(--cx-panel-field-h) !important;
  border-radius: var(--cx-panel-radius-md) !important;
  border: 1px solid rgba(163,205,246,.26) !important;
  background: var(--cx-panel-field-bg) !important;
  color: var(--cx-panel-field-text) !important;
  padding: 0 .92rem !important;
  font-size: var(--cx-panel-font-sm) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  outline: none !important;
  box-shadow: none !important;
}
.cleanex-form textarea,
.cleanex-contract-form-grid textarea,
.cleanex-cart-form-grid textarea {
  min-height: 7rem !important;
  padding: .85rem .95rem !important;
  resize: vertical;
  line-height: 1.45 !important;
}
.cleanex-form input::placeholder,
.cleanex-form textarea::placeholder,
.cleanex-order-filters input::placeholder,
.cleanex-warehouse-filters input::placeholder,
.cleanex-calendar-filters input::placeholder,
.cleanex-ticket-filters input::placeholder,
.cleanex-contract-filters input::placeholder,
.cleanex-cart-form-grid input::placeholder,
.cleanex-cart-form-grid textarea::placeholder {
  color: rgba(16,31,47,.58) !important;
}
.cleanex-form input:focus,
.cleanex-form select:focus,
.cleanex-form textarea:focus,
.cleanex-order-filters input:focus,
.cleanex-order-filters select:focus,
.cleanex-warehouse-filters input:focus,
.cleanex-warehouse-filters select:focus,
.cleanex-calendar-filters input:focus,
.cleanex-calendar-filters select:focus,
.cleanex-ticket-filters input:focus,
.cleanex-ticket-filters select:focus,
.cleanex-contract-filters input:focus,
.cleanex-contract-filters select:focus,
.cleanex-contract-form-grid input:focus,
.cleanex-contract-form-grid select:focus,
.cleanex-contract-form-grid textarea:focus,
.cleanex-cart-form-grid input:focus,
.cleanex-cart-form-grid select:focus,
.cleanex-cart-form-grid textarea:focus {
  border-color: rgba(47,157,255,.75) !important;
  box-shadow: 0 0 0 3px rgba(47,157,255,.16) !important;
}

.cleanex-btn,
.cleanex-form .cleanex-btn,
.cleanex-panel-toolbar .cleanex-btn,
.cleanex-contract-toolbar .cleanex-btn,
.cleanex-order-filters .cleanex-btn,
.cleanex-warehouse-filters .cleanex-btn,
.cleanex-calendar-filters .cleanex-btn,
.cleanex-ticket-filters .cleanex-btn,
.cleanex-contract-filters .cleanex-btn {
  min-height: var(--cx-panel-field-h) !important;
  border-radius: var(--cx-panel-radius-md) !important;
  padding: 0 1.12rem !important;
  font-size: var(--cx-panel-font-sm) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap;
}
.cleanex-btn--small,
.cleanex-order-quick-grid .cleanex-btn--small,
.cleanex-ticket-quick-grid .cleanex-btn--small {
  min-height: 2.35rem !important;
  padding: 0 .78rem !important;
  border-radius: .74rem !important;
  font-size: .72rem !important;
}
.cleanex-btn--ghost {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}

.cleanex-table-scroll {
  overflow: auto;
}
.cleanex-table,
.cleanex-units-table,
.cleanex-order-groups-table,
.cleanex-order-items-table,
.cleanex-contracts-table,
.cleanex-contracts-mini-table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--cx-panel-card) !important;
  border: 1px solid var(--cx-panel-border) !important;
  border-radius: var(--cx-panel-radius-lg) !important;
  overflow: hidden;
}
.cleanex-table thead th,
.cleanex-units-table thead th,
.cleanex-order-groups-table thead th,
.cleanex-order-items-table thead th,
.cleanex-contracts-table thead th,
.cleanex-contracts-mini-table thead th {
  background: var(--cx-panel-table-head) !important;
  color: rgba(236,246,255,.78) !important;
  font-size: var(--cx-panel-font-xs) !important;
  font-weight: 900 !important;
  text-align: left;
  padding: .9rem .98rem !important;
  white-space: nowrap;
}
.cleanex-table th,
.cleanex-table td,
.cleanex-units-table th,
.cleanex-units-table td,
.cleanex-order-groups-table th,
.cleanex-order-groups-table td,
.cleanex-order-items-table th,
.cleanex-order-items-table td,
.cleanex-contracts-table th,
.cleanex-contracts-table td,
.cleanex-contracts-mini-table th,
.cleanex-contracts-mini-table td {
  border-bottom: 1px solid var(--cx-panel-border-soft) !important;
  border-left: 1px solid rgba(105,170,234,.085) !important;
  padding: .92rem .98rem !important;
  color: rgba(236,246,255,.88) !important;
  font-size: var(--cx-panel-font-md) !important;
  vertical-align: middle !important;
}
.cleanex-table th:first-child,
.cleanex-table td:first-child,
.cleanex-units-table th:first-child,
.cleanex-units-table td:first-child,
.cleanex-order-groups-table th:first-child,
.cleanex-order-groups-table td:first-child,
.cleanex-order-items-table th:first-child,
.cleanex-order-items-table td:first-child,
.cleanex-contracts-table th:first-child,
.cleanex-contracts-table td:first-child,
.cleanex-contracts-mini-table th:first-child,
.cleanex-contracts-mini-table td:first-child {
  border-left: 0 !important;
}
.cleanex-table tbody tr:nth-child(odd) td,
.cleanex-order-groups-table tbody tr:nth-child(odd) td,
.cleanex-order-items-table tbody tr:nth-child(odd) td,
.cleanex-contracts-table tbody tr:nth-child(odd) td,
.cleanex-contracts-mini-table tbody tr:nth-child(odd) td {
  background: var(--cx-panel-row-odd) !important;
}
.cleanex-table tbody tr:nth-child(even) td,
.cleanex-order-groups-table tbody tr:nth-child(even) td,
.cleanex-order-items-table tbody tr:nth-child(even) td,
.cleanex-contracts-table tbody tr:nth-child(even) td,
.cleanex-contracts-mini-table tbody tr:nth-child(even) td {
  background: var(--cx-panel-row-even) !important;
}
.cleanex-table tbody tr:hover td,
.cleanex-order-groups-table tbody tr:hover td,
.cleanex-order-items-table tbody tr:hover td,
.cleanex-contracts-table tbody tr:hover td,
.cleanex-contracts-mini-table tbody tr:hover td {
  background: var(--cx-panel-row-hover) !important;
}
.cleanex-table strong,
.cleanex-units-table strong,
.cleanex-order-groups-table strong,
.cleanex-order-items-table strong,
.cleanex-contracts-table strong,
.cleanex-contracts-mini-table strong {
  font-weight: 850;
}
.cleanex-table small,
.cleanex-units-table small,
.cleanex-order-groups-table small,
.cleanex-order-items-table small,
.cleanex-contracts-table small,
.cleanex-contracts-mini-table small {
  display: block;
  margin-top: .25rem;
  font-size: .78rem;
  line-height: 1.35;
}

.cleanex-status-pill,
.cleanex-priority-pill,
.cleanex-payment-pill,
.cleanex-badge,
.cleanex-calendar-legend span,
.cleanex-check-pill {
  min-height: 1.8rem;
  padding: .32rem .72rem !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .01em;
}
.cleanex-order-quick-grid,
.cleanex-ticket-quick-grid {
  gap: .48rem !important;
  align-items: end;
}
.cleanex-order-quick-grid label span,
.cleanex-ticket-quick-grid label span {
  font-size: .58rem !important;
  line-height: 1;
}
.cleanex-order-quick-grid select,
.cleanex-ticket-quick-grid select,
.cleanex-inline-status-select {
  min-height: 2.35rem !important;
  padding: 0 .55rem !important;
  font-size: .68rem !important;
  border-radius: .72rem !important;
}

.cleanex-warehouse-head,
.cleanex-warehouse-row {
  font-size: var(--cx-panel-font-sm);
}
.cleanex-warehouse-head span,
.cleanex-warehouse-row span,
.cleanex-warehouse-row small {
  line-height: 1.25;
}
.cleanex-stat,
.cleanex-dashboard-card,
.cleanex-client-stats .cleanex-stat {
  border: 1px solid var(--cx-panel-border) !important;
  border-radius: var(--cx-panel-radius-lg) !important;
  background: rgba(3,13,25,.56) !important;
}

@media (max-width: 1180px) {
  .cleanex-order-filters,
  .cleanex-warehouse-filters,
  .cleanex-calendar-filters,
  .cleanex-ticket-filters,
  .cleanex-contract-filters,
  .cleanex-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .cleanex-order-filters,
  .cleanex-warehouse-filters,
  .cleanex-calendar-filters,
  .cleanex-ticket-filters,
  .cleanex-contract-filters,
  .cleanex-filters {
    grid-template-columns: 1fr !important;
  }
  .cleanex-btn,
  .cleanex-form .cleanex-btn,
  .cleanex-panel-toolbar .cleanex-btn {
    width: 100%;
  }
}


/* v0.8.3: contract editor hide action */
.cleanex-contract-editor-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .7rem;
  flex-wrap: wrap;
}
.cleanex-contract-editor-actions .cleanex-btn--ghost {
  background: rgba(255,255,255,.08);
}
@media (max-width: 760px) {
  .cleanex-contract-editor-actions {
    width: 100%;
    justify-content: stretch;
  }
  .cleanex-contract-editor-actions .cleanex-btn {
    flex: 1 1 auto;
  }
}


/* v0.8.6 operator dashboard */
.cleanex-dashboard-v2 {
  display: grid;
  gap: 1.25rem;
}
.cleanex-dashboard-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
.cleanex-dashboard-head h1 {
  margin-bottom: .35rem;
}
.cleanex-dashboard-head p:not(.cleanex-eyebrow) {
  margin: 0;
  max-width: 760px;
  color: rgba(226,236,248,.72);
  line-height: 1.55;
}
.cleanex-dashboard-head-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}
.cleanex-dashboard-stats {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.cleanex-dashboard-stats .cleanex-stat {
  text-decoration: none;
  color: inherit;
  display: grid;
  gap: .45rem;
  min-height: 6.5rem;
  align-content: start;
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.cleanex-dashboard-stats a.cleanex-stat:hover {
  transform: translateY(-1px);
  border-color: rgba(47,154,255,.65) !important;
  background: rgba(12,38,68,.72) !important;
}
.cleanex-dashboard-stats .cleanex-stat span {
  color: rgba(226,236,248,.82);
}
.cleanex-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  gap: 1rem;
  align-items: start;
}
.cleanex-dashboard-card {
  padding: 1.25rem !important;
  display: grid;
  gap: .9rem;
  align-content: start;
}
.cleanex-dashboard-card h2 {
  margin: 0;
  line-height: 1.1;
}
.cleanex-dashboard-card--wide,
.cleanex-dashboard-card--large {
  grid-column: span 1;
}
.cleanex-dashboard-list {
  display: grid;
  gap: .65rem;
}
.cleanex-dashboard-item {
  display: grid;
  gap: .22rem;
  padding: .85rem .95rem;
  border: 1px solid rgba(47,154,255,.20);
  border-radius: .95rem;
  background: rgba(14,31,50,.72);
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.cleanex-dashboard-item:hover {
  border-color: rgba(47,154,255,.65);
  background: rgba(18,50,84,.82);
  transform: translateY(-1px);
}
.cleanex-dashboard-item span,
.cleanex-dashboard-item small {
  color: rgba(174,190,209,.78);
  font-size: var(--cx-panel-font-xs, .78rem);
  line-height: 1.35;
}
.cleanex-dashboard-item strong {
  color: #fff;
  line-height: 1.25;
}
.cleanex-dashboard-task-table td,
.cleanex-dashboard-task-table th {
  vertical-align: middle;
}
.cleanex-dashboard-task-table .cleanex-btn {
  min-width: 6.5rem;
}
@media (max-width: 1500px) {
  .cleanex-dashboard-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .cleanex-dashboard-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .cleanex-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .cleanex-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .cleanex-dashboard-stats {
    grid-template-columns: 1fr;
  }
  .cleanex-dashboard-head-actions,
  .cleanex-dashboard-head-actions .cleanex-btn {
    width: 100%;
  }
}


/* v0.9.0: structured settings tabs */
.cleanex-settings-form {
  gap: 1rem;
}
.cleanex-settings-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
}
.cleanex-settings-head h2,
.cleanex-settings-section-head h2 {
  margin: .15rem 0 .35rem;
}
.cleanex-settings-head p,
.cleanex-settings-section-head p {
  margin: 0;
}
.cleanex-settings-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0;
}
.cleanex-settings-tabs .cleanex-btn.is-active {
  background: linear-gradient(135deg, #2f9dff, #1678d8) !important;
  border-color: rgba(64,171,255,.78) !important;
  color: #fff !important;
}
.cleanex-settings-panel {
  display: grid;
  gap: 1rem;
  padding: 1.35rem;
}
.cleanex-settings-section-head {
  display: grid;
  gap: .2rem;
  padding-bottom: .25rem;
}
.cleanex-settings-subtitle {
  margin: .55rem 0 -.15rem;
}
.cleanex-settings-grid {
  display: grid;
  gap: .85rem;
}
.cleanex-settings-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cleanex-settings-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cleanex-settings-grid--checks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cleanex-settings-wide {
  grid-column: 1 / -1;
}
.cleanex-check-card {
  border: 1px solid var(--cx-panel-border);
  border-radius: var(--cx-panel-radius-md);
  background: rgba(20,37,56,.58);
  padding: .95rem 1rem;
}
.cleanex-check-card span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}
.cleanex-check-card small {
  display: block;
  margin-top: .35rem;
  color: var(--cx-panel-muted);
  font-size: var(--cx-panel-font-sm);
  letter-spacing: 0;
  text-transform: none;
  font-weight: 700;
}
.cleanex-settings-note {
  display: grid;
  gap: .45rem;
  border: 1px dashed rgba(163,205,246,.26);
  border-radius: var(--cx-panel-radius-md);
  padding: .95rem 1rem;
  background: rgba(0,5,11,.32);
  color: rgba(228,239,252,.9);
}
.cleanex-settings-note code {
  white-space: normal;
  word-break: break-all;
  color: #dfeeff;
}
.cleanex-settings-savebar {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid rgba(163,205,246,.16);
  padding-top: 1rem;
}
@media (max-width: 1100px) {
  .cleanex-settings-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .cleanex-settings-head {
    align-items: stretch;
    flex-direction: column;
  }
  .cleanex-settings-grid--two,
  .cleanex-settings-grid--three,
  .cleanex-settings-grid--checks {
    grid-template-columns: 1fr;
  }
  .cleanex-settings-savebar,
  .cleanex-settings-savebar .cleanex-btn,
  .cleanex-settings-head .cleanex-btn {
    width: 100% !important;
    max-width: none !important;
    justify-content: center;
  }
}


/* v0.9.1: settings integrations structure */
.cleanex-settings-integration-block {
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
  border: 1px solid rgba(60, 110, 154, .34);
  border-radius: var(--cx-panel-radius-lg);
  background: linear-gradient(180deg, rgba(20, 37, 56, .52), rgba(6, 16, 27, .36));
}
.cleanex-settings-integration-block + .cleanex-settings-integration-block {
  margin-top: .15rem;
}
.cleanex-settings-section-head--compact {
  padding-bottom: 0;
}
.cleanex-settings-section-head--compact h3 {
  margin: .1rem 0 .1rem;
  color: var(--cx-panel-text);
  font-size: clamp(1.2rem, 1.6vw, 1.65rem);
  line-height: 1.05;
}
.cleanex-settings-section-head--compact p.cleanex-muted {
  max-width: 74rem;
}
.cleanex-settings-note p {
  margin: 0;
  color: var(--cx-panel-muted);
  line-height: 1.55;
}
@media (max-width: 900px) {
  .cleanex-settings-integration-block {
    padding: .95rem;
  }
}


/* v0.9.2: customer panel refinement */
.cleanex-customer-page .cleanex-global-header:not(.cleanex-system-header) {
  z-index: 40;
}
.cleanex-customer-page .cleanex-page-content {
  padding-top: clamp(7.7rem, 11vh, 9.2rem);
}
.cleanex-customer-hero-row,
.cleanex-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.cleanex-customer-hero-row p,
.cleanex-section-head small {
  color: rgba(204,220,237,.72);
  margin: .35rem 0 0;
}
.cleanex-customer-empty-card,
.cleanex-customer-recommendations,
.cleanex-customer-mini-grid > section,
.cleanex-customer-order-detail {
  border: 1px solid rgba(84,158,234,.22);
  border-radius: 1.1rem;
  background: rgba(8,25,43,.66);
  padding: 1rem;
  margin: 1rem 0;
}
.cleanex-customer-empty-card {
  display: grid;
  gap: .35rem;
}
.cleanex-customer-empty-card span,
.cleanex-empty-state {
  color: rgba(204,220,237,.72);
}
.cleanex-customer-rec-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
}
.cleanex-rec-card {
  display: grid;
  gap: .45rem;
  min-height: 150px;
  padding: .9rem;
  border: 1px solid rgba(84,158,234,.18);
  border-radius: .95rem;
  background: rgba(255,255,255,.035);
}
.cleanex-rec-card span {
  display: grid;
  place-items: center;
  min-height: 48px;
  border: 1px dashed rgba(142,201,255,.25);
  border-radius: .75rem;
  color: rgba(204,220,237,.55);
  font-size: .78rem;
}
.cleanex-rec-card strong,
.cleanex-rec-card b {
  color: #fff;
}
.cleanex-rec-card small {
  color: rgba(204,220,237,.65);
}
.cleanex-customer-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.cleanex-customer-orders-table,
.cleanex-customer-contracts-table,
.cleanex-mini-table {
  width: 100%;
}
.cleanex-customer-order-detail-row[hidden] {
  display: none !important;
}
.cleanex-customer-order-detail h3 {
  margin: 0 0 .8rem;
}
.cleanex-customer-order-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: .9rem;
  background: rgba(84,158,234,.12);
  border-radius: .9rem;
  overflow: hidden;
}
.cleanex-customer-order-meta > div {
  display: grid;
  gap: .3rem;
  padding: .85rem;
  background: rgba(9,27,46,.82);
}
.cleanex-customer-order-meta span {
  color: rgba(204,220,237,.58);
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.cleanex-customer-ticket-form {
  margin-top: 1rem;
}
@media (max-width: 980px) {
  .cleanex-customer-rec-row,
  .cleanex-customer-mini-grid,
  .cleanex-customer-order-meta {
    grid-template-columns: 1fr;
  }
  .cleanex-customer-hero-row,
  .cleanex-section-head {
    display: grid;
  }
}

/* v0.9.3: client panel friendly orders, contracts and service form */
.cleanex-customer-page .site-nav,
.cleanex-system-header .cleanex-system-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 3vw, 3rem);
  flex: 1 1 auto;
}
.cleanex-system-header .cleanex-system-nav a {
  color: rgba(238,247,255,.92);
  text-decoration: none;
  font-weight: 850;
  font-size: .95rem;
}
.cleanex-customer-stack {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.cleanex-customer-stack > section,
.cleanex-customer-contract-list,
.cleanex-customer-settings-form,
.cleanex-customer-ticket-form {
  border: 1px solid rgba(84,158,234,.22);
  border-radius: 1.15rem;
  background: rgba(8,25,43,.66);
  padding: 1rem;
}
.cleanex-customer-quick-list,
.cleanex-customer-contract-list {
  display: grid;
  gap: .75rem;
}
.cleanex-customer-quick-card,
.cleanex-customer-contract-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.18);
  border-radius: .95rem;
  background: rgba(255,255,255,.035);
}
.cleanex-customer-quick-card strong,
.cleanex-customer-contract-card strong {
  display: block;
  color: #fff;
  font-size: 1rem;
  line-height: 1.25;
}
.cleanex-customer-quick-card small,
.cleanex-customer-contract-card small,
.cleanex-customer-quick-card span,
.cleanex-customer-contract-card span {
  display: block;
  color: rgba(204,220,237,.68);
  line-height: 1.35;
}
.cleanex-customer-quick-card__meta {
  display: grid;
  gap: .45rem;
  justify-items: start;
  min-width: 9rem;
}
.cleanex-customer-quick-card__meta b {
  color: #fff;
  font-size: 1.02rem;
}
.cleanex-customer-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}
.cleanex-customer-contract-detail .cleanex-stats {
  margin: 1rem 0;
}
.cleanex-customer-contract-detail .cleanex-client-section {
  margin-top: 1rem;
}
.cleanex-customer-settings-form {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.cleanex-form-grid--ticket {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cleanex-ticket-issue-options--cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem !important;
}
.cleanex-ticket-issue-options--cards label {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: .7rem !important;
  min-height: 4.1rem !important;
  border-radius: 1rem !important;
  padding: .85rem !important;
  background: rgba(17,44,72,.82) !important;
  white-space: normal;
}
.cleanex-ticket-issue-options--cards input {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}
.cleanex-ticket-issue-options--cards span {
  line-height: 1.25;
}
.cleanex-customer-ticket-form select,
.cleanex-customer-ticket-form input,
.cleanex-customer-ticket-form textarea,
.cleanex-customer-settings-form input,
.cleanex-customer-settings-form textarea {
  width: 100%;
}
@media (max-width: 1100px) {
  .cleanex-customer-quick-card,
  .cleanex-customer-contract-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .cleanex-customer-quick-actions {
    justify-content: flex-start;
  }
  .cleanex-ticket-issue-options--cards,
  .cleanex-form-grid--ticket {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
  .cleanex-system-header .cleanex-system-nav,
  .cleanex-customer-page .site-nav {
    display: none;
  }
}

/* v0.9.4: customer panel tickets and address rows */
.cleanex-customer-settings-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cleanex-customer-settings-block {
  border: 1px solid rgba(57, 150, 245, .28);
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(10, 25, 42, .72);
}
.cleanex-address-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.cleanex-address-row {
  display: grid;
  grid-template-columns: minmax(180px, .75fr) minmax(320px, 1.4fr) auto;
  gap: .75rem;
  align-items: end;
  padding: .85rem;
  border-radius: .95rem;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.09);
}
.cleanex-address-row label {
  margin: 0;
}
.cleanex-address-row .cleanex-btn {
  min-height: 3rem;
  white-space: nowrap;
}
.cleanex-customer-ticket-module {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cleanex-customer-inner-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 1rem 0;
}
.cleanex-customer-inner-tabs .cleanex-btn {
  min-height: 3rem;
}
.cleanex-customer-ticket-list {
  display: grid;
  gap: .75rem;
}
.cleanex-customer-ticket-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .45fr);
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(57,150,245,.22);
}
.cleanex-customer-ticket-card small,
.cleanex-customer-ticket-card span {
  color: var(--cx-muted);
}
.cleanex-customer-ticket-card strong {
  display: block;
  margin: .2rem 0 .3rem;
  font-size: 1.05rem;
}
.cleanex-customer-ticket-card__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
  text-align: right;
}
.cleanex-customer-ticket-card__meta small {
  width: 100%;
}
.cleanex-customer-ticket-top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
.cleanex-customer-custom-address {
  grid-column: 1 / -1;
}
.cleanex-ticket-issue-options--cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .75rem;
  align-items: stretch;
}
.cleanex-ticket-issue-options--cards label {
  min-height: 5.5rem;
  display: grid !important;
  grid-template-columns: 1.4rem 1fr;
  gap: .75rem;
  align-items: center;
  padding: .85rem 1rem;
  border-radius: 1rem;
  background: rgba(19, 51, 82, .85);
  border: 1px solid rgba(57,150,245,.28);
  overflow: hidden;
}
.cleanex-ticket-issue-options--cards input {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  justify-self: center;
}
.cleanex-ticket-issue-options--cards span {
  position: static !important;
  transform: none !important;
  display: block;
  max-width: 100%;
  color: #e7f0fb;
  font-size: .85rem;
  line-height: 1.25;
  letter-spacing: .02em;
  text-transform: uppercase;
  word-break: normal;
  overflow-wrap: anywhere;
}
.cleanex-customer-ticket-form {
  overflow: visible;
}
.cleanex-customer-ticket-form textarea {
  min-height: 8rem;
}
.cleanex-customer-quick-list,
.cleanex-customer-rec-row {
  overflow: visible;
}
@media (max-width: 900px) {
  .cleanex-address-row,
  .cleanex-customer-ticket-top,
  .cleanex-customer-ticket-card {
    grid-template-columns: 1fr;
  }
  .cleanex-customer-ticket-card__meta {
    justify-content: flex-start;
    text-align: left;
  }
}

/* v0.9.6: poprawka ostatniego taska - adresy w jednym wierszu, Twoje sprawy jako pierwszy widok i czytelny formularz awarii */
.cleanex-customer-page .cleanex-panel-main,
.cleanex-customer-panel-layout .cleanex-panel-main {
  overflow-x: hidden;
}
.cleanex-customer-settings-block--addresses .cleanex-section-head {
  align-items: flex-end;
  gap: 1rem;
}
.cleanex-customer-settings-block--addresses .cleanex-section-head small,
.cleanex-address-hint {
  display: block;
  max-width: 68rem;
  margin-top: .4rem;
  color: rgba(204,220,237,.68) !important;
  font-size: .82rem !important;
  line-height: 1.45;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.cleanex-address-row {
  grid-template-columns: minmax(210px, .7fr) minmax(360px, 1.3fr) auto !important;
  align-items: end !important;
  gap: .8rem !important;
}
.cleanex-address-row__place,
.cleanex-address-row__address {
  min-width: 0;
}
.cleanex-address-row__address input[data-cleanex-address-input] {
  padding-right: 2.4rem;
  background-image: linear-gradient(90deg, transparent, transparent), radial-gradient(circle, rgba(38,152,255,.75) 0 2px, transparent 2.5px);
  background-size: auto, 12px 12px;
  background-position: center, right 1rem center;
  background-repeat: no-repeat;
}
.cleanex-address-row .cleanex-btn {
  align-self: end;
}
.cleanex-customer-ticket-module {
  min-width: 0;
}
.cleanex-customer-ticket-panel[hidden],
.cleanex-customer-ticket-module [data-subtab-panel][hidden] {
  display: none !important;
}
.cleanex-customer-inner-tabs {
  padding: .45rem;
  border: 1px solid rgba(84,158,234,.18);
  border-radius: 1rem;
  background: rgba(255,255,255,.035);
  width: fit-content;
  max-width: 100%;
}
.cleanex-customer-inner-tabs .cleanex-btn {
  min-height: 2.8rem;
  border-radius: .75rem;
  padding-inline: 1rem;
}
.cleanex-customer-ticket-panel h1 {
  margin-top: 0;
}
.cleanex-customer-ticket-form {
  max-width: 100%;
  overflow: hidden;
}
.cleanex-customer-ticket-form .cleanex-customer-ticket-top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cleanex-customer-ticket-form .cleanex-ticket-issue-fieldset {
  min-width: 0;
  overflow: hidden;
}
.cleanex-customer-ticket-form .cleanex-ticket-issue-options--cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: .75rem !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: .75rem 0 0 !important;
}
.cleanex-customer-ticket-form .cleanex-ticket-issue-options--cards label,
.cleanex-customer-ticket-form .cleanex-ticket-issue-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .78rem !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 4.6rem !important;
  padding: .9rem 1rem !important;
  border-radius: 1rem !important;
  background: rgba(19,51,82,.9) !important;
  border: 1px solid rgba(57,150,245,.3) !important;
  color: #e7f0fb !important;
  white-space: normal !important;
  overflow: visible !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.cleanex-customer-ticket-form .cleanex-ticket-issue-options--cards input[type="checkbox"] {
  appearance: auto !important;
  width: 1.15rem !important;
  min-width: 1.15rem !important;
  max-width: 1.15rem !important;
  height: 1.15rem !important;
  min-height: 1.15rem !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 1.15rem !important;
  accent-color: var(--cx-blue);
}
.cleanex-customer-ticket-form .cleanex-ticket-issue-options--cards span {
  position: static !important;
  transform: none !important;
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #e7f0fb !important;
  font-size: .86rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-transform: uppercase !important;
  letter-spacing: .015em !important;
}
@media (max-width: 900px) {
  .cleanex-address-row,
  .cleanex-customer-ticket-form .cleanex-customer-ticket-top {
    grid-template-columns: 1fr !important;
  }
  .cleanex-customer-inner-tabs {
    width: 100%;
  }
  .cleanex-customer-inner-tabs .cleanex-btn {
    flex: 1 1 12rem;
  }
}

/* v0.9.7: B2B checkout flow, transport, legal approvals and payment handoff */
.cleanex-cart-view--checkout-flow .cleanex-cart-hero {
  margin-bottom: 1rem;
}
.cleanex-cart-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .7rem;
  margin: 1rem 0 1.1rem;
}
.cleanex-cart-flow-step {
  display: grid;
  grid-template-columns: 2.15rem minmax(0, 1fr);
  column-gap: .65rem;
  row-gap: .1rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid rgba(84,158,234,.15);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
}
.cleanex-cart-flow-step span {
  grid-row: 1 / span 2;
  display: inline-grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  background: rgba(38,152,255,.13);
  border: 1px solid rgba(109,180,248,.25);
  color: #fff;
  font-weight: 900;
}
.cleanex-cart-flow-step strong {
  color: #fff;
  font-size: .9rem;
}
.cleanex-cart-flow-step small {
  color: rgba(209,224,241,.68);
  font-size: .74rem;
  line-height: 1.25;
}
.cleanex-cart-flow-step.is-active {
  background: linear-gradient(135deg, rgba(19,92,169,.34), rgba(7,18,31,.9));
  border-color: rgba(84,158,234,.34);
}
.cleanex-cart-split-note,
.cleanex-cart-error,
.cleanex-cart-success,
.cleanex-payment-success {
  display: grid;
  gap: .35rem;
  margin: 0 0 1rem;
  padding: .95rem 1rem;
  border-radius: 1rem;
  line-height: 1.45;
}
.cleanex-cart-split-note {
  border: 1px solid rgba(109,180,248,.22);
  background: rgba(38,152,255,.08);
}
.cleanex-cart-error {
  border: 1px solid rgba(255,104,104,.28);
  background: rgba(255,104,104,.08);
}
.cleanex-cart-success,
.cleanex-payment-success {
  border: 1px solid rgba(80,205,158,.28);
  background: rgba(80,205,158,.1);
}
.cleanex-cart-split-note strong,
.cleanex-cart-error strong,
.cleanex-cart-success strong,
.cleanex-payment-success strong {
  color: #fff;
}
.cleanex-cart-split-note p,
.cleanex-cart-error p,
.cleanex-cart-success p,
.cleanex-payment-success p {
  margin: 0;
  color: rgba(229,241,255,.82);
}
.cleanex-availability-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0 .7rem;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 900;
  white-space: nowrap;
}
.cleanex-availability-pill.is-ok {
  color: #d9fff0;
  background: rgba(80,205,158,.12);
  border: 1px solid rgba(80,205,158,.28);
}
.cleanex-availability-pill.is-warning {
  color: #ffe4e4;
  background: rgba(255,104,104,.12);
  border: 1px solid rgba(255,104,104,.28);
}
.cleanex-checkout-block {
  display: grid;
  gap: .75rem;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
}
.cleanex-checkout-block h3 {
  margin: -.35rem 0 0;
  color: #fff;
  font-size: 1rem;
}
.cleanex-field-button-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: stretch;
}
.cleanex-field-button-row .cleanex-btn {
  min-height: 3rem;
}
.cleanex-cart-form-grid small {
  color: rgba(209,224,241,.62);
  line-height: 1.35;
}
.cleanex-checkout-scope {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: .6rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid rgba(109,180,248,.2);
  border-radius: 1rem;
  background: rgba(38,152,255,.07);
}
.cleanex-checkout-scope > span {
  color: #fff;
  font-weight: 900;
}
.cleanex-checkout-scope label,
.cleanex-legal-card {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
  color: rgba(235,246,255,.88);
  font-weight: 800;
}
.cleanex-transport-box {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  padding: .75rem .85rem;
  border: 1px dashed rgba(109,180,248,.24);
  border-radius: .9rem;
  color: rgba(216,233,249,.78);
  font-size: .84rem;
  line-height: 1.4;
}
.cleanex-transport-box strong {
  color: #fff;
}
.cleanex-legal-list {
  display: grid;
  gap: .65rem;
}
.cleanex-legal-card {
  padding: .75rem .85rem;
  border: 1px solid rgba(109,180,248,.16);
  border-radius: .9rem;
  background: rgba(255,255,255,.03);
  line-height: 1.35;
}
.cleanex-legal-card input,
.cleanex-checkout-scope input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: .1rem;
  accent-color: #2698ff;
}
.cleanex-cart-checkout-actions {
  grid-template-columns: 1fr;
}
.cleanex-cart-checkout-actions .cleanex-btn + .cleanex-btn {
  margin-top: -.25rem;
}
.cleanex-order-finance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin: 1rem 0;
}
.cleanex-order-finance-grid > div {
  display: grid;
  gap: .25rem;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
}
.cleanex-order-finance-grid span {
  color: rgba(209,224,241,.66);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.cleanex-order-finance-grid strong {
  color: #fff;
  overflow-wrap: anywhere;
}
.cleanex-payment-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(80,205,158,.26);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(80,205,158,.12), rgba(7,18,31,.92));
}
.cleanex-payment-panel h2 {
  margin: .1rem 0 .35rem;
  color: #fff;
}
.cleanex-payment-panel p {
  margin: 0;
  color: rgba(229,241,255,.78);
  line-height: 1.45;
}
.cleanex-payment-panel form {
  display: grid;
  gap: .45rem;
  justify-items: end;
  margin: 0;
}
.cleanex-payment-panel small {
  color: rgba(209,224,241,.66);
}
.cleanex-order-items-table tfoot td {
  border-top: 1px solid rgba(84,158,234,.14);
  color: rgba(229,241,255,.86);
}
.cleanex-order-items-table tfoot tr.is-total td {
  color: #fff;
  font-size: 1.02rem;
}
@media (max-width: 1180px) {
  .cleanex-cart-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cleanex-order-finance-grid,
  .cleanex-payment-panel {
    grid-template-columns: 1fr;
  }
  .cleanex-payment-panel form {
    justify-items: start;
  }
}
@media (max-width: 760px) {
  .cleanex-cart-flow,
  .cleanex-checkout-scope,
  .cleanex-field-button-row {
    grid-template-columns: 1fr;
  }
  .cleanex-cart-flow-step {
    grid-template-columns: 2rem minmax(0, 1fr);
  }
}


/* v0.9.16: clean standalone app shell.
   Zasada: jeden własny dokument aplikacji, bez page.php, bez kontenerów WP, bez kolejnych nakładających się resetów.
   Root aplikacji jest fixed na viewport, a wszystkie elementy interaktywne są ponad tłem i mają pointer-events:auto. */
html:has(body.cleanex-standalone-app-body),
body.cleanex-standalone-app-body {
  width: 100% !important;
  min-width: 320px !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #020912 !important;
  color: var(--cx-text) !important;
  overflow: hidden !important;
}
body.cleanex-standalone-app-body * {
  box-sizing: border-box;
}
body.cleanex-standalone-app-body .wp-site-blocks,
body.cleanex-standalone-app-body .site,
body.cleanex-standalone-app-body .site-main,
body.cleanex-standalone-app-body .content-area,
body.cleanex-standalone-app-body .entry-content,
body.cleanex-standalone-app-body .wp-block-post-content,
body.cleanex-standalone-app-body .container,
body.cleanex-standalone-app-body .wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app {
  --cx-app-x: clamp(1rem, 1.45vw, 1.8rem);
  --cx-app-top: clamp(.85rem, 1.4vw, 1.35rem);
  --cx-app-head-h: clamp(5.15rem, 6.35vw, 5.95rem);
  --cx-app-gap: clamp(.65rem, 1vw, 1rem);
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  width: 100dvw !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #020912 !important;
  transform: none !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app::before,
body.cleanex-standalone-app-body main.cleanex-standalone-app::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  transform: none !important;
  pointer-events: none !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app::before {
  z-index: 0 !important;
  opacity: .72 !important;
  background:
    linear-gradient(90deg, rgba(2,9,18,.96), rgba(5,22,42,.58), rgba(2,9,18,.94)),
    url('../img/contact-bg.jpg') center / cover no-repeat !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app::after {
  z-index: 1 !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(38,152,255,.16), transparent 31rem),
    radial-gradient(circle at 18% 82%, rgba(38,152,255,.08), transparent 24rem),
    linear-gradient(180deg, rgba(2,9,18,.02) 0, rgba(2,9,18,.88) 100%) !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-global-header,
body.cleanex-standalone-app-body main.cleanex-standalone-app > header.cleanex-global-header {
  position: absolute !important;
  z-index: 50 !important;
  top: var(--cx-app-top) !important;
  left: var(--cx-app-x) !important;
  right: var(--cx-app-x) !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: var(--cx-app-head-h) !important;
  margin: 0 !important;
  transform: none !important;
  pointer-events: auto !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-page-content,
body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content {
  position: absolute !important;
  z-index: 10 !important;
  left: var(--cx-app-x) !important;
  right: var(--cx-app-x) !important;
  top: calc(var(--cx-app-top) + var(--cx-app-head-h) + var(--cx-app-gap)) !important;
  bottom: clamp(.75rem, 1.2vw, 1rem) !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}
body.cleanex-standalone-app-body main.cleanex-standalone-app a,
body.cleanex-standalone-app-body main.cleanex-standalone-app button,
body.cleanex-standalone-app-body main.cleanex-standalone-app input,
body.cleanex-standalone-app-body main.cleanex-standalone-app select,
body.cleanex-standalone-app-body main.cleanex-standalone-app textarea,
body.cleanex-standalone-app-body main.cleanex-standalone-app label {
  pointer-events: auto !important;
}

/* Customer app */
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-customer-content,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-customer-content {
  overflow: hidden !important;
}
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-customer-content > .cleanex-panel-layout.cleanex-customer-panel-layout,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-customer-content > .cleanex-panel-layout.cleanex-customer-panel-layout {
  position: relative !important;
  z-index: 12 !important;
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--cx-line) !important;
  border-radius: 1.55rem !important;
  background: rgba(5,16,29,.54) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.26) !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-panel-layout > .cleanex-panel-menu {
  position: relative !important;
  z-index: 14 !important;
  inset: auto !important;
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1rem .85rem !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 0 !important;
  border-right: 1px solid rgba(38,152,255,.18) !important;
  border-radius: 0 !important;
  background: rgba(3,13,24,.74) !important;
  box-shadow: none !important;
}
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-panel-layout > .cleanex-panel-main {
  position: relative !important;
  z-index: 13 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(1.2rem, 2.4vw, 2rem) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(5,16,29,.46) !important;
  box-shadow: none !important;
  scrollbar-color: rgba(38,152,255,.55) rgba(255,255,255,.06) !important;
}
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-panel-layout > .cleanex-panel-main > *,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-hero-row,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-section-head,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-rec-row,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-stack {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Operator app */
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-operator-content,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-operator-content {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-operator-content > .cleanex-panel-layout.cleanex-operator-layout,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-operator-content > .cleanex-panel-layout.cleanex-operator-layout {
  position: relative !important;
  z-index: 12 !important;
  display: grid !important;
  grid-template-columns: clamp(210px, 16vw, 280px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(3,13,24,.56) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-panel-menu.cleanex-operator-menu {
  position: relative !important;
  z-index: 14 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: .9rem .72rem !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 0 !important;
  border-right: 1px solid rgba(84,158,234,.18) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(3,13,24,.96), rgba(4,16,29,.9)) !important;
  box-shadow: 18px 0 42px rgba(0,0,0,.16) !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-panel-main.cleanex-operator-main {
  position: relative !important;
  z-index: 13 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(1rem, 1.4vw, 1.55rem) clamp(1.15rem, 1.9vw, 2rem) 2.2rem !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(5,16,29,.62), rgba(7,19,35,.70)) !important;
  box-shadow: none !important;
  scrollbar-color: rgba(38,152,255,.58) rgba(255,255,255,.06) !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel {
  max-width: none !important;
  min-width: 0 !important;
}

/* Operator preview of customer panel: constrained inside admin content only. */
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] {
  position: relative !important;
  z-index: 10 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] > .cleanex-customer-panel-layout {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: calc(100dvh - 8rem) !important;
  min-height: 620px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--cx-line) !important;
  border-radius: 1.55rem !important;
  background: rgba(5,16,29,.54) !important;
  box-shadow: none !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] > .cleanex-customer-panel-layout > .cleanex-panel-menu {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-right: 1px solid rgba(38,152,255,.18) !important;
}
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] > .cleanex-customer-panel-layout > .cleanex-panel-main {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* System pages: cart, login, register, order details. */
body.cleanex-standalone-app-body main.cleanex-auth-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content,
body.cleanex-standalone-app-body main.cleanex-cart-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content,
body.cleanex-standalone-app-body main.cleanex-system-detail-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: clamp(1rem, 2vw, 1.6rem) 0 2rem !important;
}
body.cleanex-standalone-app-body main.cleanex-auth-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content {
  display: grid !important;
  place-items: center !important;
}

@media (max-width: 900px) {
  html:has(body.cleanex-standalone-app-body),
  body.cleanex-standalone-app-body {
    overflow: auto !important;
  }
  body.cleanex-standalone-app-body main.cleanex-standalone-app {
    position: relative !important;
    min-height: 100dvh !important;
    height: auto !important;
    overflow: visible !important;
  }
  body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-global-header,
  body.cleanex-standalone-app-body main.cleanex-standalone-app > header.cleanex-global-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: calc(100% - 1.5rem) !important;
    height: auto !important;
    margin: .75rem auto 0 !important;
  }
  body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-page-content,
  body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: calc(100% - 1.5rem) !important;
    max-width: none !important;
    min-height: calc(100dvh - 6rem) !important;
    margin: .75rem auto 1rem !important;
    overflow: visible !important;
  }
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-customer-content > .cleanex-panel-layout.cleanex-customer-panel-layout,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-operator-content > .cleanex-panel-layout.cleanex-operator-layout,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] > .cleanex-customer-panel-layout {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: calc(100dvh - 7rem) !important;
    overflow: visible !important;
  }
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-panel-layout > .cleanex-panel-menu,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-panel-menu.cleanex-operator-menu,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] > .cleanex-customer-panel-layout > .cleanex-panel-menu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(38,152,255,.18) !important;
  }
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-panel-layout > .cleanex-panel-main,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-panel-main.cleanex-operator-main,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-main > .cleanex-tab-panel[data-tab-panel="client_preview"] > .cleanex-customer-panel-layout > .cleanex-panel-main {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

/* v0.9.17: minimalist guided cart / checkout flow */
.cleanex-cart-view--guided-flow {
  width: min(1560px, calc(100vw - 48px)) !important;
  max-width: min(1560px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgba(84, 158, 234, .18) !important;
  background: rgba(3, 13, 24, .78) !important;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .34) !important;
}
.cleanex-checkout-header-minimal {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid rgba(84,158,234,.14);
}
.cleanex-checkout-header-minimal h1 {
  margin: .05rem 0 .35rem !important;
  color: #fff !important;
  font-size: clamp(1.8rem, 3vw, 3.2rem) !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
}
.cleanex-checkout-header-minimal p:not(.cleanex-eyebrow) {
  max-width: 58rem;
  margin: 0 !important;
  color: rgba(218, 232, 246, .72) !important;
  line-height: 1.55 !important;
}
.cleanex-checkout-steps {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: .5rem !important;
  margin: .8rem 0 1rem !important;
}
.cleanex-checkout-steps button {
  display: grid !important;
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .1rem .62rem !important;
  width: 100% !important;
  min-height: 4.2rem !important;
  padding: .65rem .72rem !important;
  border: 1px solid rgba(84,158,234,.14) !important;
  border-radius: .95rem !important;
  background: rgba(255,255,255,.025) !important;
  color: rgba(232,243,255,.78) !important;
  text-align: left !important;
  cursor: pointer !important;
}
.cleanex-checkout-steps button:disabled {
  cursor: not-allowed !important;
  opacity: .48 !important;
}
.cleanex-checkout-steps button.is-active {
  background: rgba(38,152,255,.13) !important;
  border-color: rgba(38,152,255,.46) !important;
  color: #fff !important;
}
.cleanex-checkout-steps span {
  grid-row: 1 / span 2;
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(38,152,255,.16);
  border: 1px solid rgba(109,180,248,.22);
  font-weight: 950;
}
.cleanex-checkout-steps strong {
  font-size: .86rem;
  line-height: 1.1;
}
.cleanex-checkout-steps small {
  color: rgba(207,224,241,.56);
  font-size: .7rem;
  line-height: 1.15;
}
.cleanex-guided-checkout-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
  gap: 1rem !important;
  align-items: start !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.cleanex-guided-checkout-main,
.cleanex-guided-summary__box {
  border: 1px solid rgba(84,158,234,.16) !important;
  border-radius: 1.2rem !important;
  background: rgba(7, 20, 34, .82) !important;
}
.cleanex-guided-checkout-main {
  min-width: 0 !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
}
.cleanex-guided-summary {
  position: sticky !important;
  top: 1rem !important;
  min-width: 0 !important;
}
.cleanex-guided-summary__box {
  display: grid;
  gap: 1rem;
  padding: 1rem !important;
}
.cleanex-guided-summary__box h3 {
  margin: -.55rem 0 0 !important;
  color: #fff !important;
  font-size: 1.25rem !important;
}
.cleanex-guided-summary-list {
  display: grid;
  gap: .55rem;
}
.cleanex-guided-summary-list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .8rem;
  padding: .7rem 0;
  border-bottom: 1px solid rgba(84,158,234,.11);
}
.cleanex-guided-summary-list span {
  color: rgba(210,228,244,.68);
  font-weight: 800;
  font-size: .84rem;
}
.cleanex-guided-summary-list strong {
  color: #fff;
  white-space: nowrap;
}
.cleanex-guided-summary-list .is-total {
  align-items: center;
  margin-top: .2rem;
  padding: .9rem;
  border: 1px solid rgba(38,152,255,.24);
  border-radius: 1rem;
  background: rgba(38,152,255,.09);
}
.cleanex-guided-summary-list .is-total strong {
  font-size: 1.24rem;
}
.cleanex-guided-summary-hint {
  display: grid;
  gap: .25rem;
  padding: .85rem;
  border: 1px dashed rgba(109,180,248,.22);
  border-radius: .95rem;
  background: rgba(255,255,255,.025);
  color: rgba(213,229,244,.72);
  line-height: 1.4;
}
.cleanex-guided-summary-hint strong {
  color: #fff;
}
.cleanex-checkout-step-panel[hidden] {
  display: none !important;
}
.cleanex-checkout-step-panel.is-active {
  display: grid !important;
  gap: 1rem !important;
}
.cleanex-checkout-step-head {
  display: grid;
  gap: .35rem;
  max-width: 68rem;
}
.cleanex-checkout-step-head h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 2vw, 2rem) !important;
  line-height: 1.05 !important;
}
.cleanex-checkout-step-head span {
  color: rgba(213,229,244,.68);
  line-height: 1.5;
}
.cleanex-checkout-nav-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: .7rem !important;
  padding-top: .3rem !important;
}
.cleanex-checkout-nav-actions .cleanex-btn {
  min-width: min(100%, 14rem);
}
.cleanex-checkout-nav-actions--final .cleanex-btn:last-child {
  min-width: min(100%, 17rem);
}
.cleanex-checkout-scope-proxy,
.cleanex-checkout-scope-minimal {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.cleanex-checkout-scope-minimal > span {
  grid-column: 1 / -1;
  color: rgba(213,229,244,.68);
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .075em;
}
.cleanex-checkout-scope-proxy button,
.cleanex-checkout-scope-minimal button {
  display: grid;
  gap: .2rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(84,158,234,.16);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
  color: rgba(232,243,255,.78);
  text-align: left;
  cursor: pointer;
}
.cleanex-checkout-scope-proxy button.is-active,
.cleanex-checkout-scope-minimal button.is-active {
  border-color: rgba(38,152,255,.46);
  background: rgba(38,152,255,.12);
  color: #fff;
}
.cleanex-checkout-scope-proxy strong,
.cleanex-checkout-scope-minimal strong {
  font-size: 1rem;
}
.cleanex-checkout-scope-proxy small,
.cleanex-checkout-scope-minimal small {
  color: rgba(207,224,241,.65);
}
.cleanex-guided-cart-group {
  display: grid;
  gap: .75rem;
}
.cleanex-guided-cart-group__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .25rem;
}
.cleanex-guided-cart-group__head h3 {
  margin: .15rem 0 0 !important;
  color: #fff !important;
}
.cleanex-guided-cart-group__head small {
  max-width: 28rem;
  color: rgba(207,224,241,.62);
  line-height: 1.35;
  text-align: right;
}
.cleanex-guided-cart-items {
  display: grid;
  gap: .65rem;
}
.cleanex-guided-cart-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, auto);
  gap: 1rem;
  align-items: center;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.16);
  border-radius: 1rem;
  background: rgba(255,255,255,.026);
}
.cleanex-guided-cart-item__main {
  min-width: 0;
}
.cleanex-guided-cart-item__type {
  display: inline-flex;
  margin-bottom: .45rem;
  padding: .24rem .55rem;
  border-radius: 999px;
  background: rgba(38,152,255,.12);
  color: #d9ecff;
  font-size: .7rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.cleanex-guided-cart-item h4 {
  margin: 0 0 .35rem !important;
  color: #fff !important;
  font-size: 1.05rem !important;
  line-height: 1.2 !important;
}
.cleanex-guided-cart-item p {
  margin: 0 0 .65rem !important;
  color: rgba(213,229,244,.66) !important;
  line-height: 1.45 !important;
}
.cleanex-guided-cart-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.cleanex-guided-cart-meta span {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  max-width: 100%;
  padding: .38rem .55rem;
  border-radius: .7rem;
  background: rgba(255,255,255,.035);
  color: rgba(218,232,246,.72);
  font-size: .78rem;
  line-height: 1.25;
}
.cleanex-guided-cart-meta b {
  color: rgba(255,255,255,.92);
}
.cleanex-guided-cart-item__side {
  display: grid;
  gap: .55rem;
  justify-items: end;
  align-content: center;
}
.cleanex-guided-cart-item__side > strong {
  color: #fff;
  font-size: 1.08rem;
}
.cleanex-link-button {
  border: 0;
  background: transparent;
  color: rgba(213,229,244,.68);
  font-weight: 900;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: .18rem;
}
.cleanex-link-button:hover {
  color: #fff;
}
.cleanex-checkout-soft-note {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
  padding: .85rem .95rem;
  border: 1px solid rgba(80,205,158,.22);
  border-radius: 1rem;
  background: rgba(80,205,158,.08);
  color: rgba(221,245,235,.75);
  line-height: 1.4;
}
.cleanex-checkout-soft-note strong {
  color: #fff;
}
.cleanex-checkout-form-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
}
.cleanex-checkout-form-card--single {
  grid-template-columns: 1fr;
}
.cleanex-checkout-form-card label {
  display: grid;
  gap: .38rem;
  min-width: 0;
  color: rgba(222,237,250,.82);
  font-weight: 900;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cleanex-checkout-form-card label.is-full {
  grid-column: 1 / -1;
}
.cleanex-checkout-form-card input,
.cleanex-checkout-form-card select,
.cleanex-checkout-form-card textarea {
  width: 100%;
  min-height: 3rem;
  border-radius: .9rem;
  border: 1px solid rgba(84,158,234,.16);
  background: rgba(224,238,250,.96);
  color: #07121f;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}
.cleanex-checkout-form-card small {
  color: rgba(207,224,241,.58);
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 750;
}
.cleanex-legal-list--minimal {
  display: grid;
  gap: .7rem;
}
.cleanex-legal-list--minimal .cleanex-legal-card {
  border-color: rgba(84,158,234,.16) !important;
  background: rgba(255,255,255,.025) !important;
}
.cleanex-payment-handoff-minimal {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.cleanex-payment-handoff-minimal > div {
  display: grid;
  gap: .25rem;
  padding: .95rem;
  border: 1px solid rgba(84,158,234,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
}
.cleanex-payment-handoff-minimal strong {
  color: #fff;
}
.cleanex-payment-handoff-minimal span,
.cleanex-checkout-final-note p {
  margin: 0;
  color: rgba(213,229,244,.7);
  line-height: 1.45;
}
.cleanex-cart-recommendations--compact {
  margin: .2rem 0 0 !important;
  padding: .9rem !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,.022) !important;
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head {
  margin-bottom: .7rem !important;
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head h3 {
  font-size: 1rem !important;
}
.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head > span {
  font-size: .78rem !important;
  color: rgba(207,224,241,.55) !important;
}
.cleanex-cart-recommendation-card--compact {
  min-width: 15rem !important;
  padding: .78rem !important;
  background: rgba(7,20,34,.74) !important;
}
@media (max-width: 1180px) {
  .cleanex-guided-checkout-shell {
    grid-template-columns: 1fr !important;
  }
  .cleanex-guided-summary {
    position: static !important;
  }
  .cleanex-checkout-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  .cleanex-cart-view--guided-flow {
    width: min(100vw - 24px, 100%) !important;
    padding: .85rem !important;
  }
  .cleanex-checkout-header-minimal,
  .cleanex-guided-cart-group__head {
    display: grid !important;
    text-align: left !important;
  }
  .cleanex-guided-cart-group__head small {
    text-align: left;
  }
  .cleanex-checkout-steps {
    grid-template-columns: 1fr !important;
  }
  .cleanex-guided-cart-item,
  .cleanex-checkout-form-card,
  .cleanex-payment-handoff-minimal,
  .cleanex-checkout-scope-proxy,
  .cleanex-checkout-scope-minimal {
    grid-template-columns: 1fr !important;
  }
  .cleanex-guided-cart-item__side {
    justify-items: start;
  }
  .cleanex-checkout-nav-actions {
    display: grid !important;
  }
  .cleanex-checkout-nav-actions .cleanex-btn {
    width: 100%;
  }
}


/* v0.9.22: hard fullscreen shell for customer/operator panels. */
html:has(body.cleanex-standalone-app-body),
body.cleanex-standalone-app-body {
  width: 100vw !important;
  max-width: none !important;
  min-width: 320px !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app {
  --cx-panel-header-h: 5.25rem;
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  isolation: isolate !important;
  pointer-events: auto !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app::before,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app::after,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app::before,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app::after {
  pointer-events: none !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-global-header,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > header.cleanex-global-header,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-global-header.cleanex-system-header,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > header.cleanex-global-header.cleanex-system-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  width: 100vw !important;
  max-width: none !important;
  min-width: 0 !important;
  height: var(--cx-panel-header-h) !important;
  min-height: var(--cx-panel-header-h) !important;
  margin: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 0 1rem 1rem !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: clamp(1rem, 2vw, 2rem) !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-customer-content,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-customer-content,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-operator-content,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-operator-content {
  position: absolute !important;
  z-index: 20 !important;
  inset: var(--cx-panel-header-h) 0 0 0 !important;
  width: 100vw !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-panel-layout,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-layout {
  position: relative !important;
  z-index: 25 !important;
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-customer-panel-layout {
  grid-template-columns: 260px minmax(0, 1fr) !important;
}

body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout {
  grid-template-columns: clamp(210px, 16vw, 280px) minmax(0, 1fr) !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-panel-menu,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu {
  position: relative !important;
  z-index: 35 !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: .9rem .72rem !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  pointer-events: auto !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-panel-main,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-main {
  position: relative !important;
  z-index: 30 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  pointer-events: auto !important;
}

body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app a,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app button,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app input,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app select,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app textarea,
body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app label,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app a,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app button,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app input,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app select,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app textarea,
body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app label {
  pointer-events: auto !important;
}

@media (max-width: 900px) {
  html:has(body.cleanex-standalone-app-body),
  body.cleanex-standalone-app-body {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: auto !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app {
    position: relative !important;
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-global-header,
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > header.cleanex-global-header,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-global-header.cleanex-system-header,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > header.cleanex-global-header.cleanex-system-header {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: var(--cx-panel-header-h) !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-customer-content,
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-customer-content,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-operator-content,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content.cleanex-system-content.cleanex-operator-content {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: calc(100dvh - var(--cx-panel-header-h)) !important;
    overflow: visible !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-panel-layout,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-layout {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: calc(100dvh - var(--cx-panel-header-h)) !important;
    overflow: visible !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-panel-menu,
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app .cleanex-panel-main,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu,
  body.cleanex-standalone-app-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-main {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

/* --- v0.9.23: ABSOLUTNE ODBLOKOWANIE KLIKNIĘĆ I NAPRAWA WARSTW --- */

/* 1. Wyłączenie fizyczności z ozdobnych tł i gradientów (zbicie niewidzialnej szyby). */
.cleanex-full-page::before,
.cleanex-full-page::after,
main.cleanex-standalone-app::before,
main.cleanex-standalone-app::after {
  pointer-events: none !important;
}

/* 2. Wyniesienie rdzenia aplikacji ponad ukryte warstwy WordPressa. */
body.cleanex-standalone-app-body main.cleanex-standalone-app {
  z-index: 99999 !important;
}

/* 3. Wymuszenie klikalności i najwyższego priorytetu dla paneli. */
body.cleanex-standalone-app-body main.cleanex-standalone-app > .cleanex-page-content,
.cleanex-panel-layout,
.cleanex-panel-menu,
.cleanex-panel-main {
  position: relative !important;
  z-index: 999999 !important;
  pointer-events: auto !important;
}

/* 4. Twarda naprawa scrollowania w prawej kolumnie panelu klienta/operatora. */
.cleanex-panel-layout > .cleanex-panel-main {
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* v0.9.25: stabilne i dostępne menu konta w nagłówku. */
.cleanex-global-header,
.cleanex-global-header.cleanex-system-header {
  overflow: visible !important;
  isolation: isolate;
}

.cleanex-global-header .site-actions,
.cleanex-global-header .cleanex-system-actions,
.cleanex-global-header .site-user-menu {
  overflow: visible !important;
}

.site-user-menu {
  position: relative;
  z-index: 500;
  isolation: isolate;
}

.site-user-menu > [data-user-toggle] {
  position: relative;
  z-index: 2;
  touch-action: manipulation;
}

.site-user-dropdown,
.site-user-dropdown[data-user-dropdown] {
  position: absolute;
  z-index: 1000;
  top: calc(100% + .55rem);
  right: 0;
  display: grid;
  gap: .2rem;
  min-width: 13rem;
  max-width: min(20rem, calc(100vw - 2rem));
  padding: .55rem;
  overflow: visible;
  visibility: visible;
  opacity: 1;
  transform: none;
  pointer-events: auto;
  border: 1px solid rgba(38,152,255,.28);
  border-radius: .9rem;
  background: rgba(2,9,18,.985);
  box-shadow: 0 20px 50px rgba(0,0,0,.52);
}

.site-user-dropdown[hidden],
.site-user-dropdown[data-user-dropdown][hidden] {
  display: none !important;
}

.site-user-menu:not(.is-open) .site-user-dropdown {
  display: none !important;
  pointer-events: none !important;
}

.site-user-menu.is-open .site-user-dropdown {
  display: grid !important;
  pointer-events: auto !important;
}

.site-user-dropdown a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: .72rem .82rem;
  border-radius: .62rem;
}

.site-user-dropdown a:focus-visible {
  outline: 2px solid rgba(38,152,255,.78);
  outline-offset: 1px;
}


/* v0.9.26: progresywna nawigacja panelu i natywne menu konta. */
.site-user-menu > summary[data-user-toggle] {
  list-style: none;
  cursor: pointer;
}
.site-user-menu > summary[data-user-toggle]::-webkit-details-marker {
  display: none;
}
.site-user-menu:not(.is-open):not([open]) .site-user-dropdown {
  display: none !important;
  pointer-events: none !important;
}
.site-user-menu.is-open .site-user-dropdown,
.site-user-menu[open] .site-user-dropdown {
  display: grid !important;
  pointer-events: auto !important;
}


/* v0.9.31: ticket stages, chat and media previews in the operator panel. */
.cleanex-ticket-page .cleanex-ticket-progress,
.cleanex-ticket-page .cleanex-ticket-conversation { margin-top: 1rem; }
.cleanex-ticket-progress { display: grid; gap: .85rem; padding: 1rem; border: 1px solid rgba(74,155,230,.2); border-radius: 1rem; background: rgba(7,21,35,.72); }
.cleanex-ticket-progress__head { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.cleanex-ticket-progress__head span { color: #6eb8fb; font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cleanex-ticket-progress__head strong { color: rgba(231,243,253,.86); font-size: .78rem; }
.cleanex-ticket-progress__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.cleanex-ticket-progress__steps li { display: flex; gap: .55rem; align-items: center; color: rgba(162,185,205,.55); }
.cleanex-ticket-progress__steps i { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 2rem; border: 1px solid rgba(100,145,184,.28); border-radius: 50%; background: #0b1c2c; font-style: normal; font-size: .7rem; font-weight: 900; }
.cleanex-ticket-progress__steps li div { display: grid; gap: .1rem; }
.cleanex-ticket-progress__steps strong { color: inherit; font-size: .72rem; }
.cleanex-ticket-progress__steps small { color: inherit; font-size: .6rem; }
.cleanex-ticket-progress__steps li.is-done, .cleanex-ticket-progress__steps li.is-current { color: #6cb9ff; }
.cleanex-ticket-progress__steps li.is-current i { background: #2196f3; color: #04111d; }
.cleanex-ticket-conversation { display: grid; gap: .85rem; padding: 1rem; border: 1px solid rgba(74,155,230,.2); border-radius: 1rem; background: rgba(7,21,35,.76); }
.cleanex-ticket-conversation__head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.cleanex-ticket-conversation__head span { color: #70b9fb; font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cleanex-ticket-conversation__head h2 { margin: .2rem 0 0; color: #fff; font-size: 1.18rem; }
.cleanex-ticket-conversation__head small { color: rgba(178,198,218,.65); }
.cleanex-ticket-chat { display: grid; gap: .65rem; max-height: 32rem; overflow-y: auto; }
.cleanex-ticket-chat__message { width: min(82%,44rem); padding: .8rem .9rem; border: 1px solid rgba(83,141,190,.2); border-radius: .9rem; background: rgba(14,35,54,.86); }
.cleanex-ticket-chat__message.is-customer { justify-self: end; background: rgba(21,79,122,.72); }
.cleanex-ticket-chat__message.is-system { justify-self: center; width: auto; max-width: 90%; background: rgba(47,154,255,.09); border-style: dashed; }
.cleanex-ticket-chat__message header { display: flex; justify-content: space-between; gap: .7rem; margin-bottom: .4rem; }
.cleanex-ticket-chat__message header strong { color: #fff; font-size: .75rem; }
.cleanex-ticket-chat__message header time { color: rgba(190,210,228,.58); font-size: .62rem; }
.cleanex-ticket-chat__body p { margin: 0; color: rgba(239,248,255,.9); font-size: .83rem; line-height: 1.5; }
.cleanex-ticket-reply { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.45fr) auto; gap: .7rem; align-items: end; padding-top: .75rem; border-top: 1px solid rgba(90,151,203,.16); }
.cleanex-ticket-reply label { display: grid; gap: .35rem; color: rgba(207,224,239,.82); font-size: .68rem; font-weight: 800; }
.cleanex-ticket-reply textarea, .cleanex-ticket-reply input[type=file] { width: 100%; border: 1px solid rgba(79,150,211,.28); border-radius: .7rem; background: rgba(4,15,25,.68); color: #fff; padding: .65rem .75rem; }
.cleanex-ticket-media-grid, .cleanex-ticket-files-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: .6rem; margin-top: .65rem; }
.cleanex-ticket-media { margin: 0; overflow: hidden; border: 1px solid rgba(81,148,205,.22); border-radius: .7rem; background: rgba(2,12,21,.62); }
.cleanex-ticket-media img, .cleanex-ticket-media video { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; background: #02080d; }
.cleanex-ticket-media figcaption { padding: .45rem .55rem; color: rgba(197,216,231,.72); font-size: .62rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cleanex-ticket-upload small { display: block; margin-top: .3rem; color: rgba(178,198,218,.65); font-size: .62rem; }
@media (max-width: 900px) { .cleanex-ticket-reply { grid-template-columns: 1fr; } .cleanex-ticket-progress__steps { grid-template-columns: 1fr 1fr; } }

/* v0.9.32: stable anchor fallback when ticket forms reload without JavaScript. */
.cleanex-ticket-conversation[id],
.cleanex-ticket-status-form[id] {
  scroll-margin-top: 1rem;
}

/* v0.9.33: uproszczony nagłówek operatora i nazwa zalogowanego użytkownika. */
.cleanex-system-header--without-nav .site-logo {
  margin-right: 0 !important;
}

.cleanex-system-header--without-nav .cleanex-system-actions {
  margin-left: auto !important;
}

.site-user-dropdown__identity {
  display: grid;
  gap: .18rem;
  margin: -.05rem -.05rem .35rem;
  padding: .75rem .8rem .8rem;
  border-bottom: 1px solid rgba(38, 152, 255, .16);
  border-radius: .65rem .65rem .25rem .25rem;
  background: rgba(38, 152, 255, .07);
}

.site-user-dropdown__identity small {
  color: rgba(186, 211, 234, .58);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.site-user-dropdown__identity strong {
  overflow: hidden;
  color: #fff;
  font-size: .86rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-user-dropdown__identity span {
  overflow: hidden;
  color: rgba(202, 221, 238, .67);
  font-size: .7rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* v0.9.36: panel klienta — subtelny podział ikon systemowych od koszyka i konta. */
.cleanex-global-header .site-actions__separator {
  display: block;
  width: 1px;
  height: 2rem;
  margin: 0 .2rem;
  flex: 0 0 1px;
  align-self: center;
  background: linear-gradient(180deg, transparent, rgba(118, 174, 224, .34) 22%, rgba(118, 174, 224, .34) 78%, transparent);
  opacity: .85;
  pointer-events: none;
}

@media (max-width: 760px) {
  .cleanex-global-header .site-actions__separator {
    display: none;
  }
}


/* v0.9.40: standalone customer app header flush to viewport edges. */
@media (min-width: 981px) {
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-global-header,
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > header.cleanex-global-header {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    padding-left: clamp(1rem, 1.8vw, 1.65rem) !important;
    padding-right: clamp(1rem, 1.8vw, 1.65rem) !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(84, 158, 234, .18) !important;
  }
}


/* v0.9.41: standalone customer header starts at the real viewport edge. */
@media (min-width: 981px) {
  html:has(body.cxcp-page-body),
  html.admin-bar:has(body.cxcp-page-body),
  body.cxcp-page-body,
  body.cxcp-page-body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.cxcp-page-body #wpadminbar {
    display: none !important;
    height: 0 !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-global-header,
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > header.cleanex-global-header {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100dvw !important;
    height: 70px !important;
    min-height: 70px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
  }
}


/* v0.9.42: customer panel now uses the exact full-width app-shell selectors used by operator. */
@media (min-width: 981px) {
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-global-header,
  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > header.cleanex-global-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 70px !important;
    min-height: 70px !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  body.cleanex-standalone-app-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-page-content.cleanex-customer-content {
    position: absolute !important;
    inset: 70px 0 0 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: calc(100dvh - 70px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* v0.9.43: anchors used by customer purchase actions. */
#cleanex-payment-panel,
#cleanex-order-invoice {
  scroll-margin-top: 1rem;
}

/* v0.9.45 / Pakiet C: widoki faktur i operacyjny workspace umów operatora. */
.cleanex-operator-main .cleanex-invoice-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(140px, .58fr)) repeat(2, minmax(145px, .62fr)) minmax(170px, .7fr) auto;
  gap: .7rem;
  align-items: end;
  margin: 0 0 1rem;
  padding: .85rem;
  border: 1px solid rgba(62, 139, 205, .2);
  border-radius: 1rem;
  background: rgba(7, 22, 37, .72);
}
.cleanex-operator-main .cleanex-invoice-toolbar label { display: grid; gap: .35rem; color: rgba(188,211,231,.68); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cleanex-operator-main .cleanex-invoice-toolbar input,
.cleanex-operator-main .cleanex-invoice-toolbar select { width: 100%; min-height: 2.65rem; padding: 0 .75rem; color: #f4f9fd; border: 1px solid rgba(72,146,209,.25); border-radius: .72rem; background: rgba(4,16,28,.82); }
.cleanex-operator-main .cleanex-invoice-toolbar__actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.cleanex-operator-main .cleanex-invoice-results-summary { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0 0 1rem; }
.cleanex-operator-main .cleanex-invoice-results-summary span { padding: .65rem .8rem; border: 1px solid rgba(62,139,205,.18); border-radius: .75rem; background: rgba(7,22,37,.62); color: rgba(188,211,231,.72); font-size: .76rem; }
.cleanex-operator-main .cleanex-invoice-results-summary strong { color: #fff; }
.cleanex-operator-main .cleanex-inline-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.cleanex-operator-main .cleanex-inline-actions form { margin: 0; }
.cleanex-operator-main .cleanex-contract-link-dashboard { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .7rem; margin: 1rem 0; }
.cleanex-operator-main .cleanex-contract-link-dashboard > div { display: grid; gap: .35rem; padding: .9rem; border: 1px solid rgba(67,145,212,.18); border-radius: .9rem; background: rgba(8,25,41,.76); }
.cleanex-operator-main .cleanex-contract-link-dashboard span { color: rgba(181,207,229,.68); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.cleanex-operator-main .cleanex-contract-link-dashboard strong { color: #fff; font-size: .9rem; overflow-wrap: anywhere; }
.cleanex-operator-main .cleanex-contract-workspace-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.cleanex-operator-main .cleanex-contract-workspace-card,
.cleanex-operator-main .cleanex-contract-schedule { padding: 1rem; }
.cleanex-operator-main .cleanex-contract-machine-list,
.cleanex-operator-main .cleanex-contract-ticket-list,
.cleanex-operator-main .cleanex-contract-document-list,
.cleanex-operator-main .cleanex-contract-history { display: grid; gap: .55rem; }
.cleanex-operator-main .cleanex-contract-machine-list article,
.cleanex-operator-main .cleanex-contract-ticket-list a,
.cleanex-operator-main .cleanex-contract-document-list a,
.cleanex-operator-main .cleanex-contract-history > div { display: grid; gap: .18rem; padding: .75rem; color: #fff; text-decoration: none; border: 1px solid rgba(75,148,210,.17); border-radius: .75rem; background: rgba(6,20,34,.7); }
.cleanex-operator-main .cleanex-contract-ticket-list a { grid-template-columns: auto minmax(0,1fr) auto; align-items: center; column-gap: .7rem; }
.cleanex-operator-main .cleanex-contract-document-list a { grid-template-columns: 1fr auto; align-items: center; }
.cleanex-operator-main .cleanex-contract-history > div { grid-template-columns: 9rem minmax(0,1fr) auto; align-items: center; }
.cleanex-operator-main .cleanex-contract-payment-status { display: inline-flex; padding: .35rem .55rem; border-radius: 999px; font-size: .68rem; font-weight: 900; }
.cleanex-operator-main .cleanex-contract-payment-status.is-paid { color: #9fe8d5; background: rgba(27,170,128,.14); }
.cleanex-operator-main .cleanex-contract-payment-status.is-overdue { color: #ffd29d; background: rgba(231,141,45,.13); }
.cleanex-operator-main .cleanex-contract-payment-status.is-upcoming { color: #9ed4ff; background: rgba(38,152,255,.12); }
@media (max-width: 1180px) {
  .cleanex-operator-main .cleanex-invoice-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cleanex-operator-main .cleanex-contract-link-dashboard { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .cleanex-operator-main .cleanex-invoice-toolbar,
  .cleanex-operator-main .cleanex-contract-workspace-grid,
  .cleanex-operator-main .cleanex-contract-link-dashboard { grid-template-columns: 1fr; }
}
.cleanex-operator-main .cleanex-contract-workspace-card h2 { margin: .2rem 0 1rem; }
.cleanex-operator-main .cleanex-contract-renewal p { color: rgba(181,207,229,.68); line-height: 1.5; }
.cleanex-operator-main .cleanex-contract-renewal-state { display: flex; justify-content: space-between; gap: 1rem; margin: .8rem 0; padding: .75rem; border-radius: .75rem; background: rgba(39,145,234,.08); }
.cleanex-operator-main .cleanex-contract-renewal-state span { color: rgba(181,207,229,.68); }
.cleanex-operator-main .cleanex-contract-machine-list span,
.cleanex-operator-main .cleanex-contract-ticket-list span,
.cleanex-operator-main .cleanex-contract-history span { color: rgba(181,207,229,.68); font-size: .72rem; }
.cleanex-operator-main .cleanex-contract-machine-list small,
.cleanex-operator-main .cleanex-contract-ticket-list small,
.cleanex-operator-main .cleanex-contract-history time { color: #78baf4; font-size: .65rem; }
.cleanex-operator-main .cleanex-invoice-table td > strong,
.cleanex-operator-main .cleanex-invoice-table td > small { display: block; }
.cleanex-operator-main .cleanex-invoice-table td > small { margin-top: .25rem; color: rgba(181,207,229,.68); }
.cleanex-operator-main .cleanex-invoice-sync-status { display: block; max-width: 24rem; color: #dcebf7; font-size: .78rem; line-height: 1.35; }


/* v0.9.46: ceny netto/VAT, dokumenty i kalkulator transportu. */
.cleanex-document-pending {
  display: inline-flex;
  min-height: 2.7rem;
  align-items: center;
  padding: .55rem .75rem;
  color: rgba(205, 224, 240, .72);
  border: 1px dashed rgba(92, 155, 211, .28);
  border-radius: .7rem;
  background: rgba(7, 22, 36, .52);
  font-size: .72rem;
  font-weight: 800;
}
.cleanex-inline-link { display: inline-flex; margin-top: .35rem; color: #51adff; font-size: .72rem; font-weight: 800; text-decoration: none; }
.cleanex-inline-link:hover { text-decoration: underline; }
.cleanex-tax-note,
.product-tax-note { display: block; color: rgba(192, 215, 235, .7); font-size: .72rem; line-height: 1.4; }
.cleanex-tax-note { margin: 0 0 1rem; padding: .75rem .9rem; border: 1px solid rgba(38,152,255,.18); border-radius: .8rem; background: rgba(38,152,255,.06); }
.product-tax-note { margin: -.25rem 0 1rem; }
.cleanex-checkout-form-card label small { color: rgba(184, 207, 227, .62); line-height: 1.35; }

/* v0.9.47: czytelna dostępność sztuk liczona od bieżącego dnia. */
.cleanex-units-availability-table .cleanex-unit-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: rgba(15, 23, 42, .58);
  color: #dbeafe;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.cleanex-units-availability-table .cleanex-unit-status.is-available {
  border-color: rgba(52, 211, 153, .42);
  background: rgba(16, 185, 129, .12);
  color: #bbf7d0;
}
.cleanex-units-availability-table .cleanex-unit-status.is-reserved {
  border-color: rgba(56, 189, 248, .42);
  background: rgba(14, 165, 233, .12);
  color: #c5eeff;
}
.cleanex-units-availability-table .cleanex-unit-status.is-active {
  border-color: rgba(45, 212, 191, .44);
  background: rgba(20, 184, 166, .13);
  color: #ccfbf1;
}
.cleanex-units-availability-table .cleanex-unit-status.is-service,
.cleanex-units-availability-table .cleanex-unit-status.is-overdue {
  border-color: rgba(251, 113, 133, .44);
  background: rgba(244, 63, 94, .12);
  color: #fecdd3;
}
.cleanex-units-availability-table .cleanex-unit-availability strong {
  display: block;
  color: #e2e8f0;
  font-weight: 800;
}
.cleanex-units-availability-table th:nth-child(1) { min-width: 130px; }
.cleanex-units-availability-table th:nth-child(2) { min-width: 190px; }
.cleanex-units-availability-table th:nth-child(3) { min-width: 190px; }
.cleanex-units-availability-table th:nth-child(4) { min-width: 190px; }
.cleanex-units-availability-table th:nth-child(5) { min-width: 180px; }
.cleanex-units-availability-table th:nth-child(6) { min-width: 260px; }
.cleanex-units-availability-table th:nth-child(7) { min-width: 190px; }
.cleanex-unit-actions { white-space: normal; }
.cleanex-unit-delete-form { margin: 0; }
.cleanex-unit-action-note { display: inline-block; color: rgba(184, 207, 227, .74); font-size: .73rem; font-weight: 700; line-height: 1.4; }
.cleanex-link-button.cleanex-link-button--danger { color: #fecdd3; border-color: rgba(251, 113, 133, .32); }
.cleanex-link-button.cleanex-link-button--danger:hover { color: #fff; border-color: rgba(251, 113, 133, .5); background: rgba(244, 63, 94, .14); }

/* v0.9.48: priorytet dostępności i osobne, zwijane kafle szczegółów produktu. */
.cleanex-machine-details {
  display: grid;
  gap: .85rem;
}
.cleanex-availability-priority {
  overflow: hidden;
  border: 1px solid rgba(38, 152, 255, .34);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(15, 48, 78, .76), rgba(7, 24, 42, .82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.cleanex-availability-priority__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid rgba(105, 170, 234, .16);
}
.cleanex-availability-priority__header > div {
  display: grid;
  gap: .15rem;
}
.cleanex-availability-priority__header span {
  color: #63b6ff;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cleanex-availability-priority__header strong {
  color: #fff;
  font-size: .98rem;
}
.cleanex-availability-priority__header small {
  max-width: 34rem;
  color: rgba(198, 220, 239, .68);
  font-size: .72rem;
  line-height: 1.4;
  text-align: right;
}
.cleanex-availability-priority .cleanex-units-table-wrap {
  margin: 0;
  border: 0;
  border-radius: 0;
}
.cleanex-detail-accordions {
  display: grid;
  gap: .65rem;
}
.cleanex-detail-accordion {
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(84, 158, 234, .18);
  border-radius: .9rem;
  background: rgba(8, 22, 38, .72);
  transition: border-color .18s ease, background .18s ease;
}
.cleanex-detail-accordion[open] {
  border-color: rgba(38, 152, 255, .38);
  background: rgba(10, 30, 51, .84);
}
.cleanex-detail-accordion > summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 3.8rem;
  padding: .78rem 3.15rem .78rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.cleanex-detail-accordion > summary::-webkit-details-marker {
  display: none;
}
.cleanex-detail-accordion > summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  transform: translateY(-50%);
  border: 1px solid rgba(38, 152, 255, .25);
  border-radius: .55rem;
  background: rgba(38, 152, 255, .08);
  color: #8dccff;
  font-size: 1rem;
  font-weight: 800;
}
.cleanex-detail-accordion[open] > summary::after {
  content: '−';
  background: rgba(38, 152, 255, .16);
  color: #fff;
}
.cleanex-detail-accordion > summary:hover,
.cleanex-detail-accordion > summary:focus-visible {
  background: rgba(38, 152, 255, .07);
  outline: none;
}
.cleanex-detail-accordion > summary span {
  display: grid;
  gap: .18rem;
}
.cleanex-detail-accordion > summary strong {
  color: rgba(244, 249, 255, .96);
  font-size: .86rem;
  font-weight: 850;
}
.cleanex-detail-accordion > summary small {
  color: rgba(190, 213, 234, .58);
  font-size: .69rem;
  line-height: 1.3;
}
.cleanex-detail-accordion__body {
  padding: 1rem;
  border-top: 1px solid rgba(105, 170, 234, .13);
}
.cleanex-detail-accordion__body.cleanex-details-section,
.cleanex-detail-accordion__body.cleanex-related-block,
.cleanex-detail-accordion__body.cleanex-machine-specs {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.cleanex-detail-accordion--edit {
  border-color: rgba(99, 215, 160, .22);
}
.cleanex-detail-accordion--edit[open] {
  border-color: rgba(99, 215, 160, .42);
}
.cleanex-detail-accordion--edit > summary::after {
  border-color: rgba(99, 215, 160, .28);
  background: rgba(99, 215, 160, .08);
  color: #9ce8c2;
}
.cleanex-detail-accordion--edit .cleanex-edit-product-form {
  margin: 0;
}
@media (max-width: 760px) {
  .cleanex-availability-priority__header {
    align-items: flex-start;
    flex-direction: column;
  }
  .cleanex-availability-priority__header small {
    text-align: left;
  }
  .cleanex-detail-accordion > summary {
    min-height: 3.55rem;
    padding-left: .85rem;
  }
  .cleanex-detail-accordion__body {
    padding: .85rem;
  }
}

/* v0.9.51: wymuszone modele rozliczeń umów najmu. */
.cleanex-contract-billing-hint {
  padding: .8rem .9rem;
  border: 1px solid rgba(38, 152, 255, .2);
  border-radius: .8rem;
  background: rgba(38, 152, 255, .07);
  color: rgba(214, 230, 244, .82);
  font-size: .76rem;
  line-height: 1.5;
}
.cleanex-contract-billing-hint strong { color: #fff; }
.cleanex-contract-editor [data-contract-billing-frequency]:disabled,
.cleanex-contract-editor [data-contract-periodic-amount]:read-only,
.cleanex-contract-editor [data-contract-next-payment]:read-only {
  cursor: not-allowed;
  opacity: .78;
  border-color: rgba(38, 152, 255, .28);
  background: rgba(11, 31, 50, .72);
}
.cleanex-contract-renewal--single {
  border-color: rgba(56, 189, 248, .22);
  background: linear-gradient(180deg, rgba(13, 48, 76, .65), rgba(7, 25, 42, .72));
}


/* v0.9.53: osobne kolumny ceny dobowej i długoterminowej w magazynie. */
.cleanex-price-cell {
  display: grid !important;
  align-content: center;
  gap: .18rem;
}
.cleanex-price-cell strong {
  display: block;
}
.cleanex-price-cell--daily strong,
.cleanex-price-cell--long strong {
  line-height: 1.3 !important;
}
.cleanex-category-product-prices {
  display: grid;
  gap: .45rem;
}
.cleanex-category-product-prices strong {
  display: grid;
  gap: .12rem;
}
.cleanex-category-product-prices strong span {
  color: rgba(192, 215, 235, .66);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* v0.9.56: menu akcji pozycjonowane do środka viewportu. */
.cleanex-actions-menu-host {
  position: relative !important;
  min-width: 44px;
}
.cleanex-actions-menu-host:not(td):not(th) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
td.cleanex-actions-menu-host,
th.cleanex-actions-menu-host {
  vertical-align: middle !important;
  text-align: center;
}
.cleanex-actions-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cleanex-actions-menu__trigger {
  display: inline-grid;
  place-items: center;
  width: 38px;
  min-width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(103, 164, 219, .28);
  border-radius: .72rem;
  background: rgba(13, 32, 51, .9);
  color: rgba(235, 246, 255, .92);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.cleanex-actions-menu__trigger:hover,
.cleanex-actions-menu__trigger:focus-visible,
.cleanex-actions-menu.is-open .cleanex-actions-menu__trigger {
  border-color: rgba(38, 152, 255, .58);
  background: rgba(38, 152, 255, .14);
  color: #fff;
  outline: none;
}
.cleanex-actions-menu__trigger svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.cleanex-actions-menu__panel {
  position: fixed;
  inset: auto;
  z-index: 100000;
  display: grid;
  width: min(250px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  gap: .3rem;
  padding: .45rem;
  border: 1px solid rgba(88, 157, 218, .3);
  border-radius: .9rem;
  background: rgba(5, 17, 30, .985);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .04);
  backdrop-filter: blur(16px);
}
.cleanex-actions-menu__panel[hidden] { display: none !important; }
.cleanex-actions-menu__panel.opens-left { transform-origin: right center; }
.cleanex-actions-menu__panel.opens-right { transform-origin: left center; }
.cleanex-actions-menu__panel.opens-up { transform-origin: center bottom; }
.cleanex-actions-menu__panel.opens-down { transform-origin: center top; }
.cleanex-actions-menu__panel > a,
.cleanex-actions-menu__panel > button,
.cleanex-actions-menu__panel > form,
.cleanex-actions-menu__panel > span,
.cleanex-actions-menu__panel > div {
  width: 100%;
  margin: 0 !important;
}
.cleanex-actions-menu__panel > form {
  display: block;
}
.cleanex-actions-menu__panel a,
.cleanex-actions-menu__panel button,
.cleanex-actions-menu__panel .cleanex-btn,
.cleanex-actions-menu__panel .cleanex-link-button {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: .65rem .75rem !important;
  border: 0 !important;
  border-radius: .62rem !important;
  background: transparent !important;
  color: rgba(231, 243, 253, .92) !important;
  font-size: .76rem !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.cleanex-actions-menu__panel a:hover,
.cleanex-actions-menu__panel button:hover,
.cleanex-actions-menu__panel a:focus-visible,
.cleanex-actions-menu__panel button:focus-visible {
  background: rgba(38, 152, 255, .12) !important;
  color: #fff !important;
  outline: none;
}
.cleanex-actions-menu__panel .cleanex-link-button--danger,
.cleanex-actions-menu__panel form[action*="admin-post"] button[name*="delete"] {
  color: #fecdd3 !important;
}
.cleanex-actions-menu__panel .cleanex-document-pending,
.cleanex-actions-menu__panel .cleanex-unit-action-note {
  display: block;
  padding: .6rem .72rem;
  color: rgba(188, 207, 225, .66);
  font-size: .7rem;
  line-height: 1.35;
}
.cleanex-actions-menu-host.cleanex-row-actions,
.cleanex-actions-menu-host.cleanex-inline-actions,
.cleanex-actions-menu-host.cxcp-order-actions {
  gap: 0 !important;
  flex-wrap: nowrap !important;
}
@media (max-width: 760px) {
  .cleanex-actions-menu__trigger {
    width: 36px;
    min-width: 36px;
    height: 36px;
  }
}

/* v0.9.57: zapamiętywane filtry kalendarza i własne zestawy filtrów. */
.cleanex-calendar-filter-shell {
  position: relative;
  width: 100%;
  overflow: visible;
}
.cleanex-operator-page .cleanex-calendar-filters,
.cleanex-calendar-filters {
  grid-template-columns: 110px 150px minmax(160px,.8fr) minmax(180px,1fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(190px,.95fr) auto !important;
  align-items: end !important;
}
.cleanex-calendar-filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .42rem;
  min-width: max-content;
}
.cleanex-calendar-filter-actions .cleanex-btn {
  white-space: nowrap;
}
.cleanex-calendar-filter-menu-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 1px solid rgba(71, 161, 239, .48);
  border-radius: .72rem;
  background: rgba(7, 25, 43, .92);
  color: #e8f5ff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.cleanex-calendar-filter-menu-trigger:hover,
.cleanex-calendar-filter-menu-trigger.is-active {
  border-color: rgba(54, 168, 255, .88);
  background: rgba(38, 152, 255, .18);
  transform: translateY(-1px);
}
.cleanex-calendar-filter-menu-trigger svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: currentColor;
}
.cleanex-calendar-filter-menu {
  position: fixed;
  z-index: 100250;
  width: min(370px, calc(100vw - 24px));
  overflow-y: auto;
  padding: 1rem;
  border: 1px solid rgba(69, 159, 239, .34);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(10, 29, 49, .99), rgba(4, 17, 31, .99));
  box-shadow: 0 24px 60px rgba(0, 0, 0, .46), inset 0 1px 0 rgba(255, 255, 255, .04);
  color: #edf7ff;
}
.cleanex-calendar-filter-menu[hidden] {
  display: none !important;
}
.cleanex-calendar-filter-menu__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .65rem;
}
.cleanex-calendar-filter-menu__head > div {
  display: grid;
  gap: .14rem;
}
.cleanex-calendar-filter-menu__head small {
  color: rgba(149, 203, 246, .68);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cleanex-calendar-filter-menu__head strong {
  font-size: 1.05rem;
  line-height: 1.2;
}
.cleanex-calendar-filter-menu__head > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid rgba(120, 174, 222, .24);
  border-radius: .62rem;
  background: rgba(255, 255, 255, .04);
  color: #dceeff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.cleanex-calendar-filter-menu__hint {
  margin: 0 0 .9rem;
  color: rgba(200, 221, 239, .72);
  font-size: .78rem;
  line-height: 1.45;
}
.cleanex-calendar-filter-menu__field {
  display: grid;
  gap: .36rem;
  color: rgba(218, 234, 248, .78);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.cleanex-calendar-filter-menu__field select,
.cleanex-calendar-filter-menu__field input {
  width: 100%;
  min-height: 2.55rem;
  padding: 0 .78rem;
  border: 1px solid rgba(120, 174, 222, .28);
  border-radius: .72rem;
  background: rgba(236, 246, 255, .97);
  color: #091523;
  font-size: .82rem;
  font-weight: 750;
  text-transform: none;
  letter-spacing: normal;
}
.cleanex-calendar-filter-menu__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  margin-top: .55rem;
}
.cleanex-calendar-filter-menu__buttons .cleanex-btn,
.cleanex-calendar-filter-menu__save {
  width: 100%;
  justify-content: center;
}
.cleanex-calendar-filter-menu__divider {
  height: 1px;
  margin: .9rem 0;
  background: rgba(107, 164, 217, .18);
}
.cleanex-calendar-filter-menu__save {
  margin-top: .55rem;
}
.cleanex-calendar-filter-menu__clear {
  display: inline-flex;
  margin-top: .8rem;
  color: #8dceff;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}
.cleanex-calendar-filter-menu__clear:hover {
  text-decoration: underline;
}
.cleanex-calendar-filter-menu__notice {
  min-height: 1.25rem;
  margin: .65rem 0 0;
  color: rgba(211, 229, 244, .74);
  font-size: .76rem;
  line-height: 1.35;
}
.cleanex-calendar-filter-menu__notice.is-success {
  color: #9af1cf;
}
.cleanex-calendar-filter-menu__notice.is-error {
  color: #fecaca;
}

@media (max-width: 1500px) {
  .cleanex-operator-page .cleanex-calendar-filters,
  .cleanex-calendar-filters {
    grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  }
  .cleanex-calendar-filter-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 900px) {
  .cleanex-operator-page .cleanex-calendar-filters,
  .cleanex-calendar-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .cleanex-calendar-filter-actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 620px) {
  .cleanex-operator-page .cleanex-calendar-filters,
  .cleanex-calendar-filters {
    grid-template-columns: 1fr !important;
  }
  .cleanex-calendar-filter-actions {
    grid-column: auto;
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    width: 100%;
  }
}

/* v0.9.58: remembered filters and named presets in all operator tabs. */
.cleanex-operator-filter-shell {
  position: relative;
  width: 100%;
  overflow: visible;
}
.cleanex-operator-filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .42rem;
  min-width: max-content;
}
.cleanex-operator-filter-actions .cleanex-btn {
  white-space: nowrap;
}
.cleanex-operator-filter-menu {
  overscroll-behavior: contain;
}
.cleanex-warehouse-filters.cleanex-warehouse-controls {
  grid-template-columns: minmax(120px,.7fr) minmax(180px,.95fr) minmax(145px,.75fr) minmax(220px,1.2fr) minmax(260px,1.45fr) auto !important;
}
.cleanex-operator-main .cleanex-invoice-toolbar .cleanex-operator-filter-actions {
  align-self: end;
}
.cleanex-client-filters {
  grid-template-columns: minmax(160px,.72fr) minmax(210px,.88fr) minmax(240px,1.18fr) auto !important;
}
.cleanex-client-filters .cleanex-operator-filter-actions {
  justify-self: end;
  align-self: end;
}
@media (max-width: 1380px) {
  .cleanex-warehouse-filters.cleanex-warehouse-controls {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  .cleanex-warehouse-filters.cleanex-warehouse-controls .cleanex-operator-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}
@media (max-width: 980px) {
  .cleanex-operator-filter-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 0;
  }
  .cleanex-order-filters .cleanex-operator-filter-actions,
  .cleanex-ticket-filters .cleanex-operator-filter-actions,
  .cleanex-contract-filters .cleanex-operator-filter-actions,
  .cleanex-client-filters .cleanex-operator-filter-actions,
  .cleanex-invoice-toolbar .cleanex-operator-filter-actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .cleanex-warehouse-filters.cleanex-warehouse-controls {
    grid-template-columns: 1fr !important;
  }
  .cleanex-operator-filter-actions {
    width: 100%;
  }
  .cleanex-operator-filter-actions .cleanex-btn {
    flex: 1 1 auto;
  }
}

/* v0.9.60: date mini picker and per-user dark/light visual mode. */
.cleanex-date-picker-field {
  position: relative;
  display: block;
  min-width: 0;
}
.cleanex-date-picker-field > input[type="date"] {
  width: 100%;
  padding-right: 3rem !important;
  cursor: pointer;
}
.cleanex-date-picker-field > input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: .2rem;
  width: 2.6rem;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.cleanex-date-picker-button {
  position: absolute;
  top: 50%;
  right: .45rem;
  z-index: 2;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(107, 176, 239, .24);
  border-radius: .62rem;
  background: rgba(38, 152, 255, .08);
  color: #a9d7ff;
  cursor: pointer;
}
.cleanex-date-picker-button:hover,
.cleanex-date-picker-button:focus-visible {
  border-color: rgba(38, 152, 255, .58);
  background: rgba(38, 152, 255, .16);
  color: #fff;
  outline: none;
}
.cleanex-date-picker-button svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cleanex-appearance-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.cleanex-appearance-option {
  position: relative;
  display: grid !important;
  grid-template-columns: auto 7.2rem minmax(0, 1fr);
  align-items: center;
  gap: .9rem !important;
  min-height: 8rem;
  padding: 1rem;
  border: 1px solid rgba(105, 170, 234, .2);
  border-radius: 1rem;
  background: rgba(4, 17, 31, .54);
  cursor: pointer;
}
.cleanex-appearance-option:has(input:checked) {
  border-color: rgba(38, 152, 255, .72);
  box-shadow: 0 0 0 2px rgba(38, 152, 255, .12), inset 0 1px 0 rgba(255,255,255,.04);
}
.cleanex-appearance-option > input {
  width: 1.1rem !important;
  height: 1.1rem;
  accent-color: #2698ff;
}
.cleanex-appearance-option > span:last-child {
  display: grid;
  gap: .25rem;
}
.cleanex-appearance-option > span:last-child strong {
  font-size: 1rem;
}
.cleanex-appearance-option > span:last-child small {
  color: rgba(197, 216, 235, .68);
  line-height: 1.4;
}
.cleanex-appearance-preview {
  position: relative;
  display: block;
  width: 7.2rem;
  height: 4.6rem;
  overflow: hidden;
  border-radius: .75rem;
  border: 1px solid rgba(105, 170, 234, .22);
  box-shadow: 0 10px 24px rgba(0,0,0,.15);
}
.cleanex-appearance-preview::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 1.7rem;
  background: #081725;
}
.cleanex-appearance-preview::after {
  content: '';
  position: absolute;
  top: .55rem;
  left: 2.15rem;
  width: 4.45rem;
  height: .58rem;
  border-radius: .3rem;
  background: #2698ff;
}
.cleanex-appearance-preview i,
.cleanex-appearance-preview b,
.cleanex-appearance-preview em {
  position: absolute;
  left: 2.15rem;
  right: .55rem;
  height: .52rem;
  border-radius: .28rem;
}
.cleanex-appearance-preview i { top: 1.65rem; }
.cleanex-appearance-preview b { top: 2.55rem; }
.cleanex-appearance-preview em { top: 3.45rem; }
.cleanex-appearance-preview--dark { background: #071523; }
.cleanex-appearance-preview--dark i,
.cleanex-appearance-preview--dark b,
.cleanex-appearance-preview--dark em { background: #17334e; }
.cleanex-appearance-preview--light { background: #f2f6fa; }
.cleanex-appearance-preview--light::before { background: #dce7f0; }
.cleanex-appearance-preview--light i,
.cleanex-appearance-preview--light b,
.cleanex-appearance-preview--light em { background: #d7e2eb; }

/* v0.9.61: spójny jasny motyw wyłącznie dla panelu operatora i bieżącego użytkownika. */
body.cleanex-operator-page-body.cleanex-ui-light {
  --cx-bg: #edf2f7;
  --cx-panel: #ffffff;
  --cx-panel-card: #ffffff;
  --cx-panel-border: #d7e1eb;
  --cx-line: #d7e1eb;
  --cx-text: #172536;
  --cx-muted: #64758a;
  --cx-blue: #188fe8;
  --cx-blue-strong: #0878ce;
  color-scheme: light;
  background: #edf2f7 !important;
  color: #172536 !important;
}
html:has(body.cleanex-operator-page-body.cleanex-ui-light) {
  background: #edf2f7 !important;
  color-scheme: light;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-full-page,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-page,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-page-content,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-content,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-layout,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-layout,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-tab-panel {
  background: #edf2f7 !important;
  color: #172536 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-full-page::before,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-full-page::after,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-page::before,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-page::after,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-page-content::before,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-page-content::after {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-system-header,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-global-header,
body.cleanex-operator-page-body.cleanex-ui-light .site-header {
  background: rgba(255,255,255,.98) !important;
  border-color: #d8e1ea !important;
  box-shadow: 0 6px 22px rgba(35,60,84,.07) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .site-logo__main,
body.cleanex-operator-page-body.cleanex-ui-light .site-logo__sub {
  color: #14263a !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .site-logo__main span {
  color: #188fe8 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .site-icon,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-live-status,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-last-update {
  background: #f5f8fb !important;
  color: #29435d !important;
  border-color: #d5e0ea !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .site-icon svg,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-system-header svg {
  stroke: #29435d !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu {
  background: #f7f9fc !important;
  border-color: #d7e1eb !important;
  color: #172536 !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu h2,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu h2 {
  color: #52667b !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu a,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu button,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu a,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu button {
  background: transparent !important;
  color: #263c52 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu a:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu button:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu a:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu button:hover {
  background: #e9f1f8 !important;
  color: #0b6fb8 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu .is-active,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu .is-active {
  background: #188fe8 !important;
  color: #fff !important;
  border-color: #188fe8 !important;
  box-shadow: 0 8px 18px rgba(24,143,232,.2) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-main,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-main {
  background: transparent !important;
  color: #172536 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light h1,
body.cleanex-operator-page-body.cleanex-ui-light h2,
body.cleanex-operator-page-body.cleanex-ui-light h3,
body.cleanex-operator-page-body.cleanex-ui-light h4,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-machine-title strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-tab-panel > h1 {
  color: #172536 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light p,
body.cleanex-operator-page-body.cleanex-ui-light small,
body.cleanex-operator-page-body.cleanex-ui-light em,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-muted,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-eyebrow {
  color: #64758a !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-eyebrow {
  color: #52677d !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-card,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-card,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-client-section,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-order-page-section,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-contract-editor,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-table-scroll,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-filters,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-order-filters,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-warehouse-filters,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filters,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-ticket-filters,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-contract-filters,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-invoice-toolbar,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-settings-panel,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-settings-head,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-dashboard-card,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-stat,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-filter-shell > form,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filter-shell > form {
  background: #fff !important;
  color: #172536 !important;
  border-color: #d7e1eb !important;
  box-shadow: 0 8px 24px rgba(40,68,94,.05), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-settings-note,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-field-hint,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-tax-note {
  background: #f0f5fa !important;
  color: #5f7185 !important;
  border-color: #d6e2ec !important;
}
body.cleanex-operator-page-body.cleanex-ui-light label,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-form label {
  color: #42566b !important;
}
body.cleanex-operator-page-body.cleanex-ui-light input,
body.cleanex-operator-page-body.cleanex-ui-light select,
body.cleanex-operator-page-body.cleanex-ui-light textarea,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-form input,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-form select,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-form textarea {
  background: #fff !important;
  color: #172536 !important;
  border-color: #cbd8e4 !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light input:focus,
body.cleanex-operator-page-body.cleanex-ui-light select:focus,
body.cleanex-operator-page-body.cleanex-ui-light textarea:focus {
  border-color: #188fe8 !important;
  box-shadow: 0 0 0 3px rgba(24,143,232,.13) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light input::placeholder,
body.cleanex-operator-page-body.cleanex-ui-light textarea::placeholder {
  color: #8b9aac !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-btn:not(.cleanex-btn--ghost),
body.cleanex-operator-page-body.cleanex-ui-light button.cleanex-btn:not(.cleanex-btn--ghost) {
  background: #188fe8 !important;
  color: #fff !important;
  border-color: #188fe8 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-btn:not(.cleanex-btn--ghost):hover,
body.cleanex-operator-page-body.cleanex-ui-light button.cleanex-btn:not(.cleanex-btn--ghost):hover {
  background: #0878ce !important;
  border-color: #0878ce !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-btn--ghost,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-link-button,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-date-picker-button,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu-trigger {
  background: #f4f7fa !important;
  color: #2a455f !important;
  border-color: #cfdbe6 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-btn--ghost:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-link-button:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-date-picker-button:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu-trigger:hover {
  background: #e7f1fa !important;
  color: #0b6fb8 !important;
  border-color: #b8d5ec !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-table,
body.cleanex-operator-page-body.cleanex-ui-light table {
  color: #263b51 !important;
  background: #fff !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-table th,
body.cleanex-operator-page-body.cleanex-ui-light table th,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-warehouse-head {
  background: #e9f0f6 !important;
  color: #354b61 !important;
  border-color: #d4dfe9 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-table td,
body.cleanex-operator-page-body.cleanex-ui-light table td,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-warehouse-row-grid > span {
  background: #fff !important;
  color: #263b51 !important;
  border-color: #dde5ed !important;
}
body.cleanex-operator-page-body.cleanex-ui-light tbody tr:nth-child(even) td,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-machine-row:nth-child(even) .cleanex-warehouse-row-grid > span {
  background: #f8fafc !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-machine-row.is-open .cleanex-warehouse-row-grid > span,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-warehouse-row-grid:hover > span,
body.cleanex-operator-page-body.cleanex-ui-light tbody tr:hover td {
  background: #edf6fd !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-machine-details,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-availability-priority,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-detail-accordion,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-details-section,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-related-block {
  background: #f8fafc !important;
  border-color: #d7e1eb !important;
  color: #263b51 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filter-menu,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-filter-menu,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu,
body.cleanex-operator-page-body.cleanex-ui-light .site-user-dropdown,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-notifications-panel {
  background: #fff !important;
  color: #172536 !important;
  border-color: #cfdbe6 !important;
  box-shadow: 0 20px 50px rgba(40,66,89,.18) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filter-menu *,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-filter-menu *,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu *,
body.cleanex-operator-page-body.cleanex-ui-light .site-user-dropdown * {
  color: #263b51;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-action-menu-item:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu a:hover,
body.cleanex-operator-page-body.cleanex-ui-light .site-user-dropdown a:hover {
  background: #edf5fb !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-timeline,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-grid,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-cell,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-machine-cell {
  background: #fff !important;
  color: #263b51 !important;
  border-color: #d7e1eb !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-cell.is-booked,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-cell.is-blocking {
  background: #e2f5ef !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-cell.is-reserved {
  background: #e7f2fb !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-appearance-option {
  background: #f8fafc !important;
  border-color: #d3dfeb !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-appearance-option:has(input:checked) {
  background: #eef7ff !important;
  border-color: #86c3ef !important;
  box-shadow: 0 0 0 3px rgba(24,143,232,.1) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light code {
  color: #0b659f !important;
  background: #eaf4fb !important;
}
body.cleanex-operator-page-body.cleanex-ui-light ::-webkit-scrollbar-track {
  background: #e5ebf1 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light ::-webkit-scrollbar-thumb {
  background: #a8bacb !important;
  border-color: #e5ebf1 !important;
}
@media (max-width: 760px) {
  .cleanex-appearance-options { grid-template-columns: 1fr; }
  .cleanex-appearance-option { grid-template-columns: auto 5.8rem minmax(0, 1fr); }
  .cleanex-appearance-preview { width: 5.8rem; }
}

/* v0.9.61: kontrast tekstu i aktywnych kontrolek w jasnym panelu operatora. */
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-content strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-main strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-main strong {
  color: #172536 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-btn strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-panel-menu .is-active strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-operator-menu .is-active strong {
  color: inherit !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-subnav .cleanex-btn.is-active,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-settings-tabs .cleanex-btn.is-active {
  background: #188fe8 !important;
  color: #fff !important;
  border-color: #188fe8 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-last-update strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-last-update small,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-live-status strong,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-live-status small {
  color: #29435d !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-settings-savebar {
  background: transparent !important;
  border-color: #d7e1eb !important;
}
body.cleanex-operator-page-body.cleanex-ui-light a:not(.cleanex-btn):not(.cleanex-panel-menu a):not(.cleanex-operator-menu a) {
  color: #0b6fb8;
}


/* v0.9.63: domknięcie jasnego motywu panelu operatora — brak ciemnych wysp. */
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app,
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app > .cleanex-page-content,
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout {
  background: #edf2f7 !important;
  color: #172536 !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-panel-menu.cleanex-operator-menu,
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu.cleanex-operator-menu--links {
  background: #f7f9fc !important;
  color: #172536 !important;
  border-right: 1px solid #d7e1eb !important;
  box-shadow: 10px 0 28px rgba(40, 68, 94, .05) !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu h2 {
  color: #53697f !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu a,
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu button {
  background: transparent !important;
  color: #2b4359 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu a:hover,
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu button:hover {
  background: #e8f1f8 !important;
  color: #0b6fb8 !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu a.is-active,
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-panel-menu button.is-active {
  background: #188fe8 !important;
  color: #fff !important;
  border-color: #188fe8 !important;
  box-shadow: 0 8px 18px rgba(24, 143, 232, .2) !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-panel-main.cleanex-operator-main {
  background: #edf2f7 !important;
  color: #172536 !important;
  scrollbar-color: #a8bacb #e5ebf1 !important;
}
body.cleanex-operator-page-body.cleanex-standalone-app-body.cleanex-ui-light main.cleanex-operator-page.cleanex-standalone-app .cleanex-tab-panel {
  background: transparent !important;
  color: #172536 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger {
  background: #f4f7fa !important;
  color: #2a455f !important;
  border-color: #cfdbe6 !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger {
  background: #e7f1fa !important;
  color: #0b6fb8 !important;
  border-color: #b8d5ec !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel {
  background: #fff !important;
  color: #263b51 !important;
  border-color: #cfdbe6 !important;
  box-shadow: 0 18px 46px rgba(40, 66, 89, .18) !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel a,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel button,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-link-button {
  background: transparent !important;
  color: #263b51 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel a:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel button:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel a:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel button:focus-visible {
  background: #edf5fb !important;
  color: #0b6fb8 !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-link-button--danger {
  color: #b4233a !important;
}
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-table-scroll,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-warehouse-table,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-timeline {
  box-shadow: 0 8px 24px rgba(40, 68, 94, .05) !important;
}


/* v0.9.64: finalne dopasowanie light theme — kontrast, spójne powierzchnie i miękkie stany komponentów. */
body.cleanex-ui-light {
  --cx-light-bg: #edf2f7;
  --cx-light-surface: #ffffff;
  --cx-light-surface-soft: #f7f9fc;
  --cx-light-surface-soft-2: #eef4f9;
  --cx-light-border: #d7e1eb;
  --cx-light-border-strong: #c8d5e1;
  --cx-light-text: #172536;
  --cx-light-text-2: #263b51;
  --cx-light-muted: #64788d;
  --cx-light-muted-2: #8a9cad;
  --cx-light-accent: #188fe8;
}

body.cleanex-ui-light .cleanex-dashboard-head p:not(.cleanex-eyebrow),
body.cleanex-ui-light .cleanex-customer-hero-row p,
body.cleanex-ui-light .cleanex-section-head small,
body.cleanex-ui-light .cleanex-muted,
body.cleanex-ui-light .cleanex-empty-state,
body.cleanex-ui-light .cleanex-customer-empty-card span,
body.cleanex-ui-light .cleanex-ticket-conversation__head small,
body.cleanex-ui-light .cleanex-ticket-upload small,
body.cleanex-ui-light .cleanex-dashboard-item span,
body.cleanex-ui-light .cleanex-dashboard-item small,
body.cleanex-ui-light .cleanex-dashboard-stats .cleanex-stat span,
body.cleanex-ui-light .cleanex-check-card small,
body.cleanex-ui-light .cleanex-check-card span,
body.cleanex-ui-light .cleanex-customer-order-meta span,
body.cleanex-ui-light .cleanex-customer-quick-card small,
body.cleanex-ui-light .cleanex-customer-quick-card span,
body.cleanex-ui-light .cleanex-customer-contract-card small,
body.cleanex-ui-light .cleanex-customer-contract-card span,
body.cleanex-ui-light .cleanex-rec-card small,
body.cleanex-ui-light .cleanex-rec-card span,
body.cleanex-ui-light .cleanex-details-table span,
body.cleanex-ui-light .cleanex-order-detail-grid span,
body.cleanex-ui-light .cleanex-detail-accordion > summary small,
body.cleanex-ui-light .cleanex-calendar-machine-cell small,
body.cleanex-ui-light .cleanex-calendar-day-head small,
body.cleanex-ui-light .cleanex-ticket-chat__message header time,
body.cleanex-ui-light .cleanex-ticket-media figcaption,
body.cleanex-ui-light .cleanex-ticket-progress__steps small,
body.cleanex-ui-light .cleanex-ticket-progress__steps li,
body.cleanex-ui-light .cleanex-ticket-progress__head strong {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-dashboard-card h2,
body.cleanex-ui-light .cleanex-dashboard-item strong,
body.cleanex-ui-light .cleanex-dashboard-stats .cleanex-stat strong,
body.cleanex-ui-light .cleanex-check-card strong,
body.cleanex-ui-light .cleanex-customer-quick-card strong,
body.cleanex-ui-light .cleanex-customer-quick-card__meta b,
body.cleanex-ui-light .cleanex-customer-contract-card strong,
body.cleanex-ui-light .cleanex-rec-card strong,
body.cleanex-ui-light .cleanex-rec-card b,
body.cleanex-ui-light .cleanex-details-table strong,
body.cleanex-ui-light .cleanex-order-detail-grid strong,
body.cleanex-ui-light .cleanex-ticket-conversation__head h2,
body.cleanex-ui-light .cleanex-ticket-chat__message header strong,
body.cleanex-ui-light .cleanex-ticket-chat__body p,
body.cleanex-ui-light .cleanex-detail-accordion > summary strong,
body.cleanex-ui-light .cleanex-calendar-machine-cell strong,
body.cleanex-ui-light .cleanex-calendar-day-head strong,
body.cleanex-ui-light .cleanex-ticket-progress__steps strong,
body.cleanex-ui-light .cleanex-order-details summary,
body.cleanex-ui-light .cleanex-parents-fieldset legend,
body.cleanex-ui-light .cleanex-details-section > strong,
body.cleanex-ui-light .cleanex-machine-specs > strong {
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-stat,
body.cleanex-ui-light .cleanex-dashboard-card,
body.cleanex-ui-light .cleanex-client-stats .cleanex-stat,
body.cleanex-ui-light .cleanex-dashboard-item,
body.cleanex-ui-light .cleanex-check-card,
body.cleanex-ui-light .cleanex-customer-empty-card,
body.cleanex-ui-light .cleanex-customer-recommendations,
body.cleanex-ui-light .cleanex-customer-mini-grid > section,
body.cleanex-ui-light .cleanex-customer-order-detail,
body.cleanex-ui-light .cleanex-customer-stack > section,
body.cleanex-ui-light .cleanex-customer-contract-list,
body.cleanex-ui-light .cleanex-customer-settings-form,
body.cleanex-ui-light .cleanex-customer-ticket-form,
body.cleanex-ui-light .cleanex-customer-settings-block,
body.cleanex-ui-light .cleanex-address-row,
body.cleanex-ui-light .cleanex-ticket-issue-options--cards label,
body.cleanex-ui-light .cleanex-ticket-progress,
body.cleanex-ui-light .cleanex-ticket-conversation,
body.cleanex-ui-light .cleanex-ticket-media,
body.cleanex-ui-light .cleanex-edit-product-form,
body.cleanex-ui-light .cleanex-parents-fieldset,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details,
body.cleanex-ui-light .cleanex-details-section,
body.cleanex-ui-light .cleanex-detail-accordion,
body.cleanex-ui-light .cleanex-order-detail-grid > div,
body.cleanex-ui-light .cleanex-customer-order-meta > div,
body.cleanex-ui-light .cleanex-rec-card,
body.cleanex-ui-light .cleanex-customer-quick-card,
body.cleanex-ui-light .cleanex-customer-contract-card {
  background: var(--cx-light-surface) !important;
  border-color: var(--cx-light-border) !important;
  color: var(--cx-light-text-2) !important;
  box-shadow: 0 8px 24px rgba(40, 68, 94, .05) !important;
}

body.cleanex-ui-light .cleanex-dashboard-item:hover,
body.cleanex-ui-light .cleanex-dashboard-stats a.cleanex-stat:hover,
body.cleanex-ui-light .cleanex-check-card:hover,
body.cleanex-ui-light .cleanex-detail-accordion > summary:hover,
body.cleanex-ui-light .cleanex-detail-accordion > summary:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel a:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel a:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel button:focus-visible {
  background: var(--cx-light-surface-soft-2) !important;
}

body.cleanex-ui-light .cleanex-dashboard-item:hover,
body.cleanex-ui-light .cleanex-dashboard-stats a.cleanex-stat:hover,
body.cleanex-ui-light .cleanex-check-card:hover {
  border-color: #b7d3e8 !important;
}

body.cleanex-ui-light .cleanex-calendar-legend span,
body.cleanex-ui-light .cleanex-status-pill,
body.cleanex-ui-light .cleanex-payment-pill,
body.cleanex-ui-light .cleanex-ticket-priority {
  background: #f4f8fc !important;
  border-color: #d3e0ea !important;
  color: var(--cx-light-text-2) !important;
}

body.cleanex-ui-light .cleanex-status-pill,
body.cleanex-ui-light .cleanex-payment-pill,
body.cleanex-ui-light .cleanex-ticket-priority,
body.cleanex-ui-light .cleanex-calendar-legend span {
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-payment-pill.is-paid,
body.cleanex-ui-light .cleanex-ticket-priority--normal,
body.cleanex-ui-light .cleanex-calendar-legend .is-active,
body.cleanex-ui-light .cleanex-calendar-cell.is-active {
  background: #eaf8f1 !important;
  border-color: #bce5cf !important;
  color: #1f6b4f !important;
}

body.cleanex-ui-light .cleanex-payment-pill.is-pending,
body.cleanex-ui-light .cleanex-ticket-priority--high,
body.cleanex-ui-light .cleanex-ticket-priority--service,
body.cleanex-ui-light .cleanex-calendar-legend .is-pending,
body.cleanex-ui-light .cleanex-calendar-cell.is-soft {
  background: #fff7e8 !important;
  border-color: #efd8a0 !important;
  color: #8b5c12 !important;
}

body.cleanex-ui-light .cleanex-payment-pill.is-unpaid,
body.cleanex-ui-light .cleanex-ticket-priority--critical,
body.cleanex-ui-light .cleanex-calendar-legend .is-service,
body.cleanex-ui-light .cleanex-calendar-cell.is-service {
  background: #fff0ef !important;
  border-color: #efc3bf !important;
  color: #9a3f37 !important;
}

body.cleanex-ui-light .cleanex-ticket-priority--low,
body.cleanex-ui-light .cleanex-calendar-legend .is-completed,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed {
  background: #f2f5f8 !important;
  border-color: #d6dee7 !important;
  color: #5c6f82 !important;
}

body.cleanex-ui-light .cleanex-calendar-legend .is-reserved,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking,
body.cleanex-ui-light .cleanex-status-pill,
body.cleanex-ui-light .cleanex-ticket-priority {
  background: #edf6fd !important;
  border-color: #bed9ec !important;
  color: #215e8d !important;
}

body.cleanex-ui-light .cleanex-calendar-row--head,
body.cleanex-ui-light .cleanex-calendar-head {
  background: transparent !important;
}

body.cleanex-ui-light .cleanex-calendar-machine-cell,
body.cleanex-ui-light .cleanex-calendar-day-head {
  background: #eef4f9 !important;
  border-color: var(--cx-light-border) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell {
  background: #ffffff !important;
  border-color: #e0e7ef !important;
}

body.cleanex-ui-light .cleanex-calendar-cell span,
body.cleanex-ui-light .cleanex-calendar-cell small {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-free span,
body.cleanex-ui-light .cleanex-calendar-cell.is-free small {
  color: #8ea0b2 !important;
}

body.cleanex-ui-light .cleanex-orders-table--details,
body.cleanex-ui-light .cleanex-order-details-row td,
body.cleanex-ui-light .cleanex-order-detail-grid,
body.cleanex-ui-light .cleanex-details-table {
  background: #edf3f8 !important;
  border-color: var(--cx-light-border) !important;
}

body.cleanex-ui-light .cleanex-orders-table--details th {
  background: #edf4fa !important;
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-orders-table--details .cleanex-order-row td,
body.cleanex-ui-light .cleanex-details-table div {
  background: #ffffff !important;
}

body.cleanex-ui-light .cleanex-orders-table--details th + th,
body.cleanex-ui-light .cleanex-orders-table--details td + td,
body.cleanex-ui-light .cleanex-details-table div,
body.cleanex-ui-light .cleanex-detail-accordion__body,
body.cleanex-ui-light .cleanex-ticket-reply,
body.cleanex-ui-light .cleanex-ticket-progress,
body.cleanex-ui-light .cleanex-ticket-conversation,
body.cleanex-ui-light .cleanex-customer-order-meta,
body.cleanex-ui-light .cleanex-detail-accordion,
body.cleanex-ui-light .cleanex-check-card {
  border-color: var(--cx-light-border) !important;
}

body.cleanex-ui-light .cleanex-detail-accordion[open] {
  background: #fcfdff !important;
  border-color: #c8d8e5 !important;
}

body.cleanex-ui-light .cleanex-detail-accordion > summary::after {
  border-color: #bfdae9 !important;
  background: #eef6fc !important;
  color: #0b6fb8 !important;
}

body.cleanex-ui-light .cleanex-detail-accordion[open] > summary::after {
  background: #188fe8 !important;
  border-color: #188fe8 !important;
  color: #fff !important;
}

body.cleanex-ui-light .cleanex-ticket-progress__head span,
body.cleanex-ui-light .cleanex-ticket-conversation__head span {
  color: #0b6fb8 !important;
}

body.cleanex-ui-light .cleanex-ticket-progress__steps i {
  background: #f0f5fa !important;
  border-color: #c8d8e5 !important;
  color: #52687d !important;
}

body.cleanex-ui-light .cleanex-ticket-progress__steps li.is-done,
body.cleanex-ui-light .cleanex-ticket-progress__steps li.is-current {
  color: #0b6fb8 !important;
}

body.cleanex-ui-light .cleanex-ticket-progress__steps li.is-current i {
  background: #188fe8 !important;
  border-color: #188fe8 !important;
  color: #fff !important;
}

body.cleanex-ui-light .cleanex-ticket-chat__message {
  background: #f7fafc !important;
  border-color: #d7e3ec !important;
}

body.cleanex-ui-light .cleanex-ticket-chat__message.is-customer {
  background: #eaf4fd !important;
  border-color: #c7ddef !important;
}

body.cleanex-ui-light .cleanex-ticket-chat__message.is-system {
  background: #f0f7fd !important;
  border-color: #bcd6e9 !important;
}

body.cleanex-ui-light .cleanex-ticket-reply label,
body.cleanex-ui-light .cleanex-cart-summary label {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-ticket-reply textarea,
body.cleanex-ui-light .cleanex-ticket-reply input[type=file] {
  background: #fff !important;
  color: var(--cx-light-text) !important;
  border-color: #ccd8e4 !important;
}

body.cleanex-ui-light .cleanex-customer-order-meta,
body.cleanex-ui-light .cleanex-cart-summary {
  background: #edf3f8 !important;
  border-color: var(--cx-light-border) !important;
}

body.cleanex-ui-light .cleanex-cart-summary > span {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-cart-summary > strong {
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-customer-page .cleanex-global-header:not(.cleanex-system-header),
body.cleanex-ui-light .cleanex-customer-page .cleanex-page-content,
body.cleanex-ui-light .cleanex-customer-page {
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-ticket-issue-options--cards label,
body.cleanex-ui-light .cleanex-address-row,
body.cleanex-ui-light .cleanex-rec-card,
body.cleanex-ui-light .cleanex-customer-quick-card,
body.cleanex-ui-light .cleanex-customer-contract-card {
  background: var(--cx-light-surface-soft) !important;
}


/* v0.9.65: light theme — poprawki kontrastu dla menu akcji, umów, faktur, kalendarza, magazynu i ustawień powiadomień. */
body.cleanex-ui-light .cleanex-actions-menu-host.cleanex-row-actions,
body.cleanex-ui-light .cleanex-actions-menu-host.cleanex-inline-actions,
body.cleanex-ui-light .cleanex-actions-menu-host.cxcp-order-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.cleanex-ui-light .cleanex-actions-menu__trigger,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.55rem !important;
  min-width: 2.55rem !important;
  height: 2.55rem !important;
  padding: 0 !important;
  border: 1px solid #c8d7e4 !important;
  border-radius: .82rem !important;
  background: linear-gradient(180deg, #fbfdff, #eef4f9) !important;
  color: #37506a !important;
  box-shadow: 0 6px 16px rgba(32, 59, 86, .06) !important;
}

body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__trigger.is-active,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger:hover,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger:focus-visible,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger.is-active {
  border-color: #8cbde2 !important;
  background: #eaf4fd !important;
  color: #0f6fae !important;
  transform: translateY(-1px);
}

body.cleanex-ui-light .cleanex-actions-menu__trigger svg,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger svg {
  width: 1rem !important;
  height: 1rem !important;
  fill: currentColor !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel,
body.cleanex-ui-light .cleanex-calendar-filter-menu {
  border-color: #d2dfeb !important;
  background: #ffffff !important;
  color: var(--cx-light-text) !important;
  box-shadow: 0 18px 42px rgba(31, 57, 82, .16) !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel a,
body.cleanex-ui-light .cleanex-actions-menu__panel button,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 2.5rem !important;
  padding: .68rem .88rem !important;
  border: 0 !important;
  border-radius: .78rem !important;
  background: transparent !important;
  color: var(--cx-light-text) !important;
  text-align: left !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel a:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel a:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel button:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:focus-visible {
  background: var(--cx-light-surface-soft-2) !important;
  color: #0c5f9a !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__label,
body.cleanex-ui-light .cleanex-calendar-filter-menu__hint,
body.cleanex-ui-light .cleanex-calendar-filter-menu__notice,
body.cleanex-ui-light .cleanex-calendar-filter-menu__head small,
body.cleanex-ui-light .cleanex-calendar-filter-menu__field {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-calendar-filter-menu__field input,
body.cleanex-ui-light .cleanex-calendar-filter-menu__field select {
  border-color: #ccd9e5 !important;
  background: #ffffff !important;
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-contract-toolbar span,
body.cleanex-ui-light .cleanex-contract-toolbar small,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-summary-note,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-workspace-card .cleanex-muted {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-link-dashboard > div,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-workspace-card,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-workspace-card.cleanex-card {
  background: var(--cx-light-surface) !important;
  border-color: var(--cx-light-border) !important;
  box-shadow: 0 8px 24px rgba(40, 68, 94, .05) !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-link-dashboard span,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-machine-list span,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-ticket-list span,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-history span {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-link-dashboard strong,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-machine-list strong,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-ticket-list strong,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-history strong,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-workspace-card h2,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-workspace-card h3 {
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-machine-list article,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-ticket-list a,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-history > div {
  background: var(--cx-light-surface-soft) !important;
  border-color: #d7e2ec !important;
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-machine-list small,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-ticket-list small,
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-history time {
  color: #5f7891 !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-payment-status.is-paid {
  color: #1f6b4f !important;
  background: #eaf8f1 !important;
}
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-payment-status.is-overdue {
  color: #8b5c12 !important;
  background: #fff5e6 !important;
}
body.cleanex-ui-light .cleanex-operator-main .cleanex-contract-payment-status.is-upcoming {
  color: #215e8d !important;
  background: #edf6fd !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-invoice-results-summary span {
  background: var(--cx-light-surface-soft) !important;
  border-color: var(--cx-light-border) !important;
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-operator-main .cleanex-invoice-results-summary strong {
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-order-status-form label,
body.cleanex-ui-light .cleanex-order-quick-grid label span,
body.cleanex-ui-light .cleanex-ticket-quick-grid label span,
body.cleanex-ui-light .cleanex-order-status-cell label,
body.cleanex-ui-light .cleanex-ticket-status-cell label {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-inline-status-select,
body.cleanex-ui-light .cleanex-order-status-form select,
body.cleanex-ui-light .cleanex-order-quick-grid select,
body.cleanex-ui-light .cleanex-ticket-quick-grid select,
body.cleanex-ui-light .cleanex-ticket-status-cell select,
body.cleanex-ui-light .cleanex-order-status-cell select {
  background: #ffffff !important;
  color: var(--cx-light-text) !important;
  border-color: #ccd8e4 !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-order-quick-grid .cleanex-btn--small,
body.cleanex-ui-light .cleanex-ticket-quick-grid .cleanex-btn--small,
body.cleanex-ui-light .cleanex-order-status-form .cleanex-btn--small {
  box-shadow: none !important;
}

body.cleanex-operator-page-body.cleanex-ui-light .cleanex-calendar-filters,
body.cleanex-ui-light .cleanex-calendar-filters {
  grid-template-columns: 110px 150px minmax(160px,.8fr) minmax(180px,1fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(260px,1.22fr) auto !important;
}

body.cleanex-ui-light .cleanex-calendar-filters label:nth-child(7),
body.cleanex-ui-light .cleanex-calendar-filters label:nth-child(4) {
  min-width: 0 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table {
  background: #ffffff !important;
  border-color: var(--cx-light-border) !important;
  box-shadow: 0 8px 24px rgba(40, 68, 94, .05) !important;
}

body.cleanex-ui-light .cleanex-warehouse-head {
  background: #eef4f9 !important;
  border-bottom-color: var(--cx-light-border) !important;
}

body.cleanex-ui-light .cleanex-warehouse-head span {
  color: var(--cx-light-text-2) !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row:nth-child(odd) > .cleanex-warehouse-row-grid > span {
  background: #ffffff !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row:nth-child(even) > .cleanex-warehouse-row-grid > span {
  background: #f7fbff !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span {
  border-left-color: #dbe5ee !important;
  border-bottom-color: #dbe5ee !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row.is-open > .cleanex-warehouse-row-grid > span,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid:hover > span {
  background: #edf6fd !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-title strong,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span strong,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span strong {
  color: var(--cx-light-text) !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-title em,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span em,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span em,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row .cleanex-warehouse-row-grid > span small,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-row > .cleanex-warehouse-row-grid > span small {
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details {
  background: #ffffff !important;
  border-top-color: var(--cx-light-border) !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-row-actions .cleanex-link-button,
body.cleanex-ui-light .cleanex-warehouse-table [data-relations-toggle] {
  border-color: #cfe0ec !important;
  background: #f4f8fc !important;
  color: #204f78 !important;
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-notification-toggle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .8rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border: 1px solid var(--cx-light-border);
  border-radius: 1rem;
  background: var(--cx-light-surface-soft-2) !important;
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-notification-toggle input {
  margin-top: .18rem;
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--cx-light-accent);
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-notification-toggle strong {
  display: block;
  color: var(--cx-light-text) !important;
  font-size: .92rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-notification-toggle small {
  display: block;
  margin-top: .22rem;
  color: var(--cx-light-muted) !important;
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-notification-sound-row label {
  color: var(--cx-light-text-2) !important;
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-notification-sound-row select {
  background: #ffffff !important;
  color: var(--cx-light-text) !important;
  border-color: #ccd8e4 !important;
}

body.cleanex-ui-light .cleanex-notification-preferences .cleanex-settings-note {
  background: #f8fbfd !important;
  border-color: #dbe7f0 !important;
  color: var(--cx-light-muted) !important;
}


/* v0.9.66: light theme — transparentne triggery menu akcji + pełna szerokość pozycji + system ról typografii. */
body.cleanex-ui-light {
  --cx-role-heading: #172536;
  --cx-role-body: #263b51;
  --cx-role-muted: #64788d;
  --cx-role-label: #50667d;
  --cx-role-heading-on-dark: #f4f8fc;
  --cx-role-body-on-dark: #dbe7f2;
  --cx-role-muted-on-dark: #adc0d1;
}

body.cleanex-ui-light .cx-heading,
body.cleanex-ui-light .cleanex-type-heading,
body.cleanex-ui-light .cleanex-text-heading {
  color: var(--cx-role-heading) !important;
}

body.cleanex-ui-light .cx-body,
body.cleanex-ui-light .cleanex-type-body,
body.cleanex-ui-light .cleanex-text-body {
  color: var(--cx-role-body) !important;
}

body.cleanex-ui-light .cx-muted,
body.cleanex-ui-light .cleanex-type-muted,
body.cleanex-ui-light .cleanex-text-muted {
  color: var(--cx-role-muted) !important;
}

body.cleanex-ui-light .cx-label,
body.cleanex-ui-light .cleanex-type-label,
body.cleanex-ui-light .cleanex-text-label {
  color: var(--cx-role-label) !important;
}

body.cleanex-ui-light .cx-on-dark .cx-heading,
body.cleanex-ui-light .cx-surface-dark .cx-heading,
body.cleanex-ui-light .cleanex-tone-dark .cx-heading,
body.cleanex-ui-light .cx-on-dark .cleanex-type-heading,
body.cleanex-ui-light .cx-surface-dark .cleanex-type-heading,
body.cleanex-ui-light .cleanex-tone-dark .cleanex-type-heading {
  color: var(--cx-role-heading-on-dark) !important;
}

body.cleanex-ui-light .cx-on-dark .cx-body,
body.cleanex-ui-light .cx-surface-dark .cx-body,
body.cleanex-ui-light .cleanex-tone-dark .cx-body,
body.cleanex-ui-light .cx-on-dark .cleanex-type-body,
body.cleanex-ui-light .cx-surface-dark .cleanex-type-body,
body.cleanex-ui-light .cleanex-tone-dark .cleanex-type-body {
  color: var(--cx-role-body-on-dark) !important;
}

body.cleanex-ui-light .cx-on-dark .cx-muted,
body.cleanex-ui-light .cx-surface-dark .cx-muted,
body.cleanex-ui-light .cleanex-tone-dark .cx-muted,
body.cleanex-ui-light .cx-on-dark .cleanex-type-muted,
body.cleanex-ui-light .cx-surface-dark .cleanex-type-muted,
body.cleanex-ui-light .cleanex-tone-dark .cleanex-type-muted {
  color: var(--cx-role-muted-on-dark) !important;
}

body.cleanex-ui-light .cleanex-card h1,
body.cleanex-ui-light .cleanex-card h2,
body.cleanex-ui-light .cleanex-card h3,
body.cleanex-ui-light .cleanex-card h4,
body.cleanex-ui-light .cleanex-panel-shell h1,
body.cleanex-ui-light .cleanex-panel-shell h2,
body.cleanex-ui-light .cleanex-panel-shell h3,
body.cleanex-ui-light .cleanex-section-head h2,
body.cleanex-ui-light .cleanex-section-head h3,
body.cleanex-ui-light .cleanex-dashboard-head h1,
body.cleanex-ui-light .cleanex-dashboard-head h2 {
  color: var(--cx-role-heading) !important;
}

body.cleanex-ui-light .cleanex-card p,
body.cleanex-ui-light .cleanex-card li,
body.cleanex-ui-light .cleanex-panel-shell p,
body.cleanex-ui-light .cleanex-panel-shell li,
body.cleanex-ui-light .cleanex-section-head p,
body.cleanex-ui-light .cleanex-page-shell p {
  color: var(--cx-role-body);
}

body.cleanex-ui-light .cleanex-card small,
body.cleanex-ui-light .cleanex-card label,
body.cleanex-ui-light .cleanex-panel-shell small,
body.cleanex-ui-light .cleanex-panel-shell label,
body.cleanex-ui-light .cleanex-section-head small,
body.cleanex-ui-light .cleanex-page-shell .cleanex-muted {
  color: var(--cx-role-muted) !important;
}

body.cleanex-ui-light .cleanex-actions-menu__trigger,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger {
  width: 2.1rem !important;
  min-width: 2.1rem !important;
  height: 2.1rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #3d5872 !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger:hover,
body.cleanex-ui-light .cleanex-calendar-filter-menu-trigger:focus-visible,
body.cleanex-ui-light .cleanex-calendar-filter-menu.is-open .cleanex-calendar-filter-menu-trigger {
  background: rgba(24, 143, 232, .1) !important;
  color: #126ea8 !important;
  transform: none !important;
  outline: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel,
body.cleanex-ui-light .cleanex-calendar-filter-menu {
  padding: .35rem !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel > a,
body.cleanex-ui-light .cleanex-actions-menu__panel > button,
body.cleanex-ui-light .cleanex-actions-menu__panel > form,
body.cleanex-ui-light .cleanex-actions-menu__panel > div,
body.cleanex-ui-light .cleanex-actions-menu__panel > span,
body.cleanex-ui-light .cleanex-actions-menu__panel > form > button,
body.cleanex-ui-light .cleanex-actions-menu__panel > form > .cleanex-btn,
body.cleanex-ui-light .cleanex-actions-menu__panel > form > .cleanex-link-button,
body.cleanex-ui-light .cleanex-actions-menu__panel > div > a,
body.cleanex-ui-light .cleanex-actions-menu__panel > div > button,
body.cleanex-ui-light .cleanex-actions-menu__panel > div > .cleanex-btn,
body.cleanex-ui-light .cleanex-actions-menu__panel > div > .cleanex-link-button,
body.cleanex-ui-light .cleanex-actions-menu__panel > span > a,
body.cleanex-ui-light .cleanex-actions-menu__panel > span > button,
body.cleanex-ui-light .cleanex-actions-menu__panel > span > .cleanex-btn,
body.cleanex-ui-light .cleanex-actions-menu__panel > span > .cleanex-link-button {
  width: 100% !important;
  min-width: 100% !important;
  margin: 0 !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel a,
body.cleanex-ui-light .cleanex-actions-menu__panel button,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-link-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 100% !important;
  min-height: 2.65rem !important;
  padding: .76rem .92rem !important;
  border: 0 !important;
  border-radius: .78rem !important;
  background: transparent !important;
  color: var(--cx-role-heading) !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel a:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-link-button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel a:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel button:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-link-button:focus-visible {
  background: #edf4fa !important;
  color: #0f6ca8 !important;
  outline: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__label,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-document-pending,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-unit-action-note {
  color: var(--cx-role-muted) !important;
}


/* v0.9.67: global semantic typography and contrast system for operator/customer panels. */
.cleanex-operator-layout,
.cxcp-shell,
.cleanex-actions-menu__panel,
.cleanex-calendar-filter-menu {
  --cx-role-heading: #f4f8fc;
  --cx-role-body: #dbe7f2;
  --cx-role-muted: #adc0d1;
  --cx-role-label: #93aac0;
  --cx-role-link: #79c0ff;
}

body.cleanex-ui-light .cleanex-operator-layout,
body.cleanex-ui-light .cxcp-shell,
body.cleanex-ui-light .cleanex-actions-menu__panel,
body.cleanex-ui-light .cleanex-calendar-filter-menu,
.cx-surface-light {
  --cx-role-heading: #172536;
  --cx-role-body: #263b51;
  --cx-role-muted: #64788d;
  --cx-role-label: #50667d;
  --cx-role-link: #0b6fb8;
}

.cx-surface-dark,
.cx-on-dark {
  --cx-role-heading: #f4f8fc;
  --cx-role-body: #dbe7f2;
  --cx-role-muted: #adc0d1;
  --cx-role-label: #93aac0;
  --cx-role-link: #79c0ff;
}

.cleanex-operator-layout .cx-heading,
.cxcp-shell .cx-heading,
.cleanex-actions-menu__panel .cx-heading,
.cleanex-calendar-filter-menu .cx-heading {
  color: var(--cx-role-heading) !important;
}

.cleanex-operator-layout .cx-body,
.cxcp-shell .cx-body,
.cleanex-actions-menu__panel .cx-body,
.cleanex-calendar-filter-menu .cx-body {
  color: var(--cx-role-body) !important;
}

.cleanex-operator-layout .cx-muted,
.cxcp-shell .cx-muted,
.cleanex-actions-menu__panel .cx-muted,
.cleanex-calendar-filter-menu .cx-muted {
  color: var(--cx-role-muted) !important;
}

.cleanex-operator-layout .cx-label,
.cxcp-shell .cx-label,
.cleanex-actions-menu__panel .cx-label,
.cleanex-calendar-filter-menu .cx-label {
  color: var(--cx-role-label) !important;
}

.cleanex-operator-layout .cx-body a:not(.cleanex-btn),
.cleanex-operator-layout .cx-muted a:not(.cleanex-btn),
.cxcp-shell .cx-body a:not(.cleanex-btn),
.cxcp-shell .cx-muted a:not(.cleanex-btn) {
  color: var(--cx-role-link) !important;
}

/* Action trigger is only the dots — no square/capsule background in either theme. */
.cleanex-actions-menu__trigger {
  width: 1.9rem !important;
  min-width: 1.9rem !important;
  height: 1.9rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--cx-role-muted, rgba(235,246,255,.82)) !important;
}

.cleanex-actions-menu__trigger:hover,
.cleanex-actions-menu__trigger:focus-visible,
.cleanex-actions-menu.is-open .cleanex-actions-menu__trigger {
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(38, 152, 255, .11) !important;
  color: var(--cx-role-link, #79c0ff) !important;
  box-shadow: none !important;
  transform: none !important;
}

.cleanex-actions-menu__trigger svg {
  width: 1rem !important;
  height: 1rem !important;
}

.cleanex-actions-menu__panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: .22rem !important;
}

.cleanex-actions-menu__slot {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cleanex-actions-menu__slot > *,
.cleanex-actions-menu__slot form,
.cleanex-actions-menu__slot form > *,
.cleanex-actions-menu__item {
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.cleanex-actions-menu__item,
.cleanex-actions-menu__slot a,
.cleanex-actions-menu__slot button,
.cleanex-actions-menu__slot .cleanex-btn,
.cleanex-actions-menu__slot .cleanex-link-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 2.65rem !important;
  padding: .72rem .9rem !important;
  border: 0 !important;
  border-radius: .72rem !important;
  background: transparent !important;
  color: var(--cx-role-heading) !important;
  text-align: left !important;
  box-shadow: none !important;
}

.cleanex-actions-menu__item:hover,
.cleanex-actions-menu__item:focus-visible,
.cleanex-actions-menu__slot a:hover,
.cleanex-actions-menu__slot button:hover,
.cleanex-actions-menu__slot .cleanex-btn:hover,
.cleanex-actions-menu__slot .cleanex-link-button:hover {
  background: rgba(38, 152, 255, .11) !important;
  color: var(--cx-role-link) !important;
}

body.cleanex-ui-light .cleanex-actions-menu__item:hover,
body.cleanex-ui-light .cleanex-actions-menu__item:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__slot a:hover,
body.cleanex-ui-light .cleanex-actions-menu__slot button:hover,
body.cleanex-ui-light .cleanex-actions-menu__slot .cleanex-btn:hover,
body.cleanex-ui-light .cleanex-actions-menu__slot .cleanex-link-button:hover {
  background: #edf4fa !important;
}

/* Explicit light/dark surface helpers for components added later. */
.cleanex-tone-light,
.cx-surface-light {
  background-color: #ffffff;
  color: #263b51;
}

.cleanex-tone-dark,
.cx-surface-dark {
  color: #dbe7f2;
}

/* v0.9.67 specificity guard: the transparent dots and full-width menu items win over older light-theme rules. */
body.cleanex-ui-light .cleanex-actions-menu__trigger,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger {
  width: 1.9rem !important;
  min-width: 1.9rem !important;
  height: 1.9rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #3d5872 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger {
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(24, 143, 232, .10) !important;
  color: #0f6ca8 !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot > *,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot form,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot form > *,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item {
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 100% !important;
  padding: .72rem .9rem !important;
  background: transparent !important;
  color: var(--cx-role-heading) !important;
  text-align: left !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button:hover {
  background: #edf4fa !important;
  color: #0f6ca8 !important;
}


/* v0.9.68: deep light-theme cleanup for integrations, calendar, warehouse and detail pages. */
body.cleanex-ui-light .cleanex-system-detail-page,
body.cleanex-order-details-page-body.cleanex-ui-light,
body.cleanex-operator-page-body.cleanex-ui-light {
  background: #edf2f7 !important;
  color: #172536 !important;
}

body.cleanex-ui-light .cleanex-system-detail-page {
  background: radial-gradient(circle at 70% 0%, rgba(24, 143, 232, 0.08), transparent 34%), #edf2f7 !important;
}

body.cleanex-ui-light .cleanex-system-detail-page .cleanex-page-content,
body.cleanex-ui-light .cleanex-order-page,
body.cleanex-ui-light .cleanex-detail-page-card {
  background: transparent !important;
  color: #172536 !important;
}

body.cleanex-ui-light .cleanex-order-page-stats > div,
body.cleanex-ui-light .cleanex-order-status-form,
body.cleanex-ui-light .cleanex-ticket-status-form,
body.cleanex-ui-light .cleanex-ticket-issue-fieldset,
body.cleanex-ui-light .cleanex-ticket-progress,
body.cleanex-ui-light .cleanex-ticket-conversation,
body.cleanex-ui-light .cleanex-ticket-chat__message,
body.cleanex-ui-light .cleanex-ticket-file,
body.cleanex-ui-light .cleanex-details-table > div,
body.cleanex-ui-light .cleanex-order-detail-grid > div,
body.cleanex-ui-light .cleanex-contract-link-dashboard > div,
body.cleanex-ui-light .cleanex-contract-machine-list article,
body.cleanex-ui-light .cleanex-contract-history > div,
body.cleanex-ui-light .cleanex-customer-quick-card,
body.cleanex-ui-light .cleanex-customer-contract-card,
body.cleanex-ui-light .cleanex-customer-order-meta > div,
body.cleanex-ui-light .cleanex-bulk-actions {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  color: #172536 !important;
  border: 1px solid #d7e1eb !important;
  box-shadow: 0 8px 24px rgba(40,68,94,.05), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.cleanex-ui-light .cleanex-order-page-head h1,
body.cleanex-ui-light .cleanex-order-page h2,
body.cleanex-ui-light .cleanex-order-page h3,
body.cleanex-ui-light .cleanex-ticket-files-block h3,
body.cleanex-ui-light .cleanex-ticket-issue-fieldset legend,
body.cleanex-ui-light .cleanex-order-page-stats strong,
body.cleanex-ui-light .cleanex-bulk-actions span,
body.cleanex-ui-light .cleanex-ticket-files-list strong,
body.cleanex-ui-light .cleanex-ticket-issues-list span,
body.cleanex-ui-light .cleanex-ticket-issue-options label,
body.cleanex-ui-light .cleanex-machine-details strong,
body.cleanex-ui-light .cleanex-machine-details h3,
body.cleanex-ui-light .cleanex-machine-details h4 {
  color: #172536 !important;
}

body.cleanex-ui-light .cleanex-order-page-head p,
body.cleanex-ui-light .cleanex-order-page-stats span,
body.cleanex-ui-light .cleanex-order-status-form label,
body.cleanex-ui-light .cleanex-ticket-status-form label,
body.cleanex-ui-light .cleanex-ticket-status-form label span,
body.cleanex-ui-light .cleanex-bulk-actions small,
body.cleanex-ui-light .cleanex-machine-details p,
body.cleanex-ui-light .cleanex-machine-details li,
body.cleanex-ui-light .cleanex-machine-details small,
body.cleanex-ui-light .cleanex-machine-details .cleanex-muted,
body.cleanex-ui-light .cleanex-ticket-file small,
body.cleanex-ui-light .cleanex-ticket-file span,
body.cleanex-ui-light .cleanex-ticket-progress small,
body.cleanex-ui-light .cleanex-ticket-progress span,
body.cleanex-ui-light .cleanex-ticket-conversation small,
body.cleanex-ui-light .cleanex-order-detail-grid small,
body.cleanex-ui-light .cleanex-details-table small {
  color: #607488 !important;
}

body.cleanex-ui-light .cleanex-bulk-actions button:disabled {
  opacity: 1 !important;
  background: #e8eef4 !important;
  color: #8395a7 !important;
  border-color: #d5e0ea !important;
}

body.cleanex-ui-light .cleanex-settings-integration-block,
body.cleanex-ui-light .cleanex-notification-preferences .cleanex-settings-note {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%) !important;
  color: #172536 !important;
  border-color: #d7e1eb !important;
  box-shadow: 0 8px 24px rgba(40,68,94,.05), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.cleanex-ui-light .cleanex-settings-integration-block h3,
body.cleanex-ui-light .cleanex-settings-integration-block strong,
body.cleanex-ui-light .cleanex-settings-integration-block .cx-heading,
body.cleanex-ui-light .cleanex-check-card span {
  color: #172536 !important;
}

body.cleanex-ui-light .cleanex-settings-integration-block p,
body.cleanex-ui-light .cleanex-settings-integration-block small,
body.cleanex-ui-light .cleanex-settings-integration-block .cleanex-muted,
body.cleanex-ui-light .cleanex-settings-subtitle,
body.cleanex-ui-light .cleanex-settings-note,
body.cleanex-ui-light .cleanex-settings-note p,
body.cleanex-ui-light .cleanex-check-card small {
  color: #607488 !important;
}

body.cleanex-ui-light .cleanex-check-card {
  background: #f5f9fc !important;
  border-color: #d8e2ec !important;
}

body.cleanex-ui-light .cleanex-calendar-machine-cell,
body.cleanex-ui-light .cleanex-calendar-day-head {
  background: #eef4f9 !important;
  border-color: #d8e2ec !important;
  color: #29435d !important;
}

body.cleanex-ui-light .cleanex-calendar-machine-cell strong,
body.cleanex-ui-light .cleanex-calendar-day-head strong,
body.cleanex-ui-light .cleanex-calendar-machine-cell span,
body.cleanex-ui-light .cleanex-calendar-day-head span {
  color: #29435d !important;
}

body.cleanex-ui-light .cleanex-calendar-legend span {
  border-width: 1px !important;
  font-weight: 800 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell {
  background: #ffffff !important;
  border-color: #dfe7ef !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell:hover {
  background: #f4f9fe !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-active,
body.cleanex-ui-light .cleanex-calendar-cell.is-booked,
body.cleanex-ui-light .cleanex-calendar-legend .is-active {
  background: #def6ea !important;
  border-color: #8fd7b1 !important;
  box-shadow: inset 4px 0 0 #25a769 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-soft,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending,
body.cleanex-ui-light .cleanex-calendar-legend .is-pending {
  background: #fff2d8 !important;
  border-color: #efc16a !important;
  box-shadow: inset 4px 0 0 #d08a06 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-service,
body.cleanex-ui-light .cleanex-calendar-legend .is-service {
  background: #fee4e2 !important;
  border-color: #f3a9a4 !important;
  box-shadow: inset 4px 0 0 #d14d41 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-completed,
body.cleanex-ui-light .cleanex-calendar-legend .is-completed {
  background: #eef3f7 !important;
  border-color: #cfdbe5 !important;
  box-shadow: inset 4px 0 0 #7f94a8 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-reserved,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking,
body.cleanex-ui-light .cleanex-calendar-legend .is-reserved {
  background: #e3f1ff !important;
  border-color: #9bc9ee !important;
  box-shadow: inset 4px 0 0 #188fe8 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-active span,
body.cleanex-ui-light .cleanex-calendar-cell.is-active small,
body.cleanex-ui-light .cleanex-calendar-cell.is-booked span,
body.cleanex-ui-light .cleanex-calendar-cell.is-booked small,
body.cleanex-ui-light .cleanex-calendar-legend .is-active {
  color: #1d6b4e !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-soft span,
body.cleanex-ui-light .cleanex-calendar-cell.is-soft small,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending span,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending small,
body.cleanex-ui-light .cleanex-calendar-legend .is-pending {
  color: #8a590a !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-service span,
body.cleanex-ui-light .cleanex-calendar-cell.is-service small,
body.cleanex-ui-light .cleanex-calendar-legend .is-service {
  color: #9a3f37 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-completed span,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed small,
body.cleanex-ui-light .cleanex-calendar-legend .is-completed {
  color: #5c6f82 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-reserved span,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved small,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking span,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking small,
body.cleanex-ui-light .cleanex-calendar-legend .is-reserved {
  color: #215e8d !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-free span,
body.cleanex-ui-light .cleanex-calendar-cell.is-free small {
  color: #8ea0b2 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cleanex-details-table,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cleanex-details-table > div,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cleanex-detail-accordion,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cleanex-related-block,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cleanex-availability-priority {
  background: #f8fbfe !important;
  border-color: #d9e3ec !important;
  color: #172536 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details td,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details th,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details p,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details small,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details li,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cleanex-muted,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cx-muted {
  color: #607488 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details strong,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details th,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details h3,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details h4,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-machine-details .cx-heading {
  color: #172536 !important;
}

body.cleanex-ui-light .cleanex-ticket-issues-list span,
body.cleanex-ui-light .cleanex-ticket-issue-options label {
  background: #f3f8fc !important;
  border-color: #d7e2ec !important;
  color: #29435d !important;
}

body.cleanex-ui-light .cleanex-ticket-file {
  background: #f9fbfd !important;
  border-color: #d7e2ec !important;
}

body.cleanex-ui-light .cleanex-actions-menu__item[disabled],
body.cleanex-ui-light .cleanex-actions-menu__item[aria-disabled="true"],
body.cleanex-ui-light .cleanex-actions-menu__slot .cleanex-btn[disabled],
body.cleanex-ui-light .cleanex-actions-menu__slot button[disabled] {
  background: #eff4f8 !important;
  color: #8c9daf !important;
}


/* v0.9.69: semantic table content classes and stronger light-theme contrast. */
.cleanex-semantic-table .cleanex-table-label,
.cleanex-semantic-table-head .cleanex-table-label,
.cleanex-semantic-table-row .cleanex-table-label,
.cleanex-semantic-details .cleanex-table-label {
  color: var(--cx-role-label, rgba(205,221,240,.78));
  font-size: .68rem;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.cleanex-semantic-table .cleanex-table-cell,
.cleanex-semantic-table-row .cleanex-table-cell,
.cleanex-semantic-details .cleanex-detail-field {
  color: var(--cx-role-body, rgba(236,246,255,.88));
}

.cleanex-semantic-table .cleanex-table-title,
.cleanex-semantic-table .cleanex-table-value,
.cleanex-semantic-table-row .cleanex-table-title,
.cleanex-semantic-table-row .cleanex-table-value,
.cleanex-semantic-details .cleanex-table-value {
  color: var(--cx-role-heading, #f4f8fc);
  font-weight: 800;
}

.cleanex-semantic-table .cleanex-table-meta,
.cleanex-semantic-table .cleanex-table-note,
.cleanex-semantic-table .cleanex-table-text,
.cleanex-semantic-table-row .cleanex-table-meta,
.cleanex-semantic-table-row .cleanex-table-note,
.cleanex-semantic-table-row .cleanex-table-text,
.cleanex-semantic-details .cleanex-table-meta,
.cleanex-semantic-details .cleanex-table-note,
.cleanex-semantic-details .cleanex-table-text {
  color: var(--cx-role-muted, #adc0d1);
  line-height: 1.4;
}

.cleanex-semantic-table .cleanex-table-link,
.cleanex-semantic-table-row .cleanex-table-link,
.cleanex-semantic-details .cleanex-table-link {
  color: var(--cx-role-link, #79c0ff);
}

.cleanex-semantic-table .cleanex-table-code,
.cleanex-semantic-table-row .cleanex-table-code {
  color: var(--cx-role-link, #79c0ff);
}

body.cleanex-ui-light .cleanex-semantic-table,
body.cleanex-ui-light .cleanex-semantic-table-row,
body.cleanex-ui-light .cleanex-semantic-details {
  --cx-role-heading: #142437;
  --cx-role-body: #30475d;
  --cx-role-muted: #587089;
  --cx-role-label: #435b72;
  --cx-role-link: #096cad;
}

body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-label,
body.cleanex-ui-light .cleanex-semantic-table-head .cleanex-table-label,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-label,
body.cleanex-ui-light .cleanex-semantic-details .cleanex-table-label {
  color: #435b72 !important;
  opacity: 1 !important;
}

body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-cell,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-cell,
body.cleanex-ui-light .cleanex-semantic-details .cleanex-detail-field,
body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-text,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-text {
  color: #30475d !important;
  opacity: 1 !important;
}

body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-title,
body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-value,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-title,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-value,
body.cleanex-ui-light .cleanex-semantic-details .cleanex-table-value {
  color: #142437 !important;
  opacity: 1 !important;
}

body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-meta,
body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-note,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-meta,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-note,
body.cleanex-ui-light .cleanex-semantic-details .cleanex-table-meta,
body.cleanex-ui-light .cleanex-semantic-details .cleanex-table-note,
body.cleanex-ui-light .cleanex-unit-action-note,
body.cleanex-ui-light .cleanex-invoice-sync-status {
  color: #587089 !important;
  opacity: 1 !important;
}

body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-link,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-link,
body.cleanex-ui-light .cleanex-semantic-details .cleanex-table-link,
body.cleanex-ui-light .cleanex-semantic-table .cleanex-table-code,
body.cleanex-ui-light .cleanex-semantic-table-row .cleanex-table-code {
  color: #096cad !important;
  opacity: 1 !important;
}

body.cleanex-ui-light .cleanex-invoice-table .cleanex-table-cell--integration {
  background: #fbfdff !important;
}

body.cleanex-ui-light .cleanex-invoice-table .cleanex-table-cell--integration .cleanex-table-note,
body.cleanex-ui-light .cleanex-invoice-table .cleanex-invoice-sync-status {
  color: #4e667e !important;
  font-weight: 650 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-table-label {
  color: #415a72 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-table-title,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-table-value {
  color: #142437 !important;
}

body.cleanex-ui-light .cleanex-warehouse-table .cleanex-table-meta,
body.cleanex-ui-light .cleanex-warehouse-table .cleanex-table-note {
  color: #587089 !important;
}

body.cleanex-ui-light .cleanex-units-availability-table td {
  color: #30475d !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-status {
  color: #29435d !important;
  background: #eef4f9 !important;
  border-color: #c7d7e4 !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-status.is-available {
  color: #176443 !important;
  background: #dff7e9 !important;
  border-color: #8fd7af !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-status.is-reserved {
  color: #175f91 !important;
  background: #e2f1ff !important;
  border-color: #94c8ee !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-status.is-active {
  color: #176b5d !important;
  background: #dcf6ef !important;
  border-color: #84d6c3 !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-status.is-service,
body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-status.is-overdue {
  color: #963d47 !important;
  background: #fee7ea !important;
  border-color: #f0aeb6 !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-availability strong,
body.cleanex-ui-light .cleanex-units-availability-table .cleanex-table-value {
  color: #142437 !important;
}

body.cleanex-ui-light .cleanex-units-availability-table .cleanex-unit-action-note {
  color: #62778d !important;
  font-weight: 700 !important;
}

body.cleanex-ui-light .cleanex-details-table.cleanex-semantic-details .cleanex-detail-field {
  background: #ffffff !important;
  border-color: #dbe5ee !important;
}


/* v0.9.70: mocniejsze nagłówki podsumowań i całkowicie transparentny host menu akcji. */
.cleanex-summary-grid .cleanex-summary-card {
  color: var(--cx-role-body, rgba(236,246,255,.88));
}

.cleanex-summary-grid .cleanex-summary-label {
  display: block;
  margin-bottom: .34rem;
  color: var(--cx-role-label, rgba(205,221,240,.78));
  font-size: .74rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .065em;
  text-transform: uppercase;
  opacity: 1;
}

.cleanex-summary-grid .cleanex-summary-value {
  display: block;
  color: var(--cx-role-heading, #f4f8fc);
  font-weight: 850;
  line-height: 1.25;
  opacity: 1;
}

.cleanex-summary-grid .cleanex-summary-link {
  color: var(--cx-role-link, #79c0ff);
}

body.cleanex-ui-light .cleanex-summary-grid,
body.cleanex-ui-light .cleanex-summary-card {
  --cx-role-heading: #142437;
  --cx-role-body: #30475d;
  --cx-role-label: #3e5871;
  --cx-role-link: #096cad;
}

body.cleanex-ui-light .cleanex-summary-grid .cleanex-summary-card,
body.cleanex-ui-light .cleanex-order-finance-grid > div,
body.cleanex-ui-light .cleanex-order-page-stats > div {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border-color: #d3e0eb !important;
  color: #30475d !important;
}

body.cleanex-ui-light .cleanex-summary-grid .cleanex-summary-label,
body.cleanex-ui-light .cleanex-order-finance-grid > div > .cleanex-summary-label,
body.cleanex-ui-light .cleanex-order-page-stats > div > .cleanex-summary-label {
  color: #3e5871 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.cleanex-ui-light .cleanex-summary-grid .cleanex-summary-value,
body.cleanex-ui-light .cleanex-order-finance-grid > div > .cleanex-summary-value,
body.cleanex-ui-light .cleanex-order-page-stats > div > .cleanex-summary-value {
  color: #142437 !important;
  opacity: 1 !important;
}

body.cleanex-ui-light .cleanex-summary-grid .cleanex-summary-link {
  color: #096cad !important;
}

/* v0.9.72: komórka tabeli zachowuje tło wiersza; transparentne są wyłącznie elementy menu wewnątrz. */
.cleanex-actions-menu-host {
  position: relative;
}

.cleanex-actions-menu,
.cleanex-actions-menu.cleanex-actions-menu--transparent,
.cleanex-actions-menu > .cleanex-actions-menu__trigger {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Nie zerujemy tła ani obramowania TD/TH — tak samo jak w tabeli Faktury. */
td.cleanex-actions-menu-host--transparent,
th.cleanex-actions-menu-host--transparent,
.cleanex-table-cell.cleanex-actions-menu-host--transparent {
  background-image: none !important;
  box-shadow: none !important;
}

.cleanex-actions-menu__trigger,
body.cleanex-ui-light .cleanex-actions-menu__trigger,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 1.9rem !important;
  min-width: 1.9rem !important;
  height: 1.9rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #3d5872 !important;
  box-shadow: none !important;
  transform: none !important;
}

.cleanex-actions-menu__trigger::before,
.cleanex-actions-menu__trigger::after,
.cleanex-actions-menu::before,
.cleanex-actions-menu::after {
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cleanex-actions-menu__trigger:hover,
.cleanex-actions-menu__trigger:focus-visible,
.cleanex-actions-menu.is-open .cleanex-actions-menu__trigger,
body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger {
  background: rgba(24, 143, 232, .22) !important;
  background-color: rgba(24, 143, 232, .22) !important;
  color: #075f9d !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 1px rgba(24, 143, 232, .16) !important;
}

.cleanex-actions-menu__panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: .22rem !important;
  padding: .35rem !important;
}

.cleanex-actions-menu__slot,
.cleanex-actions-menu__slot > *,
.cleanex-actions-menu__slot form,
.cleanex-actions-menu__slot form > *,
.cleanex-actions-menu__item {
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.cleanex-actions-menu__item,
.cleanex-actions-menu__slot a,
.cleanex-actions-menu__slot button,
.cleanex-actions-menu__slot .cleanex-btn,
.cleanex-actions-menu__slot .cleanex-link-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 2.65rem !important;
  padding: .72rem .9rem !important;
  border: 0 !important;
  border-radius: .72rem !important;
  background: transparent !important;
  color: var(--cx-role-heading, #172536) !important;
  text-align: left !important;
  box-shadow: none !important;
}

.cleanex-actions-menu__item:hover,
.cleanex-actions-menu__item:focus-visible,
.cleanex-actions-menu__slot a:hover,
.cleanex-actions-menu__slot button:hover,
.cleanex-actions-menu__slot .cleanex-btn:hover,
.cleanex-actions-menu__slot .cleanex-link-button:hover {
  background: #edf4fa !important;
  color: #0f6ca8 !important;
}



/* v0.9.73: dopracowanie hover kropek i kontrastu menu akcji w light theme. */
body.cleanex-ui-light .cleanex-actions-menu__trigger,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger {
  background: transparent !important;
  color: #36526d !important;
}

body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__trigger:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu.is-open .cleanex-actions-menu__trigger {
  background: rgba(18, 108, 168, .24) !important;
  color: #064f82 !important;
  box-shadow: 0 0 0 1px rgba(18, 108, 168, .18) !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel {
  background: #ffffff !important;
  border-color: #cfdbe6 !important;
  box-shadow: 0 18px 46px rgba(40, 66, 89, .18) !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-document-pending,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-document-pending {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 100% !important;
  min-height: 2.65rem !important;
  margin: 0 !important;
  padding: .72rem .9rem !important;
  border: 1px solid #d4dee8 !important;
  border-radius: .72rem !important;
  background: #eef3f7 !important;
  color: #687b8f !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button {
  background: #ffffff !important;
  color: #263b51 !important;
  border: 1px solid transparent !important;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn:focus-visible,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button:hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__item:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot a:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot button:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-btn:focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button:hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-actions-menu__slot .cleanex-link-button:focus-visible {
  background: #173a57 !important;
  color: #ffffff !important;
  border-color: #173a57 !important;
  outline: none !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:not(.cleanex-btn--ghost),
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:not(.cleanex-btn--ghost) {
  background: #188fe8 !important;
  color: #ffffff !important;
  border-color: #188fe8 !important;
}

body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:not(.cleanex-btn--ghost):hover,
body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:not(.cleanex-btn--ghost):focus-visible,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:not(.cleanex-btn--ghost):hover,
body.cleanex-operator-page-body.cleanex-ui-light .cleanex-actions-menu__panel .cleanex-btn:not(.cleanex-btn--ghost):focus-visible {
  background: #0d5f98 !important;
  color: #ffffff !important;
  border-color: #0d5f98 !important;
}


/* v0.9.74: kolory komórek kalendarza 1:1 z legendą statusów w motywie Light. */
body.cleanex-ui-light .cleanex-calendar-legend .is-pending,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending {
  --cx-calendar-status-bg: #fff4d8;
  --cx-calendar-status-border: #e2a51c;
  --cx-calendar-status-text: #7f5000;
}

body.cleanex-ui-light .cleanex-calendar-legend .is-reserved,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) {
  --cx-calendar-status-bg: #e4f3ff;
  --cx-calendar-status-border: #2698e6;
  --cx-calendar-status-text: #0d5f94;
}

body.cleanex-ui-light .cleanex-calendar-legend .is-active,
body.cleanex-ui-light .cleanex-calendar-cell.is-active {
  --cx-calendar-status-bg: #e2f8ed;
  --cx-calendar-status-border: #29ad70;
  --cx-calendar-status-text: #176846;
}

body.cleanex-ui-light .cleanex-calendar-legend .is-completed,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed {
  --cx-calendar-status-bg: #eef2f6;
  --cx-calendar-status-border: #8294a8;
  --cx-calendar-status-text: #526679;
}

body.cleanex-ui-light .cleanex-calendar-legend .is-service,
body.cleanex-ui-light .cleanex-calendar-cell.is-service {
  --cx-calendar-status-bg: #ffe8e6;
  --cx-calendar-status-border: #e65b52;
  --cx-calendar-status-text: #8e332d;
}

body.cleanex-ui-light .cleanex-calendar-legend .is-pending,
body.cleanex-ui-light .cleanex-calendar-legend .is-reserved,
body.cleanex-ui-light .cleanex-calendar-legend .is-active,
body.cleanex-ui-light .cleanex-calendar-legend .is-completed,
body.cleanex-ui-light .cleanex-calendar-legend .is-service {
  background: var(--cx-calendar-status-bg) !important;
  border-color: var(--cx-calendar-status-border) !important;
  color: var(--cx-calendar-status-text) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cx-calendar-status-border) 22%, transparent) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-pending,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved,
body.cleanex-ui-light .cleanex-calendar-cell.is-active,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed,
body.cleanex-ui-light .cleanex-calendar-cell.is-service,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) {
  background: var(--cx-calendar-status-bg) !important;
  border-color: var(--cx-calendar-status-border) !important;
  color: var(--cx-calendar-status-text) !important;
  box-shadow: inset 4px 0 0 var(--cx-calendar-status-border) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-pending:hover,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved:hover,
body.cleanex-ui-light .cleanex-calendar-cell.is-active:hover,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed:hover,
body.cleanex-ui-light .cleanex-calendar-cell.is-service:hover,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service):hover {
  background: color-mix(in srgb, var(--cx-calendar-status-bg) 82%, var(--cx-calendar-status-border) 18%) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-pending span,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending small,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending .cx-heading,
body.cleanex-ui-light .cleanex-calendar-cell.is-pending .cx-muted,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved span,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved small,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved .cx-heading,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved .cx-muted,
body.cleanex-ui-light .cleanex-calendar-cell.is-active span,
body.cleanex-ui-light .cleanex-calendar-cell.is-active small,
body.cleanex-ui-light .cleanex-calendar-cell.is-active .cx-heading,
body.cleanex-ui-light .cleanex-calendar-cell.is-active .cx-muted,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed span,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed small,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed .cx-heading,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed .cx-muted,
body.cleanex-ui-light .cleanex-calendar-cell.is-service span,
body.cleanex-ui-light .cleanex-calendar-cell.is-service small,
body.cleanex-ui-light .cleanex-calendar-cell.is-service .cx-heading,
body.cleanex-ui-light .cleanex-calendar-cell.is-service .cx-muted,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) span,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) small,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) .cx-heading,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) .cx-muted {
  color: var(--cx-calendar-status-text) !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-pending span,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved span,
body.cleanex-ui-light .cleanex-calendar-cell.is-active span,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed span,
body.cleanex-ui-light .cleanex-calendar-cell.is-service span,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) span {
  font-weight: 850 !important;
}

body.cleanex-ui-light .cleanex-calendar-cell.is-pending small,
body.cleanex-ui-light .cleanex-calendar-cell.is-reserved small,
body.cleanex-ui-light .cleanex-calendar-cell.is-active small,
body.cleanex-ui-light .cleanex-calendar-cell.is-completed small,
body.cleanex-ui-light .cleanex-calendar-cell.is-service small,
body.cleanex-ui-light .cleanex-calendar-cell.is-blocking:not(.is-active):not(.is-service) small {
  opacity: .84 !important;
}


/* v0.9.79: pełny checkout Light zgodny z preferencją panelu klienta. */
html:has(body.cleanex-cart-page-body.cleanex-ui-light),
body.cleanex-cart-page-body.cleanex-ui-light,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-page,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-content,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-system-content {
  color-scheme: light !important;
  background: #edf2f7 !important;
  color: #172536 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-page::before,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-page::after,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-content::before,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-content::after {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-global-header,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-system-header,
body.cleanex-cart-page-body.cleanex-ui-light .site-header {
  background: rgba(255,255,255,.98) !important;
  border-color: #d7e1eb !important;
  box-shadow: 0 7px 24px rgba(35,60,84,.08) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .site-logo__main,
body.cleanex-cart-page-body.cleanex-ui-light .site-logo__sub,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-system-nav a,
body.cleanex-cart-page-body.cleanex-ui-light .site-nav a {
  color: #172536 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .site-logo__main span,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-system-nav a:hover,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-system-nav a:focus-visible,
body.cleanex-cart-page-body.cleanex-ui-light .site-nav a:hover,
body.cleanex-cart-page-body.cleanex-ui-light .site-nav a:focus-visible {
  color: #188fe8 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .site-icon,
body.cleanex-cart-page-body.cleanex-ui-light .site-user-menu > summary,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-live-notifications__toggle,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-live-sync-indicator {
  background: #f5f8fb !important;
  color: #29435d !important;
  border-color: #d4e0ea !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .site-icon svg,
body.cleanex-cart-page-body.cleanex-ui-light .site-user-menu > summary svg,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-system-header svg {
  stroke: #29435d !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .site-user-dropdown,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-live-notifications__panel {
  background: #ffffff !important;
  color: #172536 !important;
  border-color: #d1dde8 !important;
  box-shadow: 0 20px 50px rgba(40,66,89,.16) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-view--guided-flow {
  background: #ffffff !important;
  color: #263b51 !important;
  border-color: #d5e0ea !important;
  box-shadow: 0 20px 62px rgba(35,61,86,.12) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-header-minimal {
  border-bottom-color: #dce5ed !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-header-minimal h1,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-step-head h2,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary__box h3,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-group__head h3,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-item h4,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-hint strong,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-soft-note strong,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-payment-handoff-minimal strong,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-empty strong,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-item__side > strong,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-list strong {
  color: #172536 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-header-minimal p:not(.cleanex-eyebrow),
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-step-head span,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-group__head small,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-item p,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-list span,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-hint,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-payment-handoff-minimal span,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-final-note p,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-empty p,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card small,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-recommendations__head > span {
  color: #62768a !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-eyebrow,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-item__type,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-minimal > span {
  color: #0b6fb8 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps button {
  background: #f7fafc !important;
  color: #29435d !important;
  border-color: #d7e2ec !important;
  box-shadow: none !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps button:hover:not(:disabled),
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps button:focus-visible:not(:disabled) {
  background: #edf6fd !important;
  border-color: #9bc9ee !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps button.is-active {
  background: #e4f2fd !important;
  color: #0b5f99 !important;
  border-color: #71b4e5 !important;
  box-shadow: inset 4px 0 0 #188fe8 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps button:disabled {
  opacity: .58 !important;
  background: #f4f6f8 !important;
  color: #8394a5 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps span {
  background: #e6f2fc !important;
  color: #0b6fb8 !important;
  border-color: #b7d7ee !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-steps small {
  color: #718499 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-checkout-main,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary__box,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-item,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-payment-handoff-minimal > div,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-empty,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-recommendations,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-recommendation-card,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-legal-list--minimal .cleanex-legal-card {
  background: #f8fbfe !important;
  color: #263b51 !important;
  border-color: #d8e3ec !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-list > div {
  border-bottom-color: #dce5ed !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-list .is-total {
  background: #eaf4fd !important;
  border-color: #b9d8ed !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-summary-hint {
  background: #f4f8fb !important;
  border-color: #cbdce9 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-proxy button,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-minimal button {
  background: #f7fafc !important;
  color: #29435d !important;
  border-color: #d7e2ec !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-proxy button.is-active,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-minimal button.is-active {
  background: #e5f3fd !important;
  color: #0b5f99 !important;
  border-color: #7db9e3 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-proxy small,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-scope-minimal small {
  color: #64788d !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-item__type,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-meta span {
  background: #edf5fb !important;
  color: #31526f !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-guided-cart-meta b {
  color: #172536 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-link-button {
  color: #0b6fb8 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-link-button:hover,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-link-button:focus-visible {
  color: #064b7b !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-soft-note {
  background: #eaf8f1 !important;
  color: #315f4d !important;
  border-color: #bce3ce !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card label,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-legal-card,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-legal-card span {
  color: #42566b !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card input,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card select,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card textarea {
  background: #ffffff !important;
  color: #172536 !important;
  border-color: #cbd8e4 !important;
  box-shadow: none !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card input:focus,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card select:focus,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-checkout-form-card textarea:focus {
  border-color: #188fe8 !important;
  box-shadow: 0 0 0 3px rgba(24,143,232,.13) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-recommendation-card strong,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-recommendation-card > span {
  color: #172536 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-cart-recommendation-card small {
  color: #64788d !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn:not(.cleanex-btn--ghost) {
  background: #188fe8 !important;
  color: #ffffff !important;
  border-color: #188fe8 !important;
  box-shadow: 0 9px 20px rgba(24,143,232,.18) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn:not(.cleanex-btn--ghost) *,
body.cleanex-cart-page-body.cleanex-ui-light a.cleanex-btn:not(.cleanex-btn--ghost) {
  color: #ffffff !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn:not(.cleanex-btn--ghost):hover,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn:not(.cleanex-btn--ghost):focus-visible {
  background: #075f9f !important;
  color: #ffffff !important;
  border-color: #075f9f !important;
  box-shadow: 0 11px 24px rgba(7,95,159,.24) !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn--ghost {
  background: #f3f7fa !important;
  color: #29435d !important;
  border-color: #cbd8e4 !important;
  box-shadow: none !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn--ghost:hover,
body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn--ghost:focus-visible {
  background: #29435d !important;
  color: #ffffff !important;
  border-color: #29435d !important;
}

body.cleanex-cart-page-body.cleanex-ui-light .cleanex-btn:disabled,
body.cleanex-cart-page-body.cleanex-ui-light button.cleanex-btn:disabled {
  background: #dfe7ee !important;
  color: #7e90a2 !important;
  border-color: #d3dde6 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light ::-webkit-scrollbar-track {
  background: #e4ebf1 !important;
}

body.cleanex-cart-page-body.cleanex-ui-light ::-webkit-scrollbar-thumb {
  background: #9eb3c6 !important;
  border-color: #e4ebf1 !important;
}

/* ==========================================================
   v0.9.83 — strona „Jak to działa”
   ========================================================== */
body.cleanex-how-page-body {
  min-height: 100vh;
  min-height: 100dvh;
  background: #020912;
}

.cleanex-how-page::before {
  opacity: .72;
  background:
    linear-gradient(90deg, rgba(2, 9, 18, .97), rgba(5, 22, 42, .66), rgba(2, 9, 18, .95)),
    url('../img/contact-bg.jpg') center / cover no-repeat;
}

.cleanex-how-content {
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: clamp(7rem, 10vh, 8.4rem);
  padding-bottom: 2rem;
}

.cleanex-how-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, .8fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.1rem;
}

.cleanex-how-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5.3vw, 6rem);
  line-height: .9;
  letter-spacing: -.065em;
}

.cleanex-how-hero h1 span {
  color: var(--cx-blue);
}

.cleanex-how-hero > p {
  margin: 0 0 .45rem;
  color: var(--cx-muted);
  font-size: clamp(.98rem, 1.15vw, 1.18rem);
  line-height: 1.58;
}

.cleanex-flow-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.cleanex-flow-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 2vw, 1.9rem);
  border: 1px solid rgba(38, 152, 255, .22);
  border-radius: 1.45rem;
  background: rgba(5, 16, 29, .74);
  box-shadow: 0 1.8rem 5rem rgba(0, 0, 0, .25);
  backdrop-filter: blur(18px);
}

.cleanex-flow-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 90% 0%, rgba(38, 152, 255, .13), transparent 18rem);
}

.cleanex-flow-card > * {
  position: relative;
  z-index: 1;
}

.cleanex-flow-card__head {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.cleanex-flow-icon {
  width: 3.2rem;
  height: 3.2rem;
  display: grid;
  place-items: center;
  flex: 0 0 3.2rem;
  border: 1px solid rgba(38, 152, 255, .36);
  border-radius: 1rem;
  color: #fff;
  background: rgba(38, 152, 255, .16);
}

.cleanex-flow-icon svg {
  width: 1.45rem;
  height: 1.45rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cleanex-flow-card__head small {
  display: block;
  margin-bottom: .18rem;
  color: rgba(224, 236, 255, .55);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cleanex-flow-card__head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.8rem, 2.6vw, 2.7rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.cleanex-flow-steps {
  display: grid;
  gap: .25rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}

.cleanex-flow-steps li {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: .75rem;
  padding: .72rem;
  border-radius: .9rem;
  transition: background-color .18s ease, transform .18s ease;
}

.cleanex-flow-steps li:hover {
  background: rgba(255, 255, 255, .035);
  transform: translateX(.15rem);
}

.cleanex-flow-steps li > span {
  width: 2.15rem;
  height: 2.15rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(38, 152, 255, .26);
  border-radius: .7rem;
  color: var(--cx-blue);
  background: rgba(38, 152, 255, .08);
  font-size: .68rem;
  font-weight: 950;
}

.cleanex-flow-steps strong {
  display: block;
  margin-bottom: .2rem;
  color: #fff;
  font-size: .94rem;
}

.cleanex-flow-steps p {
  margin: 0;
  color: rgba(224, 236, 255, .66);
  font-size: .78rem;
  line-height: 1.45;
}

.cleanex-flow-cta {
  width: 100%;
  justify-content: space-between;
  min-height: 3.3rem;
}

.cleanex-flow-card--rent .cleanex-flow-cta {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(38, 152, 255, .36);
}

.cleanex-flow-card--rent .cleanex-flow-cta:hover {
  background: var(--cx-blue);
}

.cleanex-how-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 1rem;
  background: rgba(5, 16, 29, .6);
}

.cleanex-how-bottom small,
.cleanex-how-bottom strong {
  display: block;
}

.cleanex-how-bottom small {
  margin-bottom: .25rem;
  color: rgba(224, 236, 255, .55);
}

.cleanex-how-bottom strong {
  color: #fff;
}

.cleanex-how-bottom a {
  flex: 0 0 auto;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
}

@media (max-width: 980px) {
  .cleanex-how-content {
    padding-top: 6.6rem;
  }
  .cleanex-how-hero,
  .cleanex-flow-grid {
    grid-template-columns: 1fr;
  }
  .cleanex-how-hero {
    gap: 1rem;
  }
}

@media (max-width: 640px) {
  .cleanex-how-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .cleanex-flow-card {
    padding: 1rem;
  }
}

/* ==========================================================
   v0.9.85 — horizontal process tree + safe click stacking
   ========================================================== */
.cleanex-how-page::before,
.cleanex-how-page::after {
  pointer-events: none !important;
}

.cleanex-how-page > .cleanex-global-header {
  z-index: 1200 !important;
  pointer-events: auto !important;
}

.cleanex-how-content {
  width: min(1680px, calc(100vw - 64px));
  padding-top: clamp(7.2rem, 10.5vh, 8.8rem);
}

.cleanex-how-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(25rem, .95fr);
  margin-bottom: clamp(1.25rem, 2.2vh, 2rem);
}

.cleanex-how-hero h1 {
  font-size: clamp(3.2rem, 5vw, 5.8rem);
}

.cleanex-process-tree {
  position: relative;
  display: grid;
  gap: 1rem;
  padding-top: .25rem;
}

.cleanex-process-root {
  position: relative;
  z-index: 4;
  width: fit-content;
  min-width: min(27rem, 100%);
  display: flex;
  align-items: center;
  gap: .85rem;
  margin: 0 auto .7rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(38, 152, 255, .34);
  border-radius: 1rem;
  color: #fff;
  background: linear-gradient(135deg, rgba(10, 35, 61, .96), rgba(4, 18, 33, .94));
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .28), 0 0 2.4rem rgba(38, 152, 255, .08);
}

.cleanex-process-root__icon,
.cleanex-process-lane__icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(38, 152, 255, .38);
  color: #fff;
  background: rgba(38, 152, 255, .13);
}

.cleanex-process-root__icon {
  width: 2.9rem;
  height: 2.9rem;
  border-radius: .85rem;
}

.cleanex-process-root__icon svg,
.cleanex-process-lane__icon svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cleanex-process-root small,
.cleanex-process-lane__head small {
  display: block;
  margin-bottom: .12rem;
  color: rgba(224, 236, 255, .55);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cleanex-process-root strong {
  font-size: clamp(1rem, 1.25vw, 1.2rem);
}

.cleanex-process-branches {
  position: absolute;
  z-index: 0;
  top: 4.95rem;
  left: 10%;
  right: 10%;
  height: 3rem;
  pointer-events: none;
}

.cleanex-process-branches::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 1.5rem;
  background: linear-gradient(180deg, rgba(38, 152, 255, .85), rgba(38, 152, 255, .34));
}

.cleanex-process-branches::after {
  content: '';
  position: absolute;
  left: 25%;
  right: 25%;
  top: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(38, 152, 255, .18), rgba(38, 152, 255, .75), rgba(38, 152, 255, .18));
}

.cleanex-process-branches span {
  position: absolute;
  top: 1.5rem;
  width: 1px;
  height: 1.5rem;
  background: rgba(38, 152, 255, .45);
}

.cleanex-process-branches span:first-child { left: 25%; }
.cleanex-process-branches span:last-child { right: 25%; }

.cleanex-process-lane {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(13rem, 15rem) minmax(0, 1fr) minmax(11.5rem, 13rem);
  align-items: stretch;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(38, 152, 255, .2);
  border-radius: 1.25rem;
  background: linear-gradient(90deg, rgba(5, 18, 33, .92), rgba(5, 16, 29, .72));
  box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, .22);
  backdrop-filter: blur(18px);
}

.cleanex-process-lane--rent {
  background: linear-gradient(90deg, rgba(4, 15, 28, .76), rgba(8, 25, 44, .9));
}

.cleanex-process-lane__head {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .35rem .45rem;
}

.cleanex-process-lane__icon {
  width: 3rem;
  height: 3rem;
  border-radius: .9rem;
}

.cleanex-process-lane__head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.cleanex-process-flow {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(8.4rem, 1fr));
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cleanex-process-flow li {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: .45rem;
  padding: .85rem .85rem .8rem;
  border: 1px solid rgba(255, 255, 255, .085);
  border-radius: .95rem;
  background: rgba(255, 255, 255, .026);
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.cleanex-process-flow li:not(:last-child)::after {
  content: '→';
  position: absolute;
  z-index: 3;
  top: 50%;
  right: -.62rem;
  width: 1.2rem;
  height: 1.2rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(38, 152, 255, .24);
  border-radius: 999px;
  color: var(--cx-blue);
  background: #071522;
  font-size: .7rem;
  transform: translateY(-50%);
}

.cleanex-process-flow li:hover {
  transform: translateY(-.18rem);
  border-color: rgba(38, 152, 255, .3);
  background: rgba(38, 152, 255, .055);
  box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .16);
}

.cleanex-process-step__number {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(38, 152, 255, .28);
  border-radius: .62rem;
  color: var(--cx-blue);
  background: rgba(38, 152, 255, .08);
  font-size: .63rem;
  font-weight: 950;
}

.cleanex-process-flow strong {
  display: block;
  margin-bottom: .25rem;
  color: #fff;
  font-size: .88rem;
  line-height: 1.2;
}

.cleanex-process-flow p {
  margin: 0;
  color: rgba(224, 236, 255, .62);
  font-size: .72rem;
  line-height: 1.42;
}

.cleanex-process-cta {
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 0 1rem;
  border: 1px solid rgba(38, 152, 255, .36);
  border-radius: .95rem;
  color: #fff;
  background: var(--cx-blue);
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 .9rem 2.2rem rgba(38, 152, 255, .14);
  pointer-events: auto !important;
}

.cleanex-process-lane--rent .cleanex-process-cta {
  background: rgba(255, 255, 255, .055);
}

.cleanex-process-cta:hover,
.cleanex-process-cta:focus-visible {
  color: #fff;
  background: var(--cx-blue);
  border-color: var(--cx-blue);
  box-shadow: 0 1rem 2.4rem rgba(38, 152, 255, .23);
  transform: translateY(-1px);
}

.cleanex-how-bottom {
  margin-top: 1rem;
}

.cleanex-how-page a,
.cleanex-how-page button,
.cleanex-how-page summary {
  pointer-events: auto !important;
  touch-action: manipulation;
}

@media (max-width: 1380px) {
  .cleanex-process-lane {
    grid-template-columns: minmax(12rem, 13.5rem) minmax(0, 1fr);
  }

  .cleanex-process-cta {
    grid-column: 1 / -1;
    min-height: 3.2rem;
  }
}

@media (max-width: 1080px) {
  .cleanex-how-content {
    width: min(100% - 32px, 900px);
  }

  .cleanex-process-branches {
    display: none;
  }

  .cleanex-process-lane {
    grid-template-columns: 1fr;
  }

  .cleanex-process-flow {
    grid-auto-flow: column;
    grid-auto-columns: minmax(10rem, 12rem);
    grid-template-columns: none;
    overflow-x: auto;
    padding: 0 0 .45rem;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(38, 152, 255, .42) transparent;
  }

  .cleanex-process-flow li {
    scroll-snap-align: start;
  }

  .cleanex-process-flow li:not(:last-child)::after {
    right: -.62rem;
  }
}

@media (max-width: 680px) {
  .cleanex-how-content {
    width: min(100% - 24px, 620px);
    padding-top: 6.7rem;
  }

  .cleanex-how-hero {
    grid-template-columns: 1fr;
  }

  .cleanex-how-hero h1 {
    font-size: clamp(2.65rem, 13vw, 4rem);
  }

  .cleanex-process-root {
    width: 100%;
    min-width: 0;
  }

  .cleanex-process-lane {
    padding: .8rem;
  }

  .cleanex-process-lane__head {
    padding: .2rem;
  }

  .cleanex-process-flow {
    grid-auto-columns: minmax(9.4rem, 72vw);
  }
}


/* ==========================================================
   v0.9.86 — process page viewport fit and real document scroll
   ========================================================== */
html:has(body.cleanex-how-page-body),
body.cleanex-how-page-body {
  min-height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto;
}

body.cleanex-how-page-body .cleanex-how-page {
  min-height: 100vh;
  min-height: 100dvh;
  height: auto !important;
  overflow: visible !important;
}

body.cleanex-how-page-body .cleanex-how-content {
  min-height: auto !important;
  height: auto !important;
  padding-bottom: clamp(2.2rem, 6vh, 5rem);
  overflow: visible !important;
}

body.cleanex-how-page-body .cleanex-how-bottom {
  margin-bottom: max(1rem, env(safe-area-inset-bottom));
}

@media (min-width: 1081px) and (max-height: 940px) {
  body.cleanex-how-page-body .cleanex-how-content {
    padding-top: 6.5rem;
    padding-bottom: 2rem;
  }

  body.cleanex-how-page-body .cleanex-how-hero {
    gap: 1.2rem;
    margin-bottom: .7rem;
  }

  body.cleanex-how-page-body .cleanex-how-hero h1 {
    font-size: clamp(2.75rem, 4.15vw, 4.65rem);
    line-height: .92;
  }

  body.cleanex-how-page-body .cleanex-how-hero > p {
    font-size: .96rem;
    line-height: 1.45;
  }

  body.cleanex-how-page-body .cleanex-process-tree {
    gap: .65rem;
  }

  body.cleanex-how-page-body .cleanex-process-root {
    margin-bottom: .25rem;
    padding: .58rem .78rem;
  }

  body.cleanex-how-page-body .cleanex-process-root__icon {
    width: 2.45rem;
    height: 2.45rem;
  }

  body.cleanex-how-page-body .cleanex-process-branches {
    top: 4.1rem;
    height: 2rem;
  }

  body.cleanex-how-page-body .cleanex-process-lane {
    gap: .65rem;
    padding: .68rem;
  }

  body.cleanex-how-page-body .cleanex-process-lane__head {
    padding: .15rem .25rem;
  }

  body.cleanex-how-page-body .cleanex-process-flow {
    gap: .45rem;
  }

  body.cleanex-how-page-body .cleanex-process-flow li {
    gap: .3rem;
    padding: .58rem;
  }

  body.cleanex-how-page-body .cleanex-process-flow p {
    font-size: .66rem;
    line-height: 1.32;
  }

  body.cleanex-how-page-body .cleanex-process-cta {
    min-height: 3.2rem;
  }

  body.cleanex-how-page-body .cleanex-how-bottom {
    margin-top: .65rem;
    padding: .75rem 1rem;
  }
}

@media (max-width: 1080px) {
  body.cleanex-how-page-body .cleanex-how-content {
    padding-bottom: 3.5rem;
  }
}


/* ==========================================================
   v0.10.0 — shared shell isolation and process-page viewport
   Showroom styles are no longer loaded on application pages.
   ========================================================== */
body.cleanex-how-page-body {
  min-height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body.cleanex-how-page-body .cleanex-how-page {
  min-height: 100vh;
  min-height: 100svh;
  height: auto !important;
  overflow: visible !important;
}
body.cleanex-how-page-body .cleanex-how-content {
  width: min(1680px, calc(100vw - 64px));
  min-height: 100svh;
  height: auto !important;
  padding-top: clamp(8.4rem, 14vh, 10.2rem) !important;
  padding-bottom: max(3rem, env(safe-area-inset-bottom)) !important;
  overflow: visible !important;
}
body.cleanex-how-page-body .cleanex-how-hero {
  align-items: end;
  margin-bottom: clamp(1rem, 2vh, 1.8rem);
}
body.cleanex-how-page-body .cleanex-process-tree {
  overflow: visible;
}
body.cleanex-how-page-body .cleanex-process-lane,
body.cleanex-how-page-body .cleanex-process-root,
body.cleanex-how-page-body .cleanex-process-flow li {
  transform: translateZ(0);
}
body.cleanex-how-page-body .cleanex-how-bottom {
  margin-bottom: 1rem;
}

@media (min-width: 1081px) and (max-height: 900px) {
  body.cleanex-how-page-body .cleanex-how-content {
    padding-top: 7.2rem !important;
  }
  body.cleanex-how-page-body .cleanex-how-hero h1 {
    font-size: clamp(2.8rem, 4.3vw, 4.8rem);
  }
  body.cleanex-how-page-body .cleanex-process-lane {
    padding: .7rem;
  }
  body.cleanex-how-page-body .cleanex-process-flow li {
    padding: .62rem;
  }
}

@media (max-width: 1080px) {
  body.cleanex-how-page-body .cleanex-how-content {
    width: min(100% - 32px, 920px);
    padding-top: 7.4rem !important;
  }
}

@media (max-width: 680px) {
  body.cleanex-how-page-body .cleanex-how-content {
    width: min(100% - 24px, 620px);
    padding-top: 6.7rem !important;
  }
}


/* v0.10.28: warehouse thumbnails and cart rental dates. */
.cleanex-machine-title {
  display: grid !important;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
}
.cleanex-machine-admin-thumb,
.cleanex-category-admin-thumb,
.cleanex-category-image-preview {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.09);
}
.cleanex-machine-admin-thumb {
  width: 3.4rem;
  height: 3.4rem;
  border-radius: .72rem;
}
.cleanex-machine-admin-thumb img,
.cleanex-category-admin-thumb img,
.cleanex-category-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.cleanex-machine-admin-thumb em,
.cleanex-machine-admin-thumb.is-empty {
  font-size: .55rem;
  line-height: 1.1;
  text-align: center;
  opacity: .58;
}
.cleanex-machine-title-copy {
  min-width: 0;
  display: grid;
  gap: .15rem;
}
.cleanex-category-image-preview {
  width: 7rem !important;
  height: 7rem !important;
  min-height: 0 !important;
  aspect-ratio: 1;
  border-radius: .9rem;
}
.cleanex-category-admin-thumb {
  width: 3.8rem !important;
  height: 3.8rem !important;
}
.cleanex-cart-date-form {
  display: grid;
  gap: .55rem;
  margin-top: 1rem;
  padding: .85rem;
  border: 1px solid rgba(38,152,255,.2);
  border-radius: .95rem;
  background: rgba(38,152,255,.055);
}
.cleanex-cart-date-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .65rem;
}
.cleanex-cart-date-grid label {
  display: grid;
  gap: .32rem;
}
.cleanex-cart-date-grid label > span {
  color: var(--cx-muted, rgba(224,236,249,.64));
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.cleanex-cart-date-grid input {
  min-height: 3rem;
  width: 100%;
  padding: 0 .75rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: .78rem;
  color: var(--cx-text, #fff);
  background: rgba(2,9,18,.56);
  color-scheme: dark;
}
.cleanex-cart-date-status {
  color: var(--cx-muted, rgba(224,236,249,.64));
  font-size: .76rem;
  line-height: 1.45;
}
.cleanex-cart-date-suggestion {
  justify-self: start;
  padding: .55rem .72rem;
  border: 1px solid rgba(38,152,255,.4);
  border-radius: .72rem;
  color: #8dccff;
  background: rgba(38,152,255,.08);
  font-weight: 850;
  cursor: pointer;
}
.cleanex-cart-date-suggestion:hover,
.cleanex-cart-date-suggestion:focus-visible {
  color: #fff;
  border-color: #2698ff;
  outline: none;
}
body.cleanex-ui-light .cleanex-machine-admin-thumb,
body.cleanex-ui-light .cleanex-category-admin-thumb,
body.cleanex-ui-light .cleanex-category-image-preview {
  background: #fff;
  border-color: rgba(37,73,110,.16);
}
body.cleanex-ui-light .cleanex-cart-date-form {
  background: rgba(38,152,255,.045);
  border-color: rgba(38,152,255,.2);
}
body.cleanex-ui-light .cleanex-cart-date-grid input {
  color: #13243a;
  background: #fff;
  border-color: rgba(37,73,110,.18);
  color-scheme: light;
}
@media (max-width: 720px) {
  .cleanex-machine-title { grid-template-columns: 3rem minmax(0,1fr); }
  .cleanex-machine-admin-thumb { width: 3rem; height: 3rem; }
  .cleanex-cart-date-grid { grid-template-columns: 1fr; }
}


/* v0.10.33: minimalist cart, unified rows and related recommendations */
.cleanex-checkout-header-minimal--cart {
  align-items: end;
  gap: 16px;
  padding-bottom: 12px;
  margin-bottom: 14px;
}

.cleanex-checkout-header-minimal--cart .cleanex-eyebrow {
  display: none;
}

.cleanex-checkout-header-minimal--cart h1 {
  margin-bottom: 8px;
}

.cleanex-checkout-steps--minimal {
  margin-top: 0;
  margin-bottom: 22px;
}

.cleanex-checkout-steps--minimal button small,
.cleanex-checkout-step-head {
  display: none !important;
}

.cleanex-checkout-steps--minimal button {
  min-height: 56px;
}

.cleanex-guided-cart-group--simple {
  margin-bottom: 20px;
}

.cleanex-guided-cart-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.cleanex-guided-cart-group__head h3 {
  margin: 2px 0 0;
}

.cleanex-guided-cart-items {
  display: grid;
  gap: 16px;
}

.cleanex-guided-cart-item {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr) 180px;
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(89, 141, 217, 0.24);
  background: linear-gradient(180deg, rgba(11, 29, 53, 0.88), rgba(7, 21, 42, 0.95));
  box-shadow: 0 18px 36px rgba(0, 10, 24, 0.18);
}

.cleanex-guided-cart-item__media {
  min-height: 116px;
  border-radius: 18px;
  border: 1px solid rgba(96, 151, 231, 0.18);
  background: linear-gradient(180deg, rgba(16, 38, 69, 0.95), rgba(10, 28, 51, 0.95));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.cleanex-guided-cart-item__media img {
  width: 84px;
  height: 84px;
  object-fit: contain;
}

.cleanex-guided-cart-item__media span {
  color: rgba(215, 231, 255, 0.82);
  font-size: 0.9rem;
}

.cleanex-guided-cart-item__main {
  min-width: 0;
}

.cleanex-guided-cart-item__top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.cleanex-guided-cart-item__type,
.cleanex-cart-recommendation-badges span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(39, 126, 255, 0.96), rgba(16, 82, 188, 0.96));
  border: 1px solid rgba(118, 194, 255, 0.78);
  color: #f8fbff;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 22px rgba(6, 21, 48, 0.22);
}

.cleanex-guided-cart-item__main h4 {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.28;
}

.cleanex-guided-cart-item__main p {
  min-height: 2.8em;
  margin: 8px 0 10px;
  color: rgba(216, 229, 247, 0.76);
  line-height: 1.45;
}

.cleanex-guided-cart-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 6px;
}

.cleanex-guided-cart-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(12, 29, 54, 0.72);
  border: 1px solid rgba(94, 145, 215, 0.18);
  color: rgba(236, 243, 255, 0.94);
  font-size: 0.88rem;
}

.cleanex-guided-cart-meta b {
  color: rgba(150, 199, 255, 0.96);
  font-weight: 700;
}

.cleanex-guided-cart-item__side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.cleanex-guided-cart-price {
  text-align: right;
}

.cleanex-guided-cart-price strong {
  display: block;
  font-size: 1.16rem;
}

.cleanex-guided-cart-price small {
  display: block;
  margin-top: 4px;
  color: rgba(214, 227, 246, 0.72);
}

.cleanex-cart-date-form--inline {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(88, 143, 222, 0.18);
  background: rgba(8, 24, 46, 0.54);
}

.cleanex-cart-date-form__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.cleanex-cart-date-form__head strong {
  font-size: 0.96rem;
}

.cleanex-cart-date-form__head span {
  color: rgba(208, 223, 244, 0.72);
  font-size: 0.82rem;
}

.cleanex-cart-date-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cleanex-cart-date-grid label {
  gap: 6px;
}

.cleanex-date-picker-button {
  min-width: 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

.cleanex-guided-cart-item--rental .cleanex-date-picker-button {
  animation: cleanexPulseCalendar 1.9s ease-in-out infinite;
}

@keyframes cleanexPulseCalendar {
  0%, 100% { box-shadow: 0 0 0 0 rgba(40, 142, 255, 0.12); }
  50% { box-shadow: 0 0 0 10px rgba(40, 142, 255, 0); }
}

.cleanex-cart-date-status {
  display: block;
  margin-top: 8px;
  color: rgba(214, 227, 246, 0.72);
}

.cleanex-cart-date-suggestion {
  margin-top: 10px;
}

.cleanex-cart-qty-form,
.cleanex-cart-remove-form {
  margin-left: auto;
}

.cleanex-cart-recommendations--compact {
  margin-top: 18px;
  padding-top: 6px;
}

.cleanex-cart-recommendations__head {
  align-items: end;
}

.cleanex-cart-recommendations__head span {
  color: rgba(205, 221, 244, 0.72);
}

.cleanex-cart-recommendations__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  overflow: visible;
}

.cleanex-cart-recommendation-card--catalog {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 232px;
  padding: 14px;
  border-radius: 20px;
  border: 1px solid rgba(89, 141, 217, 0.24);
  background: linear-gradient(180deg, rgba(11, 29, 53, 0.92), rgba(7, 21, 42, 0.96));
}

.cleanex-cart-recommendation-top {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cleanex-cart-recommendation-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cleanex-cart-recommendation-visual {
  min-height: 72px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(12, 31, 57, 0.76);
  border: 1px solid rgba(92, 145, 221, 0.16);
}

.cleanex-cart-recommendation-visual img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.cleanex-cart-recommendation-copy strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
  line-height: 1.25;
}

.cleanex-cart-recommendation-copy small {
  display: block;
  margin-top: 6px;
  min-height: 2.4em;
  color: rgba(213, 226, 245, 0.74);
}

.cleanex-cart-recommendation-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}

.cleanex-cart-recommendation-action .cleanex-btn {
  min-width: 46px;
  padding-inline: 0;
}

@media (max-width: 1150px) {
  .cleanex-guided-cart-item {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .cleanex-guided-cart-item__side {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
  }

  .cleanex-cart-recommendations__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .cleanex-guided-cart-item {
    grid-template-columns: 1fr;
  }

  .cleanex-guided-cart-item__media {
    min-height: 92px;
  }

  .cleanex-guided-cart-item__side {
    flex-direction: column;
    align-items: stretch;
  }

  .cleanex-guided-cart-price {
    text-align: left;
  }

  .cleanex-cart-date-form__head,
  .cleanex-cart-date-grid,
  .cleanex-cart-recommendations__track {
    grid-template-columns: 1fr;
  }

  .cleanex-cart-date-form__head {
    display: block;
  }

  .cleanex-cart-recommendations__track {
    display: grid;
  }
}


/* v0.10.35: minimalist cart rows and custom rental range calendar. */
.cleanex-guided-cart-item__main > p {
  margin-bottom: 0;
}

.cleanex-guided-cart-item__side {
  min-width: 210px;
}

.cleanex-guided-cart-item__side-top {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 12px;
}

.cleanex-cart-calendar-control {
  flex: 0 0 auto;
}

.cleanex-cart-calendar-trigger {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(64, 146, 255, 0.4);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(25, 76, 136, 0.92), rgba(12, 48, 91, 0.96));
  color: #dff2ff;
  box-shadow: 0 10px 24px rgba(0, 8, 24, 0.22);
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.cleanex-cart-calendar-trigger:hover,
.cleanex-cart-calendar-trigger:focus-visible {
  transform: translateY(-2px) scale(1.04);
  border-color: rgba(92, 181, 255, 0.85);
  background: linear-gradient(180deg, rgba(34, 109, 193, 0.96), rgba(18, 69, 128, 0.98));
  box-shadow: 0 14px 30px rgba(0, 18, 48, 0.34), 0 0 0 4px rgba(40, 142, 255, 0.12);
  outline: none;
}

.cleanex-cart-calendar-trigger svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cleanex-cart-date-form--modal {
  margin: 0;
}

.cleanex-range-calendar-modal[hidden] {
  display: none !important;
}

.cleanex-range-calendar-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
}

.cleanex-range-calendar-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(2, 8, 18, 0.74);
  backdrop-filter: blur(12px);
  cursor: default;
}

.cleanex-range-calendar {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100vw - 36px));
  max-height: min(88vh, 780px);
  overflow: auto;
  border: 1px solid rgba(89, 157, 242, 0.34);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(35, 117, 215, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(10, 29, 54, 0.99), rgba(6, 20, 39, 0.99));
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.54);
  color: #eef7ff;
  animation: cleanexRangeCalendarIn 180ms ease-out both;
}

@keyframes cleanexRangeCalendarIn {
  from { opacity: 0; transform: translateY(18px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

html.cleanex-calendar-modal-open,
html.cleanex-calendar-modal-open body {
  overflow: hidden;
}

.cleanex-range-calendar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid rgba(111, 165, 231, 0.16);
}

.cleanex-range-calendar__header span {
  display: block;
  margin-bottom: 3px;
  color: #64b6ff;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.cleanex-range-calendar__header h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.cleanex-range-calendar__close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(109, 159, 220, 0.24);
  border-radius: 14px;
  background: rgba(12, 35, 63, 0.88);
  color: #edf7ff;
  font-size: 1.55rem;
  line-height: 1;
  cursor: pointer;
}

.cleanex-range-calendar__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 24px 0;
}

.cleanex-range-calendar__summary > div {
  padding: 13px 15px;
  border: 1px solid rgba(88, 149, 222, 0.2);
  border-radius: 16px;
  background: rgba(10, 31, 58, 0.72);
}

.cleanex-range-calendar__summary small {
  display: block;
  margin-bottom: 4px;
  color: rgba(189, 216, 245, 0.68);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
  font-weight: 800;
}

.cleanex-range-calendar__summary strong {
  display: block;
  font-size: 1rem;
}

.cleanex-range-calendar__toolbar {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  align-items: center;
  gap: 12px;
  padding: 18px 24px 12px;
}

.cleanex-range-calendar__toolbar strong {
  text-align: center;
  text-transform: capitalize;
}

.cleanex-range-calendar__toolbar button {
  height: 42px;
  border: 1px solid rgba(82, 150, 232, 0.28);
  border-radius: 13px;
  background: rgba(12, 39, 72, 0.88);
  color: #e9f6ff;
  cursor: pointer;
}

.cleanex-range-calendar__months {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 0 24px 16px;
}

.cleanex-range-calendar__month {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(92, 150, 220, 0.16);
  border-radius: 20px;
  background: rgba(6, 24, 46, 0.78);
}

.cleanex-range-calendar__month h4 {
  margin: 0 0 14px;
  text-align: center;
  text-transform: capitalize;
  font-size: 1rem;
}

.cleanex-range-calendar__weekdays,
.cleanex-range-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.cleanex-range-calendar__weekdays {
  margin-bottom: 8px;
}

.cleanex-range-calendar__weekdays span {
  text-align: center;
  color: rgba(184, 211, 240, 0.6);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cleanex-range-calendar__days > span.is-empty {
  min-height: 40px;
}

.cleanex-range-calendar__days button {
  position: relative;
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: rgba(16, 43, 76, 0.62);
  color: #e9f5ff;
  cursor: pointer;
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.cleanex-range-calendar__days button:hover:not(:disabled),
.cleanex-range-calendar__days button:focus-visible:not(:disabled) {
  transform: translateY(-2px);
  border-color: rgba(83, 174, 255, 0.74);
  background: rgba(28, 92, 158, 0.86);
  outline: none;
}

.cleanex-range-calendar__days button.is-start,
.cleanex-range-calendar__days button.is-end {
  border-color: #74c6ff;
  background: linear-gradient(180deg, #2f9dff, #1472d3);
  color: #fff;
  box-shadow: 0 8px 20px rgba(23, 104, 190, 0.34);
}

.cleanex-range-calendar__days button.is-in-range {
  border-color: rgba(72, 166, 255, 0.3);
  background: rgba(31, 111, 188, 0.48);
}

.cleanex-range-calendar__days button.is-blocked {
  border-color: rgba(255, 100, 100, 0.42);
  background: rgba(151, 35, 49, 0.5);
  color: #ffb6bc;
  text-decoration: line-through;
  opacity: 1;
  cursor: not-allowed;
}

.cleanex-range-calendar__days button.is-past {
  opacity: 0.3;
  cursor: not-allowed;
}

.cleanex-range-calendar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 0 24px 12px;
  color: rgba(204, 223, 245, 0.72);
  font-size: 0.78rem;
}

.cleanex-range-calendar__legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.cleanex-range-calendar__legend i {
  width: 11px;
  height: 11px;
  border-radius: 4px;
  background: rgba(16, 43, 76, 0.72);
}

.cleanex-range-calendar__legend i.is-selected { background: #2f9dff; }
.cleanex-range-calendar__legend i.is-blocked { background: #ad3444; }
.cleanex-range-calendar__legend i.is-free { background: #163b66; }

.cleanex-range-calendar__message {
  min-height: 1.4em;
  margin: 0;
  padding: 0 24px 16px;
  color: rgba(211, 229, 248, 0.78);
  line-height: 1.45;
}

.cleanex-range-calendar__footer {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px 22px;
  border-top: 1px solid rgba(111, 165, 231, 0.14);
  background: rgba(6, 20, 39, 0.96);
  border-radius: 0 0 28px 28px;
}

.cleanex-range-calendar__footer .cleanex-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 760px) {
  .cleanex-guided-cart-item__side {
    min-width: 0;
  }

  .cleanex-guided-cart-item__side-top {
    justify-content: space-between;
  }

  .cleanex-range-calendar-modal {
    padding: 10px;
    align-items: end;
  }

  .cleanex-range-calendar {
    width: 100%;
    max-height: 92vh;
    border-radius: 24px 24px 0 0;
  }

  .cleanex-range-calendar__months {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }

  .cleanex-range-calendar__header,
  .cleanex-range-calendar__summary,
  .cleanex-range-calendar__toolbar,
  .cleanex-range-calendar__legend,
  .cleanex-range-calendar__message,
  .cleanex-range-calendar__footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .cleanex-range-calendar__days button {
    min-height: 39px;
  }
}

/* v0.10.36: compact no-scroll range calendar and safe cart row side layout. */
.cleanex-range-calendar-modal {
  padding: 12px;
}

.cleanex-range-calendar {
  width: min(900px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto auto;
  border-radius: 24px;
}

.cleanex-range-calendar__header {
  padding: 14px 18px 11px;
  gap: 14px;
}

.cleanex-range-calendar__header h3 {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.cleanex-range-calendar__close {
  width: 40px;
  height: 40px;
  border-radius: 13px;
}

.cleanex-range-calendar__summary {
  gap: 10px;
  padding: 10px 18px 0;
}

.cleanex-range-calendar__summary > div {
  padding: 9px 12px;
  border-radius: 14px;
}

.cleanex-range-calendar__summary small {
  margin-bottom: 2px;
}

.cleanex-range-calendar__summary strong {
  font-size: .94rem;
}

.cleanex-range-calendar__toolbar {
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  gap: 10px;
  padding: 12px 18px 8px;
}

.cleanex-range-calendar__toolbar button {
  height: 38px;
  border-radius: 12px;
}

.cleanex-range-calendar__months {
  min-height: 0;
  gap: 14px;
  padding: 0 18px 8px;
}

.cleanex-range-calendar__month {
  min-height: 0;
  padding: 11px;
  border-radius: 18px;
}

.cleanex-range-calendar__month h4 {
  margin-bottom: 9px;
  font-size: .96rem;
}

.cleanex-range-calendar__weekdays,
.cleanex-range-calendar__days {
  gap: 5px;
}

.cleanex-range-calendar__weekdays {
  margin-bottom: 5px;
}

.cleanex-range-calendar__days > span.is-empty {
  min-height: 34px;
}

.cleanex-range-calendar__days button {
  min-height: 34px;
  height: 34px;
  border-radius: 11px;
  font-size: .86rem;
}

.cleanex-range-calendar__legend {
  gap: 12px;
  padding: 2px 18px 7px;
  font-size: .74rem;
}

.cleanex-range-calendar__message {
  min-height: 1.2em;
  padding: 0 18px 9px;
  font-size: .85rem;
}

.cleanex-range-calendar__footer {
  position: static;
  padding: 10px 18px 13px;
  border-radius: 0 0 24px 24px;
}

.cleanex-range-calendar__footer .cleanex-btn {
  min-height: 42px;
  padding-block: .65rem;
}

.cleanex-guided-cart-item {
  grid-template-columns: 116px minmax(0, 1fr) minmax(190px, 220px);
}

.cleanex-guided-cart-item__side {
  width: 100%;
  max-width: 220px;
  min-width: 0;
  justify-self: end;
  overflow: visible;
}

.cleanex-guided-cart-item__side-top {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: start;
  justify-content: stretch;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.cleanex-guided-cart-item__side-top > .cleanex-guided-cart-price:only-child {
  grid-column: 1 / -1;
}

.cleanex-guided-cart-price {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.cleanex-guided-cart-price strong,
.cleanex-guided-cart-price small {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cleanex-guided-cart-price strong {
  font-size: clamp(1rem, 1.15vw, 1.16rem);
}

.cleanex-cart-calendar-control {
  width: 46px;
  min-width: 46px;
  max-width: 46px;
}

.cleanex-cart-qty-form,
.cleanex-cart-remove-form {
  max-width: 100%;
}

.cleanex-cart-qty {
  max-width: 100%;
}

@media (max-width: 1400px) {
  .cleanex-guided-cart-item {
    grid-template-columns: 104px minmax(0, 1fr) minmax(178px, 204px);
  }

  .cleanex-guided-cart-item__side {
    max-width: 204px;
  }

  .cleanex-guided-cart-price strong {
    font-size: 1rem;
  }
}

@media (max-width: 1150px) {
  .cleanex-guided-cart-item {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .cleanex-guided-cart-item__side {
    grid-column: 1 / -1;
    max-width: none;
    width: 100%;
  }

  .cleanex-guided-cart-item__side-top {
    grid-template-columns: 46px minmax(0, 1fr);
    max-width: 280px;
    margin-left: auto;
  }
}

@media (max-width: 760px) {
  .cleanex-range-calendar-modal {
    padding: 6px;
    align-items: center;
  }

  .cleanex-range-calendar {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
    border-radius: 20px;
  }

  .cleanex-range-calendar__header {
    padding: 11px 13px 8px;
  }

  .cleanex-range-calendar__summary {
    padding: 8px 13px 0;
  }

  .cleanex-range-calendar__toolbar {
    padding: 9px 13px 6px;
  }

  .cleanex-range-calendar__months {
    grid-template-columns: 1fr;
    padding: 0 13px 6px;
  }

  .cleanex-range-calendar__month {
    padding: 9px;
  }

  .cleanex-range-calendar__days > span.is-empty,
  .cleanex-range-calendar__days button {
    min-height: 32px;
    height: 32px;
  }

  .cleanex-range-calendar__legend,
  .cleanex-range-calendar__message,
  .cleanex-range-calendar__footer {
    padding-left: 13px;
    padding-right: 13px;
  }

  .cleanex-guided-cart-item__side-top {
    max-width: 100%;
  }
}


/* v0.10.37: combined cart summary, compact calendar control and delivery information. */
.cleanex-cart-calendar-control {
  position: relative;
  width: 52px;
  min-width: 52px;
  max-width: 52px;
  display: grid;
  justify-items: center;
  gap: 6px;
  overflow: visible;
}

.cleanex-cart-date-form--modal {
  position: absolute !important;
  inset: 0 auto auto 0;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cleanex-cart-calendar-duration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(74, 151, 255, 0.34);
  background: rgba(15, 52, 94, 0.82);
  color: #d8ecff;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.cleanex-guided-cart-item__side-top {
  align-items: flex-start;
}

.cleanex-guided-cart-delivery {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 14px;
  border: 1px solid rgba(87, 151, 236, 0.18);
  background: rgba(9, 31, 58, 0.56);
  color: rgba(218, 232, 249, 0.8);
  font-size: 0.82rem;
  line-height: 1.4;
}

.cleanex-guided-cart-delivery strong {
  color: #9dcaff;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cleanex-guided-cart-delivery--notice {
  border-color: rgba(255, 184, 77, 0.24);
  background: rgba(90, 53, 9, 0.16);
}

.cleanex-guided-cart-delivery--notice strong {
  color: #ffd08a;
}

@media (max-width: 760px) {
  .cleanex-cart-calendar-control {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
  }

  .cleanex-cart-calendar-duration {
    min-width: 48px;
    padding-inline: 6px;
    font-size: 0.68rem;
  }
}

/* v0.10.39: mobile usability pass for all customer-facing shop pages. */
@media (max-width: 760px) {
  html,
  body.cleanex-theme,
  .cleanex-full-page,
  .cleanex-page {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .cleanex-page-content,
  .cleanex-how-content,
  .cleanex-system-content,
  .cleanex-cart-content,
  .cleanex-order-details-content,
  .cleanex-auth-content {
    width: calc(100% - 1rem) !important;
    max-width: none !important;
    min-width: 0;
    margin-inline: auto !important;
    padding-top: 5.9rem !important;
    padding-bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  }

  .cleanex-card,
  .cleanex-panel-main,
  .cleanex-auth-card {
    min-width: 0;
    border-radius: 1rem;
  }

  .cleanex-panel-main,
  .cleanex-auth-card,
  .cleanex-card--form,
  .cleanex-card--copy {
    padding: 1rem;
  }

  .cleanex-auth-wrap,
  .cleanex-contact-grid,
  .cleanex-map,
  .cleanex-panel-layout,
  .cleanex-how-hero,
  .cleanex-process-branches,
  .cleanex-flow-grid,
  .cleanex-two,
  .cleanex-mini-grid,
  .cleanex-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cleanex-auth-wrap {
    width: 100%;
    gap: .75rem;
  }

  .cleanex-auth-card h1,
  .cleanex-panel-main h1,
  .cleanex-how-hero h1,
  .cleanex-title {
    overflow-wrap: anywhere;
    font-size: clamp(2.15rem, 11vw, 3.5rem);
    line-height: .96;
  }

  .cleanex-actions,
  .cleanex-form-actions,
  .cleanex-order-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .cleanex-actions .cleanex-btn,
  .cleanex-form-actions .cleanex-btn,
  .cleanex-order-actions .cleanex-btn,
  .cleanex-auth-card .cleanex-btn {
    width: 100%;
  }

  .cleanex-btn,
  .cleanex-form input,
  .cleanex-form select,
  .cleanex-form textarea,
  button,
  input,
  select {
    font-size: 16px;
  }

  .cleanex-btn,
  .cleanex-form input,
  .cleanex-form select,
  .cleanex-date-picker-button,
  .cleanex-cart-calendar-trigger {
    min-height: 44px;
  }

  .cleanex-panel-menu {
    position: static;
    display: flex;
    gap: .45rem;
    width: 100%;
    padding: .55rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .cleanex-panel-menu::-webkit-scrollbar {
    display: none;
  }

  .cleanex-panel-menu h2 {
    display: none;
  }

  .cleanex-panel-menu a,
  .cleanex-panel-menu button {
    width: auto;
    min-width: max-content;
    margin: 0;
    scroll-snap-align: start;
  }

  .cleanex-table,
  .cleanex-table-wrap,
  .cleanex-data-table,
  .cleanex-order-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .cleanex-table th,
  .cleanex-table td {
    min-width: 8rem;
    white-space: nowrap;
  }

  .cleanex-guided-cart-group,
  .cleanex-cart-summary,
  .cleanex-checkout-summary,
  .cleanex-order-card {
    min-width: 0;
    border-radius: 1rem;
  }

  .cleanex-guided-cart-item {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: .7rem !important;
    padding: .75rem !important;
  }

  .cleanex-guided-cart-item__media {
    width: 74px;
    min-height: 74px;
    grid-row: 1;
  }

  .cleanex-guided-cart-item__main {
    grid-column: 2;
    min-width: 0;
  }

  .cleanex-guided-cart-item__main h4,
  .cleanex-guided-cart-item__main p {
    overflow-wrap: anywhere;
  }

  .cleanex-guided-cart-item__side {
    grid-column: 1 / -1 !important;
    width: 100%;
    max-width: none !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }

  .cleanex-guided-cart-item__side-top {
    width: 100%;
    max-width: none !important;
    margin-left: 0 !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .cleanex-guided-cart-price {
    text-align: right;
  }

  .cleanex-guided-cart-price strong,
  .cleanex-guided-cart-price small {
    white-space: normal;
    text-overflow: clip;
  }

  .cleanex-guided-cart-delivery {
    width: 100%;
    margin-top: .6rem;
    padding: .7rem;
  }

  .cleanex-cart-recommendations__track {
    display: flex !important;
    gap: .7rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .cleanex-cart-recommendations__track::-webkit-scrollbar {
    display: none;
  }

  .cleanex-cart-recommendation-card {
    min-width: min(82vw, 18rem);
    scroll-snap-align: start;
  }

  .cleanex-range-calendar-modal {
    align-items: stretch;
    padding: .35rem;
  }

  .cleanex-range-calendar {
    width: 100%;
    max-height: calc(100dvh - .7rem);
    margin: auto;
  }

  .cleanex-process-tree {
    overflow: hidden;
  }

  .cleanex-process-root {
    width: 100%;
    min-width: 0;
  }

  .cleanex-process-lane,
  .cleanex-flow-card {
    min-width: 0;
    padding: .9rem;
    border-radius: 1rem;
  }

  .cleanex-process-flow {
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .cleanex-process-flow > * {
    scroll-snap-align: start;
  }

  .cleanex-how-bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .cleanex-how-bottom a {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(38,152,255,.28);
    border-radius: .75rem;
    background: rgba(38,152,255,.08);
  }
}

@media (max-width: 420px) {
  .cleanex-page-content,
  .cleanex-how-content,
  .cleanex-system-content,
  .cleanex-cart-content,
  .cleanex-order-details-content,
  .cleanex-auth-content {
    width: calc(100% - .7rem) !important;
  }

  .cleanex-guided-cart-item {
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  .cleanex-guided-cart-item__media {
    width: 64px;
    min-height: 64px;
  }
}

/* v0.10.40: final mobile app-shell pass for operator, customer panel and cart. */
@media (max-width: 900px) {
  html:has(body.cleanex-operator-page-body),
  html:has(body.cxcp-page-body),
  html:has(body.cleanex-cart-page-body),
  body.cleanex-operator-page-body,
  body.cxcp-page-body,
  body.cleanex-cart-page-body {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app,
  body.cxcp-page-body main.cleanex-customer-page.cleanex-standalone-app,
  body.cleanex-cart-page-body main.cleanex-cart-page.cleanex-standalone-app {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-global-header,
  body.cxcp-page-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-global-header,
  body.cleanex-cart-page-body main.cleanex-cart-page.cleanex-standalone-app > .cleanex-global-header {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  /* Operator: horizontal module rail instead of a squeezed desktop sidebar. */
  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app > .cleanex-operator-content {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: calc(100dvh - 6rem) !important;
    margin: .65rem 0 0 !important;
    padding: 0 .55rem 1rem !important;
    overflow: visible !important;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 1rem !important;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-operator-menu {
    position: sticky !important;
    top: .35rem !important;
    z-index: 60 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: .4rem !important;
    padding: .5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border: 1px solid rgba(38, 152, 255, .2) !important;
    border-radius: .9rem !important;
    background: rgba(2, 11, 21, .97) !important;
    box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .28) !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-menu::-webkit-scrollbar {
    display: none;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-menu h2 {
    display: none !important;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-menu button,
  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-menu a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 2.65rem !important;
    margin: 0 !important;
    padding: 0 .82rem !important;
    border-radius: .72rem !important;
    white-space: nowrap !important;
    scroll-snap-align: start;
  }

  body.cleanex-operator-page-body main.cleanex-operator-page.cleanex-standalone-app .cleanex-operator-layout > .cleanex-operator-main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: .55rem 0 0 !important;
    padding: 1rem .75rem 1.5rem !important;
    overflow: visible !important;
    border-radius: 1rem !important;
  }

  body.cleanex-operator-page-body .cleanex-operator-main .cleanex-tab-panel,
  body.cleanex-operator-page-body .cleanex-dashboard-v2,
  body.cleanex-operator-page-body .cleanex-dashboard-grid,
  body.cleanex-operator-page-body .cleanex-dashboard-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .8rem !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-head h1,
  body.cleanex-operator-page-body .cleanex-operator-main > .cleanex-tab-panel > h1 {
    max-width: 100% !important;
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: .95 !important;
    overflow-wrap: anywhere !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-head-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: .5rem !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-head-actions .cleanex-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-stats .cleanex-stat {
    min-width: 0 !important;
    min-height: 6rem !important;
    padding: .8rem !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .7rem !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-card {
    grid-column: auto !important;
    padding: .9rem !important;
    border-radius: .9rem !important;
  }

  body.cleanex-operator-page-body .cleanex-table-scroll,
  body.cleanex-operator-page-body .cleanex-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.cleanex-operator-page-body .cleanex-table-scroll table,
  body.cleanex-operator-page-body .cleanex-table-wrap table {
    min-width: 720px !important;
  }

  /* Customer panel: horizontal tab rail and a single readable content column. */
  body.cxcp-page-body main.cleanex-customer-page.cleanex-standalone-app > .cxcp-content,
  body.cxcp-page-body main.cleanex-customer-page.cleanex-standalone-app > .cleanex-customer-content {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: calc(100dvh - 6rem) !important;
    margin: .65rem 0 0 !important;
    padding: 0 .55rem 1rem !important;
    overflow: visible !important;
  }

  body.cxcp-page-body .cxcp-content > .cxcp-shell:not(.cxcp-shell--preview) {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 1px solid rgba(38, 152, 255, .16) !important;
    border-radius: 1rem !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) > .cxcp-nav {
    position: sticky !important;
    top: .35rem !important;
    z-index: 55 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    padding: .5rem !important;
    overflow: hidden !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(38, 152, 255, .18) !important;
    border-radius: .95rem .95rem 0 0 !important;
    background: rgba(2, 11, 21, .97) !important;
    box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .22) !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-nav__heading,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-nav__footer {
    display: none !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-nav__tabs {
    display: flex !important;
    flex-direction: row !important;
    gap: .38rem !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-nav__tabs::-webkit-scrollbar {
    display: none;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-nav__tab {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 2.65rem !important;
    margin: 0 !important;
    padding: 0 .82rem !important;
    border-radius: .72rem !important;
    scroll-snap-align: start;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) > .cxcp-main {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 1rem .75rem 1.5rem !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 0 1rem 1rem !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-view,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-view__header,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-customer-stack,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-customer-stack {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-view__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .75rem !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-view__header h1 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: .96 !important;
    overflow-wrap: anywhere !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-primary-action {
    width: 100% !important;
    min-height: 2.85rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-dashboard-stats,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-stats,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-mini-grid,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-two,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-table-scroll,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-table-scroll table,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-table-wrap table {
    min-width: 680px !important;
  }

  /* Cart: cards instead of a desktop grid squeezed into the viewport. */
  body.cleanex-cart-page-body main.cleanex-cart-page.cleanex-standalone-app > .cleanex-cart-content {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: calc(100dvh - 6rem) !important;
    margin: .65rem 0 0 !important;
    padding: 0 .5rem 1rem !important;
    overflow: visible !important;
  }

  body.cleanex-cart-page-body .cleanex-cart-view--guided-flow {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .8rem !important;
    border-radius: 1rem !important;
  }

  body.cleanex-cart-page-body .cleanex-checkout-header-minimal {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .75rem !important;
  }

  body.cleanex-cart-page-body .cleanex-checkout-header-minimal h1 {
    font-size: clamp(2.1rem, 11vw, 3.1rem) !important;
  }

  body.cleanex-cart-page-body .cleanex-checkout-header-minimal .cleanex-btn {
    width: 100% !important;
  }

  body.cleanex-cart-page-body .cleanex-checkout-steps--minimal {
    display: flex !important;
    grid-template-columns: none !important;
    gap: .42rem !important;
    width: 100% !important;
    padding: .15rem 0 .45rem !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.cleanex-cart-page-body .cleanex-checkout-steps--minimal::-webkit-scrollbar {
    display: none;
  }

  body.cleanex-cart-page-body .cleanex-checkout-steps--minimal button {
    flex: 0 0 7.7rem !important;
    min-width: 7.7rem !important;
    min-height: 3.15rem !important;
    padding: .5rem .6rem !important;
    scroll-snap-align: start;
  }

  body.cleanex-cart-page-body .cleanex-guided-checkout-shell {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: .75rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-checkout-main,
  body.cleanex-cart-page-body .cleanex-guided-summary,
  body.cleanex-cart-page-body .cleanex-guided-summary__box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-summary {
    position: static !important;
    margin-top: .75rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item {
    display: grid !important;
    grid-template-columns: 4.5rem minmax(0, 1fr) !important;
    gap: .7rem !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: .75rem !important;
    border-radius: 1rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 4.5rem !important;
    min-height: 4.5rem !important;
    border-radius: .8rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__media img {
    width: 3.8rem !important;
    height: 3.8rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__main {
    grid-column: 2 !important;
    min-width: 0 !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__main h4,
  body.cleanex-cart-page-body .cleanex-guided-cart-item__main p {
    min-height: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__side {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: .6rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__side-top {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: .55rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-price {
    min-width: 0 !important;
    text-align: right !important;
  }

  body.cleanex-cart-page-body .cleanex-cart-date-grid,
  body.cleanex-cart-page-body .cleanex-checkout-form-card,
  body.cleanex-cart-page-body .cleanex-checkout-form-card--single {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.cleanex-cart-page-body .cleanex-checkout-nav-actions,
  body.cleanex-cart-page-body .cleanex-checkout-nav-actions--final {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .55rem !important;
  }

  body.cleanex-cart-page-body .cleanex-checkout-nav-actions .cleanex-btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.cleanex-cart-page-body .cleanex-cart-recommendations__track {
    display: flex !important;
    grid-template-columns: none !important;
    gap: .65rem !important;
    width: 100% !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  body.cleanex-cart-page-body .cleanex-cart-recommendations__track::-webkit-scrollbar {
    display: none;
  }

  body.cleanex-cart-page-body .cleanex-cart-recommendation-card {
    flex: 0 0 min(82vw, 18rem) !important;
    min-width: 0 !important;
    scroll-snap-align: start;
  }
}

@media (max-width: 520px) {
  body.cleanex-operator-page-body .cleanex-dashboard-stats,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cxcp-dashboard-stats,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-stats,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-mini-grid,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-two,
  body.cxcp-page-body .cxcp-shell:not(.cxcp-shell--preview) .cleanex-form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.cleanex-operator-page-body .cleanex-dashboard-head-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item {
    grid-template-columns: 4rem minmax(0, 1fr) !important;
    padding: .65rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__media {
    width: 4rem !important;
    min-height: 4rem !important;
  }

  body.cleanex-cart-page-body .cleanex-guided-cart-item__media img {
    width: 3.35rem !important;
    height: 3.35rem !important;
  }
}


/* v0.10.41: mobile shell cleanup for operator and customer panels */
@media (max-width: 900px) {
  .cleanex-operator-page .cleanex-panel-layout,
  .cleanex-customer-page .cleanex-panel-layout,
  .cleanex-panel-layout.cleanex-operator-layout {
    display: block !important;
    min-height: auto;
  }

  .cleanex-operator-page .cleanex-panel-menu,
  .cleanex-customer-page .cleanex-panel-menu,
  .cleanex-panel-menu.cleanex-operator-menu {
    position: static !important;
    width: 100%;
    margin: 0 0 1rem;
    padding: .85rem;
  }

  .cleanex-operator-page .cleanex-panel-menu h2,
  .cleanex-customer-page .cleanex-panel-menu h2 {
    margin: 0 0 .75rem;
  }

  .cleanex-operator-page .cleanex-panel-menu nav,
  .cleanex-customer-page .cleanex-panel-menu nav,
  .cleanex-operator-page .cleanex-panel-menu .cleanex-menu-links,
  .cleanex-customer-page .cleanex-panel-menu .cleanex-menu-links {
    display: flex;
    gap: .6rem;
    overflow-x: auto;
    padding-bottom: .15rem;
    scroll-snap-type: x proximity;
  }

  .cleanex-operator-page .cleanex-panel-menu a,
  .cleanex-operator-page .cleanex-panel-menu button,
  .cleanex-customer-page .cleanex-panel-menu a,
  .cleanex-customer-page .cleanex-panel-menu button {
    flex: 0 0 auto;
    min-width: max-content;
    margin: 0;
    padding-inline: .9rem;
    min-height: 2.9rem;
    scroll-snap-align: start;
  }

  .cleanex-operator-page .cleanex-panel-main,
  .cleanex-customer-page .cleanex-panel-main {
    width: 100%;
    min-width: 0;
    padding: 1rem;
  }

  .cleanex-operator-page .cleanex-panel-main h1,
  .cleanex-customer-page .cleanex-panel-main h1 {
    font-size: clamp(1.9rem, 10vw, 3rem);
    line-height: .95;
  }

  .cleanex-stats,
  .cleanex-dashboard-grid,
  .cleanex-order-grid,
  .cleanex-summary-grid {
    grid-template-columns: 1fr !important;
  }

  .cleanex-table-scroll,
  .cleanex-calendar-timeline,
  .cleanex-warehouse-table,
  .cleanex-order-groups-table {
    overflow-x: auto;
  }
}


/* v0.10.42: commercial rules and product variants */
.cleanex-commercial-checks { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin: .8rem 0 1rem; }
.cleanex-variant-rows { display: grid; gap: .7rem; }
.cleanex-variant-row { display: grid; grid-template-columns: 1.4fr 1fr .8fr .55fr 1.5fr auto; gap: .65rem; align-items: end; padding: .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: .9rem; background: rgba(255,255,255,.025); }
.cleanex-variant-row label { margin: 0; }
@media (max-width: 1100px) { .cleanex-commercial-checks { grid-template-columns: 1fr; } .cleanex-variant-row { grid-template-columns: repeat(2, minmax(0,1fr)); } .cleanex-variant-row .is-wide { grid-column: 1 / -1; } }
@media (max-width: 650px) { .cleanex-variant-row { grid-template-columns: 1fr; } .cleanex-variant-row .is-wide { grid-column: auto; } }

/* v0.10.42: public guides and operator guide workspace */
.cleanex-guides-page,
.cleanex-guide-single-page {
  min-height: 100dvh;
  background: #020a13;
  color: #eef6ff;
}

.cleanex-guides-content,
.cleanex-guide-single-content {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 7.5rem 0 4rem;
}

.cleanex-guides-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: 2rem;
  align-items: end;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border: 1px solid rgba(38,152,255,.24);
  border-radius: 1.6rem;
  background: radial-gradient(circle at 75% 15%, rgba(38,152,255,.16), transparent 40%), rgba(5,16,29,.88);
}

.cleanex-guides-hero h1,
.cleanex-guide-article__head h1 {
  margin: .35rem 0 0;
  font-size: clamp(2.6rem, 7vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.06em;
}

.cleanex-guides-hero h1 span { color: #2698ff; }
.cleanex-guides-hero > p,
.cleanex-guide-article__head > p { margin: 0; color: rgba(225,238,251,.72); font-size: 1.08rem; line-height: 1.65; }

.cleanex-guides-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.cleanex-guide-card {
  overflow: hidden;
  border: 1px solid rgba(38,152,255,.22);
  border-radius: 1.35rem;
  background: rgba(5,16,29,.9);
  box-shadow: 0 1.5rem 3.5rem rgba(0,0,0,.24);
}

.cleanex-guide-card__visual {
  min-height: 13rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(38,152,255,.16), rgba(2,10,19,.92));
  color: #2698ff;
  font-size: 4rem;
  text-decoration: none;
}

.cleanex-guide-card__visual img { width: 100%; height: 13rem; object-fit: contain; padding: 1rem; }
.cleanex-guide-card__body { padding: 1.15rem; }
.cleanex-guide-card__body small { color: #2698ff; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.cleanex-guide-card__body h2 { margin: .5rem 0; font-size: 1.4rem; line-height: 1.08; }
.cleanex-guide-card__body h2 a { color: #fff; text-decoration: none; }
.cleanex-guide-card__body p { min-height: 4.8rem; color: rgba(225,238,251,.65); line-height: 1.55; }

.cleanex-guide-back { display: inline-flex; margin-bottom: 1rem; color: #fff; font-weight: 800; text-decoration: none; }
.cleanex-guide-article {
  overflow: hidden;
  border: 1px solid rgba(38,152,255,.22);
  border-radius: 1.6rem;
  background: rgba(5,16,29,.92);
}
.cleanex-guide-article__head { padding: clamp(1.5rem, 5vw, 4rem); }
.cleanex-guide-article__head h1 { max-width: 16ch; }
.cleanex-guide-article__head small { display: block; margin-top: 1rem; color: rgba(225,238,251,.5); }
.cleanex-guide-article__hero { margin: 0; height: min(54vw, 34rem); background: rgba(2,10,19,.8); }
.cleanex-guide-article__hero img { width: 100%; height: 100%; object-fit: contain; padding: 1rem; }
.cleanex-guide-article__content { max-width: 850px; margin: 0 auto; padding: clamp(1.5rem, 5vw, 4rem); color: rgba(238,246,255,.82); font-size: 1.05rem; line-height: 1.8; }
.cleanex-guide-article__content h2,
.cleanex-guide-article__content h3 { color: #fff; line-height: 1.1; }
.cleanex-guide-article__content a { color: #2698ff; }

.cleanex-guide-products { margin-top: 1.2rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid rgba(38,152,255,.22); border-radius: 1.5rem; background: rgba(5,16,29,.88); }
.cleanex-guide-products__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.cleanex-guide-product-card { display: grid; grid-template-columns: 10rem minmax(0,1fr); gap: 1rem; align-items: center; padding: 1rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1.2rem; background: rgba(255,255,255,.025); }
.cleanex-guide-product-card__visual { min-height: 9rem; display: grid; place-items: center; border-radius: .9rem; background: rgba(2,10,19,.75); }
.cleanex-guide-product-card__visual img { width: 100%; height: 9rem; object-fit: contain; }
.cleanex-guide-product-card h3 { margin: .35rem 0 1rem; font-size: 1.4rem; }
.cleanex-guide-product-card small { color: rgba(225,238,251,.55); }
.cleanex-guide-product-card__actions { display: flex; flex-wrap: wrap; gap: .55rem; }

.cleanex-guides-workspace { display: grid; gap: 1rem; }
.cleanex-guide-editor,
.cleanex-guide-list { padding: 1rem; }
.cleanex-guide-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .65rem; }
.cleanex-guide-form textarea { resize: vertical; min-height: 10rem; }
.cleanex-row-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.cleanex-row-actions form { margin: 0; }

@media (max-width: 960px) {
  .cleanex-guides-hero { grid-template-columns: 1fr; }
  .cleanex-guides-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cleanex-guide-products__grid { grid-template-columns: 1fr; }
  .cleanex-guide-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .cleanex-guides-content,
  .cleanex-guide-single-content { width: min(100% - 1rem, 1180px); padding-top: 6.4rem; }
  .cleanex-guides-grid { grid-template-columns: 1fr; }
  .cleanex-guide-product-card { grid-template-columns: 1fr; }
  .cleanex-guide-product-grid { grid-template-columns: 1fr; }
}


/* v0.10.43: dedicated product editor */
.cleanex-product-editor {
  display: grid;
  gap: 1rem;
}

.cleanex-product-editor__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.15rem;
  border: 1px solid rgba(38,152,255,.22);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, rgba(12,34,56,.92), rgba(4,16,29,.94));
}

.cleanex-product-editor__header h1 {
  margin: .2rem 0 .55rem !important;
  font-size: clamp(2rem, 4vw, 3.8rem) !important;
}

.cleanex-product-editor__header p {
  max-width: 58rem;
  margin: 0;
  color: rgba(224,236,249,.68);
}

.cleanex-back-link {
  display: inline-flex;
  margin-bottom: .7rem;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}

.cleanex-product-editor__header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .65rem;
}

.cleanex-product-editor__nav {
  position: static;
  top: auto;
  z-index: 1;
  display: flex;
  gap: .55rem;
  overflow-x: auto;
  padding: .72rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  background: rgba(3,13,24,.94);
  backdrop-filter: blur(14px);
}

.cleanex-product-editor__nav a {
  flex: 0 0 auto;
  padding: .72rem .9rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .75rem;
  color: rgba(224,236,249,.8);
  text-decoration: none;
  font-weight: 800;
  white-space: nowrap;
}

.cleanex-product-editor__nav a:hover,
.cleanex-product-editor__nav a:focus-visible {
  color: #fff;
  border-color: rgba(38,152,255,.55);
  background: rgba(38,152,255,.12);
  outline: none;
}

.cleanex-product-editor__layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(17rem,22rem);
  gap: 1rem;
  align-items: start;
}

.cleanex-product-editor__form {
  display: grid;
  gap: 1rem;
}

.cleanex-editor-section {
  scroll-margin-top: 10rem;
  padding: clamp(1rem,2vw,1.35rem);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 1.15rem;
  background: rgba(8,25,43,.82);
  box-shadow: 0 1.15rem 2.8rem rgba(0,0,0,.16);
}

.cleanex-editor-section > header {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.cleanex-editor-section > header > span {
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: .72rem;
  background: rgba(38,152,255,.16);
  color: #39a7ff;
  font-weight: 900;
}

.cleanex-editor-section > header h2 {
  margin: 0 0 .2rem;
  font-size: 1.25rem;
}

.cleanex-editor-section > header p {
  margin: 0;
  color: rgba(224,236,249,.62);
}

.cleanex-editor-media-row {
  display: grid;
  grid-template-columns: minmax(9rem,13rem) minmax(0,1fr);
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
}

.cleanex-editor-current-image {
  min-height: 9rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(38,152,255,.2);
  border-radius: 1rem;
  background: rgba(2,10,19,.55);
}

.cleanex-editor-current-image img {
  width: 100%;
  height: 100%;
  max-height: 13rem;
  object-fit: contain;
}

.cleanex-editor-current-image.is-empty {
  color: rgba(224,236,249,.5);
}

.cleanex-product-preview__sticky {
  position: sticky;
  top: 10.4rem;
  display: grid;
  gap: .7rem;
}

.cleanex-product-preview__label {
  color: rgba(224,236,249,.58);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cleanex-product-preview__card {
  overflow: hidden;
  border: 1px solid rgba(38,152,255,.38);
  border-radius: 1.15rem;
  background: linear-gradient(160deg, rgba(13,39,63,.96), rgba(3,14,25,.98));
  box-shadow: 0 1.25rem 3rem rgba(0,0,0,.3);
}

.cleanex-product-preview__image {
  min-height: 12rem;
  display: grid;
  place-items: center;
  padding: .8rem;
  background: radial-gradient(circle at 50% 42%, rgba(38,152,255,.17), transparent 62%);
}

.cleanex-product-preview__image img {
  width: 100%;
  height: 12rem;
  object-fit: contain;
}

.cleanex-product-preview__image span {
  color: rgba(224,236,249,.45);
}

.cleanex-product-preview__body {
  display: grid;
  gap: .62rem;
  padding: 1rem;
}

.cleanex-product-preview__body small {
  color: #31a3ff;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cleanex-product-preview__body h3 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.03;
}

.cleanex-product-preview__body p {
  margin: 0;
  color: rgba(224,236,249,.68);
  font-size: .9rem;
}

.cleanex-product-preview__price {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  flex-wrap: wrap;
}

.cleanex-product-preview__price strong {
  color: #2a9fff;
  font-size: 1.45rem;
}

.cleanex-product-preview__price span,
.cleanex-product-preview__availability {
  color: rgba(224,236,249,.64);
  font-size: .82rem;
}

.cleanex-product-preview__badges {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
}

.cleanex-product-preview__badges span {
  padding: .38rem .55rem;
  border: 1px solid rgba(38,152,255,.26);
  border-radius: 999px;
  background: rgba(38,152,255,.09);
  font-size: .72rem;
  font-weight: 800;
}

.cleanex-product-preview__body button {
  min-height: 2.85rem;
  border: 0;
  border-radius: .8rem;
  background: #2698ff;
  color: #fff;
  font-weight: 900;
  opacity: 1;
}

.cleanex-product-preview__sticky > p {
  margin: 0;
  color: rgba(224,236,249,.5);
  font-size: .78rem;
}

.cleanex-product-editor__savebar {
  position: static;
  bottom: auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem;
  border: 1px solid rgba(38,152,255,.3);
  border-radius: 1rem;
  background: rgba(3,15,27,.95);
  box-shadow: 0 1rem 2.6rem rgba(0,0,0,.4);
}

.cleanex-product-editor__savebar span {
  color: rgba(224,236,249,.64);
  font-size: .82rem;
}

.cleanex-product-edit-shortcut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .8rem;
  padding: .9rem;
  border: 1px solid rgba(38,152,255,.22);
  border-radius: .9rem;
  background: rgba(38,152,255,.06);
}

.cleanex-product-edit-shortcut div {
  display: grid;
  gap: .2rem;
}

.cleanex-product-edit-shortcut small {
  color: rgba(224,236,249,.58);
}

@media (max-width: 1120px) {
  .cleanex-product-editor__layout {
    grid-template-columns: 1fr;
  }

  .cleanex-product-preview {
    order: -1;
  }

  .cleanex-product-preview__sticky {
    position: static;
  }

  .cleanex-product-preview__card {
    display: grid;
    grid-template-columns: minmax(12rem,18rem) minmax(0,1fr);
  }
}

@media (max-width: 720px) {
  .cleanex-product-editor__header {
    display: grid;
  }

  .cleanex-product-editor__header-actions {
    justify-content: stretch;
  }

  .cleanex-product-editor__header-actions .cleanex-btn {
    flex: 1 1 auto;
  }


  .cleanex-editor-media-row,
  .cleanex-product-preview__card {
    grid-template-columns: 1fr;
  }

  .cleanex-product-editor__savebar {
    align-items: stretch;
    flex-direction: column;
  }

  .cleanex-product-edit-shortcut {
    align-items: stretch;
    flex-direction: column;
  }
}


/* v0.10.48: clean tabbed product editor */
.cleanex-product-editor__nav button {
  flex: 0 0 auto;
  min-height: 3rem;
  padding: .72rem 1rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .75rem;
  background: rgba(255,255,255,.025);
  color: rgba(224,236,249,.76);
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
}
.cleanex-product-editor__nav button:hover,
.cleanex-product-editor__nav button:focus-visible,
.cleanex-product-editor__nav button.is-active {
  color: #fff;
  border-color: rgba(38,152,255,.62);
  background: rgba(38,152,255,.16);
  outline: none;
}
.cleanex-product-editor__nav button.is-active { box-shadow: inset 0 -2px 0 #2698ff; }
.cleanex-editor-section[hidden] { display: none !important; }
.cleanex-editor-section.is-active { animation: cleanexEditorPanelIn .18s ease both; }
@keyframes cleanexEditorPanelIn { from { opacity: 0; transform: translateY(.35rem); } to { opacity: 1; transform: translateY(0); } }
.cleanex-channel-toggle {
  display: flex !important;
  align-items: flex-start;
  gap: .8rem;
  min-height: 5rem;
  padding: 1rem;
  border: 1px solid rgba(38,152,255,.24);
  border-radius: 1rem;
  background: rgba(38,152,255,.06);
  cursor: pointer;
}
.cleanex-channel-toggle > input { width: 1.25rem !important; height: 1.25rem !important; margin-top: .1rem; accent-color: #2698ff; }
.cleanex-channel-toggle > span { display: grid; gap: .28rem; }
.cleanex-channel-toggle strong { color: #fff; font-size: 1rem; }
.cleanex-channel-toggle small { color: rgba(224,236,249,.6); line-height: 1.45; }
.cleanex-channel-fields { margin-top: 1rem; }
.cleanex-rental-channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.cleanex-rental-fleet-editor { display: grid; gap: 1rem; margin-top: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; background: rgba(2,10,19,.42); }
.cleanex-rental-fleet-editor__head h3 { margin: 0 0 .2rem; }
.cleanex-rental-fleet-editor__head p { margin: 0; color: rgba(224,236,249,.62); }
.cleanex-rental-unit-list { display: grid; gap: .55rem; }
.cleanex-rental-unit-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.4rem; padding: .72rem .85rem; border: 1px solid rgba(255,255,255,.09); border-radius: .8rem; background: rgba(255,255,255,.025); }
.cleanex-rental-unit-row > div { display: grid; gap: .1rem; }
.cleanex-rental-unit-row small { color: rgba(224,236,249,.55); }
.cleanex-empty-state { padding: 1rem; border: 1px dashed rgba(38,152,255,.28); border-radius: .9rem; background: rgba(38,152,255,.04); }
.cleanex-empty-state p { margin: .3rem 0 0; color: rgba(224,236,249,.62); }

/* v0.10.48: structured guide workspace */
.cleanex-guides-internal-nav { display: flex; gap: .65rem; padding: .7rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; background: rgba(3,13,24,.82); }
.cleanex-guides-internal-nav a { display: inline-flex; align-items: center; gap: .55rem; min-height: 3rem; padding: .72rem 1rem; border: 1px solid rgba(255,255,255,.1); border-radius: .78rem; color: rgba(224,236,249,.78); text-decoration: none; font-weight: 850; }
.cleanex-guides-internal-nav a span { min-width: 1.5rem; height: 1.5rem; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.08); font-size: .75rem; }
.cleanex-guides-internal-nav a.is-active { color: #fff; border-color: rgba(38,152,255,.58); background: rgba(38,152,255,.16); }
.cleanex-guide-editor-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(19rem,25rem); gap: 1rem; align-items: start; }
.cleanex-guide-editor-main { display: grid; gap: 1rem; }
.cleanex-guide-editor-side { position: sticky; top: 8.8rem; }
.cleanex-guide-editor-card { padding: 1rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; background: rgba(5,18,32,.66); }
.cleanex-guide-editor-card > h3 { margin: 0 0 1rem; }
.cleanex-guide-media-fields { display: grid; grid-template-columns: minmax(11rem,16rem) minmax(0,1fr); gap: 1rem; align-items: center; }
.cleanex-guide-image-preview { min-height: 11rem; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(38,152,255,.22); border-radius: 1rem; background: rgba(2,10,19,.55); }
.cleanex-guide-image-preview img { width: 100%; height: 13rem; object-fit: contain; }
.cleanex-guide-image-preview.is-empty { color: rgba(224,236,249,.46); }
.cleanex-guide-product-grid { grid-template-columns: 1fr; max-height: 32rem; overflow: auto; padding-right: .25rem; }
.cleanex-guide-product-option { display: flex !important; align-items: flex-start; gap: .7rem; padding: .75rem; border: 1px solid rgba(255,255,255,.09); border-radius: .8rem; background: rgba(255,255,255,.025); cursor: pointer; }
.cleanex-guide-product-option > input { width: 1.15rem !important; height: 1.15rem !important; margin-top: .12rem; accent-color: #2698ff; }
.cleanex-guide-product-option > span { display: grid; gap: .15rem; }
.cleanex-guide-product-option small { color: rgba(224,236,249,.54); }
.cleanex-guide-savebar { position: sticky; bottom: .75rem; z-index: 4; display: flex; justify-content: flex-end; gap: .65rem; margin-top: 1rem; padding: .75rem; border: 1px solid rgba(38,152,255,.28); border-radius: .9rem; background: rgba(3,15,27,.96); box-shadow: 0 1rem 2.6rem rgba(0,0,0,.32); }
.cleanex-guide-related-tags { display: flex; flex-wrap: wrap; gap: .45rem; min-width: 22rem; }
.cleanex-guide-related-tag { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .55rem; border: 1px solid rgba(38,152,255,.22); border-radius: 999px; background: rgba(38,152,255,.07); }
.cleanex-guide-related-tag b { font-size: .78rem; }
.cleanex-guide-related-tag a { color: #59b4ff; font-size: .72rem; font-weight: 800; text-decoration: none; }
.cleanex-guide-table td { vertical-align: top; }
.cleanex-guide-article__video { max-width: 980px; margin: 0 auto; padding: 0 clamp(1.5rem,5vw,4rem) 1rem; }
.cleanex-guide-article__video iframe { width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 1rem; }
.cleanex-guide-article__content > h2:first-child { margin-top: 0; }
.cleanex-guide-article--steps .cleanex-guide-article__content { counter-reset: guide-step; }
.cleanex-guide-article--steps .cleanex-guide-article__content h3 { counter-increment: guide-step; }
.cleanex-guide-article--steps .cleanex-guide-article__content h3::before { content: counter(guide-step, decimal-leading-zero) ' '; color: #2698ff; }

@media (max-width: 1100px) {
  .cleanex-guide-editor-grid { grid-template-columns: 1fr; }
  .cleanex-guide-editor-side { position: static; }
  .cleanex-guide-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: none; }
}
@media (max-width: 720px) {
  .cleanex-rental-channel-grid, .cleanex-guide-product-grid { grid-template-columns: 1fr; }
  .cleanex-rental-unit-row { align-items: flex-start; flex-direction: column; }
  .cleanex-guides-internal-nav { overflow-x: auto; }
  .cleanex-guide-media-fields { grid-template-columns: 1fr; }
  .cleanex-guide-savebar { align-items: stretch; flex-direction: column-reverse; }
}


/* v0.10.49: editor navigation belongs to the editor card, not the viewport */
.cleanex-product-editor__nav {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  backdrop-filter: none;
}
.cleanex-product-editor__nav button { touch-action: manipulation; }
.cleanex-product-editor__savebar { position: static !important; inset: auto !important; }

/* v0.10.50: catalog-style cart recommendations and add-to-cart guidance */
.cleanex-cart-recommendations--compact {
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(71, 139, 220, .28);
  border-radius: 1.2rem;
  background: rgba(5, 18, 33, .72);
}

.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head h3 {
  margin: .18rem 0 0;
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
}

.cleanex-cart-recommendations--compact .cleanex-cart-recommendations__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  overflow: visible;
}

.cleanex-cart-recommendation-card--catalog {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr;
  min-width: 0;
  min-height: 21rem;
  padding: .8rem;
  overflow: hidden;
  border: 1px solid rgba(86, 145, 219, .28);
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(12, 31, 54, .96), rgba(6, 20, 37, .98));
  box-shadow: 0 .9rem 2.2rem rgba(0, 0, 0, .16);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cleanex-cart-recommendation-card--catalog:hover,
.cleanex-cart-recommendation-card--catalog:focus-within {
  transform: translateY(-2px);
  border-color: rgba(38, 152, 255, .62);
  box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, .28);
}

.cleanex-cart-recommendation-card--catalog.is-added {
  border-color: rgba(38, 152, 255, .8);
  box-shadow: 0 0 0 1px rgba(38, 152, 255, .26), 0 1.2rem 2.8rem rgba(0, 0, 0, .28);
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-visual {
  position: relative;
  min-height: 10.5rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(99, 151, 218, .16);
  border-radius: .95rem;
  background: radial-gradient(circle at 50% 52%, rgba(39, 102, 162, .19), rgba(9, 27, 47, .86) 68%);
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-visual img {
  width: 100%;
  height: 10.5rem;
  max-width: 92%;
  padding: .55rem;
  object-fit: contain;
  object-position: center;
}

.cleanex-cart-recommendation-placeholder {
  width: 4.25rem;
  height: 4.25rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: rgba(131, 187, 239, .72);
  background: rgba(38, 152, 255, .08);
}

.cleanex-cart-recommendation-placeholder svg {
  width: 2.2rem;
  height: 2.2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-badges {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 1;
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-badges span {
  padding: .34rem .5rem;
  border: 1px solid rgba(38, 152, 255, .32);
  border-radius: 999px;
  color: #dff1ff;
  background: rgba(4, 21, 38, .88);
  font-size: .68rem;
  font-weight: 850;
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-copy {
  display: grid;
  gap: .4rem;
  padding: .85rem .15rem .65rem;
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-copy strong {
  min-height: 0;
  color: #fff;
  font-size: 1rem;
  line-height: 1.2;
  -webkit-line-clamp: 2;
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-copy small {
  min-height: 0;
  margin: 0;
  color: rgba(216, 230, 247, .68);
  font-size: .78rem;
  line-height: 1.4;
}

.cleanex-cart-recommendation-footer {
  align-self: end;
  display: grid;
  gap: .65rem;
  padding: .7rem .15rem .1rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.cleanex-cart-recommendation-price {
  color: #fff;
  font-size: .93rem;
  font-weight: 900;
}

.cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .35rem;
  margin: 0;
}

.cleanex-cart-recommendation-add.cleanex-btn {
  width: 100%;
  min-height: 2.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding-inline: .9rem;
}

.cleanex-cart-recommendation-add b {
  width: 1.45rem;
  height: 1.45rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  font-size: 1rem;
}

.cleanex-cart-recommendation-action .cxcp-rec-add-status {
  min-height: 1em;
  color: rgba(196, 223, 247, .72);
  font-size: .68rem;
  text-align: center;
}

.cleanex-cart-fly {
  position: fixed;
  z-index: 999999;
  width: 2.9rem;
  height: 2.9rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, #31a6ff, #117ed8);
  box-shadow: 0 .75rem 2rem rgba(0, 106, 210, .5), 0 0 0 .4rem rgba(38, 152, 255, .14);
  pointer-events: none;
  transform-origin: center;
}

.cleanex-cart-fly svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-icon--cart.is-cart-attention {
  z-index: 8;
  border-color: rgba(38, 152, 255, .95) !important;
  color: #fff !important;
  background: rgba(38, 152, 255, .2) !important;
  box-shadow: 0 0 0 .3rem rgba(38, 152, 255, .15), 0 0 2rem rgba(38, 152, 255, .7) !important;
  animation: cleanexCartAttention .72s cubic-bezier(.2,.8,.2,1) 2;
}

.site-icon--cart.is-cart-attention em {
  transform: scale(1.16);
  background: #fff;
  color: #0876c9;
}

@keyframes cleanexCartAttention {
  0%, 100% { transform: scale(1); }
  45% { transform: scale(1.13) rotate(-5deg); }
  70% { transform: scale(1.05) rotate(3deg); }
}

@media (max-width: 1180px) {
  .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__track {
    display: flex;
    gap: .8rem;
    margin-inline: -.2rem;
    padding: .2rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .cleanex-cart-recommendation-card--catalog {
    flex: 0 0 min(82vw, 18.5rem);
    min-height: 20rem;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-icon--cart.is-cart-attention { animation: none; }
  .cleanex-cart-recommendation-card--catalog { transition: none; }
}


/* v0.10.61: related-product cards use catalog media above the title and cart refreshes live */
body.cleanex-cart-page-body .cleanex-cart-recommendations--compact .cleanex-cart-recommendations__track {
  align-items: stretch;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  min-height: 25rem;
  padding: .85rem !important;
  overflow: hidden;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-visual {
  order: 1;
  width: 100% !important;
  min-height: 11.5rem !important;
  aspect-ratio: 4 / 3;
  display: grid !important;
  place-items: center !important;
  margin: 0 0 .85rem !important;
  padding: .7rem !important;
  overflow: hidden;
  border-radius: 1rem;
  background: radial-gradient(circle at 50% 50%, rgba(41, 105, 166, .2), rgba(8, 26, 45, .92) 72%);
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 10rem !important;
  padding: 0 !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-badges {
  top: .65rem;
  left: .65rem;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-copy {
  order: 2;
  width: 100%;
  padding: 0 .1rem .8rem !important;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-copy strong {
  display: -webkit-box;
  min-height: 2.4em;
  margin: 0;
  overflow: hidden;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-copy small {
  display: block;
  min-height: 2.6em;
  margin-top: .45rem;
}

body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-footer {
  order: 3;
  width: 100%;
  margin-top: auto;
}

.cleanex-guided-cart-items.is-live-updated {
  animation: cleanexCartLiveRefresh .85s ease both;
}

@keyframes cleanexCartLiveRefresh {
  0% { opacity: .58; transform: translateY(.35rem); }
  45% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}

@media (max-width: 680px) {
  body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog {
    min-height: 23rem;
  }

  body.cleanex-cart-page-body .cleanex-cart-recommendation-card--catalog .cleanex-cart-recommendation-visual {
    min-height: 10rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cleanex-guided-cart-items.is-live-updated { animation: none; }
}
