:root {
  --ink:#172d2b;
  --muted:#778580;
  --green:#225e46;
  --lime:#d7eea5;
  --line:#e5e9e3;
  --paper:#f7f8f4;
  --white:#fff;
  --field-control-height:44px;
  --app-viewport-width:100vw;
  --app-viewport-height:100dvh
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
button,a {
  touch-action:manipulation
}
a {
  color:inherit;
  text-decoration:none
}
button {
  cursor:pointer
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
button:focus-visible,a:focus-visible {
  outline:3px solid #9bbf76;
  outline-offset:3px
}
:where(details)>summary {
  display:flex;
  align-items:center;
  gap:10px;
  list-style:none
}
:where(details)>summary::-webkit-details-marker {
  display:none
}
:where(details)>summary::before,.omni-disclosure-chevron {
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(-45deg);
  transition:transform .18s ease
}
:where(details)>summary::before {
  content:''
}
:where(details[open])>summary::before,
[aria-expanded="true"]>.omni-disclosure-chevron,
[aria-pressed="true"]>.omni-disclosure-chevron {
  transform:rotate(45deg)
}
:where(details)>summary:focus-visible {
  outline:3px solid #9bbf76;
  outline-offset:3px
}
.sidebar {
  width:248px;
  background:#fff;
  border-right:1px solid var(--line);
  position:fixed;
  inset:0 auto 0 0;
  padding:30px 20px;
  display:flex;
  flex-direction:column
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:22px;
  font-weight:750;
  letter-spacing:-.8px
}
.brand-mark {
  width:43px;
  height:43px;
  background:var(--green);
  color:#fff;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  letter-spacing:-3px
}
.brand-mark span {
  font-size:16px;
  align-self:flex-start;
  margin-top:7px
}
.brand small {
  display:block;
  font-size:8px;
  letter-spacing:2px;
  color:var(--muted);
  margin-top:5px
}
.workspace {
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--paper);
  padding:13px 10px;
  margin:32px 0 22px;
  border:1px solid var(--line);
  border-radius:9px;
  font-size:11px;
  font-weight:600
}
.workspace small {
  display:block;
  color:var(--muted);
  font-weight:400;
  margin-top:5px
}
.workspace-icon {
  background:#e3e9dd;
  color:var(--green);
  padding:9px;
  border-radius:6px
}
.live-dot {
  width:7px;
  height:7px;
  background:#6b9661;
  border-radius:50%;
  display:inline-block;
  flex-shrink:0
}
.workspace .live-dot {
  margin-left:auto
}
.nav-label {
  font-size:9px;
  letter-spacing:1.6px;
  color:#98a19a;
  font-weight:700;
  margin:14px 12px
}
nav {
  display:grid;
  gap:6px;
  margin-bottom:26px
}
nav a {
  min-height:43px;
  padding:12px;
  border-radius:7px;
  color:#697670;
  font-size:12px;
  display:flex;
  align-items:center;
  gap:10px
}
nav a>span {
  font-size:18px;
  width:20px
}
nav a.active {
  background:#edf3e7;
  color:var(--green);
  font-weight:650
}
nav a:hover {
  background:#f3f6ef
}
nav b {
  font-size:9px;
  margin-left:auto;
  background:#dce9d4;
  padding:3px 5px;
  border-radius:4px
}
nav em {
  font-size:9px;
  font-style:normal;
  border:1px solid var(--line);
  padding:3px 5px;
  margin-left:auto;
  border-radius:4px
}
.sidebar-bottom {
  margin-top:auto
}
.local-label {
  font-size:11px;
  display:flex;
  align-items:center;
  gap:8px
}
.sidebar-bottom p {
  font-size:10px;
  line-height:1.7;
  color:var(--muted)
}
.profile {
  border-top:1px solid var(--line);
  margin-top:24px;
  padding-top:20px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px
}
.profile>span,.avatar {
  display:grid;
  place-items:center;
  background:#f0e9d8;
  border:1px solid #e8dfca;
  width:33px;
  height:33px;
  border-radius:50%;
  font-size:10px;
  font-weight:650
}
.profile small {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:4px
}
.shell {
  margin-left:248px
}
.topbar {
  position:sticky;
  top:0;
  z-index:9;
  height:76px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 38px;
  background:var(--white);
  font-size:11px;
  color:var(--muted)
}
.topbar strong {
  font-weight:500;
  color:var(--ink)
}
.topbar span:not(.pill):not(.avatar) {
  margin:0 13px;
  color:#b3bab3
}
.top-right {
  display:flex;
  gap:20px;
  align-items:center
}
main {
  max-width:1600px;
  margin:auto;
  padding:35px 38px;
  min-height:calc(var(--app-viewport-height) - 126px)
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px
}
.eyebrow {
  font-size:9px;
  letter-spacing:1.8px;
  color:var(--muted);
  font-weight:650
}
h1 {
  font-size:29px;
  letter-spacing:-1px;
  font-weight:600;
  margin:9px 0
}
h2 {
  font-size:17px;
  letter-spacing:-.35px;
  font-weight:600;
  margin:0
}
h3 {
  font-size:14px;
  margin:0
}
.subtitle {
  font-size:12px;
  color:var(--muted);
  line-height:1.7;
  margin:0
}
.button {
  border:1px solid transparent;
  border-radius:7px;
  padding:11px 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap
}
.primary {
  background:var(--green);
  color:white
}
.primary:hover {
  background:#174c37
}
.secondary {
  background:white;
  border-color:var(--line);
  color:var(--ink)
}
.secondary:hover {
  background:#f4f6ef
}
.button.danger {
  background:#b74747;
  border-color:#b74747;
  color:#fff
}
.button.danger:hover {
  background:#9f3838;
  border-color:#9f3838
}
.heading-actions {
  display:flex;
  gap:9px
}
.stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin-bottom:22px
}
.stat {
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  padding:20px;
  position:relative
}
.stat-label {
  font-size:11px;
  color:#718079
}
.stat-value {
  font-size:30px;
  font-weight:550;
  letter-spacing:-1px;
  margin:16px 0 8px
}
.stat-foot {
  font-size:10px;
  color:var(--muted)
}
.stat-symbol {
  position:absolute;
  top:16px;
  right:16px;
  background:#f0f4e9;
  color:#5e7654;
  border-radius:8px;
  padding:6px 9px;
  font-size:17px
}
.source-card {
  display:flex;
  align-items:center;
  gap:15px;
  border:1px solid #dae4cc;
  border-radius:10px;
  padding:18px 21px;
  background:#eff4e7;
  margin-bottom:28px
}
.source-icon {
  border-radius:9px;
  background:#fff;
  color:var(--green);
  padding:13px;
  font-size:20px
}
.source-card h3 {
  font-size:12px;
  margin-bottom:7px
}
.source-card p {
  font-size:11px;
  margin:0;
  color:#77836e
}
.source-card .button {
  margin-left:auto
}
.pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:5px;
  padding:5px 7px;
  font-size:9px;
  white-space:nowrap;
  font-weight:500
}
.positive {
  color:#347453;
  background:#edf5ea
}
.warning {
  color:#a17c28;
  background:#fbf3dd
}
.neutral {
  color:#78817b;
  background:#f0f2ef
}
.edited {
  color:#6b63a5;
  background:#f0edfb
}
.catalog {
  background:white;
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden
}
.table-tools {
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:0 22px 19px
}
.search {
  display:flex;
  align-items:center;
  gap:9px;
  max-width:430px;
  flex:1;
  border:1px solid var(--line);
  border-radius:7px;
  padding:0 12px;
  color:var(--muted)
}
.search input {
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  padding:11px 0;
  font-size:11px
}
.search:focus-within {
  outline:2px solid #bfd09f
}
select {
  background:white;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--ink);
  padding:9px 11px;
  font-size:11px;
  font-family:inherit;
  font-weight:400
}
.filters {
  display:flex;
  gap:8px
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  white-space:nowrap
}
th {
  font-size:9px;
  color:#8a948d;
  font-weight:550;
  background:#fafbf8;
  letter-spacing:.4px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:13px 20px
}
td {
  padding:14px 20px;
  border-bottom:1px solid #f0f2ed;
  font-size:11px
}
tbody tr:hover {
  background:#fafcf7
}
td.product-cell {
  display:flex;
  gap:12px;
  align-items:center;
  min-width:260px;
  max-width:450px
}
.product-tile {
  width:35px;
  height:37px;
  flex-shrink:0;
  background:#f0f2e9;
  border:1px solid #e7eadf;
  border-radius:7px;
  display:grid;
  place-items:center;
  color:#80916e;
  font-size:18px
}
.product-name {
  border:0;
  background:transparent;
  color:var(--ink);
  padding:0;
  text-align:left;
  white-space:normal;
  font-size:11px;
  font-weight:550;
  line-height:1.5;
  max-width:360px
}
.product-name:hover {
  text-decoration:underline
}
.product-sku {
  font-size:10px;
  color:#97a095;
  display:block;
  margin-top:4px;
  font-family:ui-monospace,monospace
}
.quantity {
  font-size:12px;
  font-weight:600
}
.muted {
  color:var(--muted)
}
.row-open {
  border:1px solid var(--line);
  background:white;
  border-radius:5px;
  padding:5px 8px;
  color:#6b7b6a
}
footer {
  font-size:9px;
  color:#939c94;
  padding:10px 38px 20px;
  display:flex;
  justify-content:space-between
}
.app-footer {
  position:relative;
  align-items:center
}
.release-summary {
  min-height:42px;
  padding:7px 0;
  border:0;
  border-radius:5px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-decoration:underline;
  text-underline-offset:3px
}
.release-summary:hover {
  color:var(--ink)
}
.release-popover {
  position:absolute;
  right:38px;
  bottom:calc(100% + 8px);
  z-index:20;
  width:min(380px,calc(100% - 76px));
  padding:16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 10px 30px #263e5426;
  font-size:12px;
  line-height:1.5
}
.release-popover[hidden] {
  display:none
}
.release-popover::after {
  content:"";
  position:absolute;
  right:28px;
  bottom:-7px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--white)
}
.release-popover strong {
  display:block;
  font-size:13px
}
.release-popover p {
  margin:9px 0 14px;
  white-space:pre-line
}
.release-popover .button {
  width:100%
}
.release-history-list {
  display:grid;
  gap:14px
}
.release-history-item {
  padding:20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--white)
}
.release-history-item.is-current {
  border-left:5px solid var(--positive)
}
.release-history-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.release-history-item time {
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:11px;
  font-variant-numeric:tabular-nums
}
.release-history-item p {
  margin:14px 0 0;
  line-height:1.6;
  white-space:pre-line
}
.empty,.loading {
  padding:65px;
  text-align:center;
  color:var(--muted)
}
.panel {
  background:white;
  border:1px solid var(--line);
  border-radius:10px;
  padding:25px;
  margin-bottom:20px
}
.panel h2 {
  margin-bottom:8px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:25px
}
label.field {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:11px;
  font-weight:550
}
.field input,.field textarea {
  border:1px solid #dfe5da;
  border-radius:7px;
  padding:11px 12px;
  color:var(--ink);
  background:white;
  width:100%;
  font-size:14px;
  font-weight:400
}
.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.field select {
  height:var(--field-control-height);
  min-height:var(--field-control-height)
}
.field textarea {
  resize:vertical;
  line-height:1.6
}
.field input:focus,.field textarea:focus {
  outline:2px solid #bfd09f
}
.field small {
  font-weight:400;
  color:var(--muted);
  line-height:1.6
}
.full {
  grid-column:1/-1
}
.check {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px
}
.check input {
  accent-color:var(--green)
}
.omni-switch {
  position:relative;
  display:inline-grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:44px;
  width:max-content;
  max-width:100%;
  color:var(--ink);
  font-size:12px;
  font-weight:600;
  cursor:pointer
}
.omni-switch input {
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0
}
.omni-switch-track {
  position:relative;
  display:block;
  width:44px;
  height:24px;
  border:1px solid color-mix(in srgb,var(--ink) 38%,var(--white));
  border-radius:999px;
  background:color-mix(in srgb,var(--ink) 25%,var(--white));
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease
}
.omni-switch-track::after {
  content:'';
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--white);
  box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 35%,transparent);
  transition:transform .16s ease
}
.omni-switch input:checked+.omni-switch-track {
  border-color:var(--blue,var(--green));
  background:var(--blue,var(--green))
}
.omni-switch input:checked+.omni-switch-track::after {
  transform:translateX(20px)
}
.omni-switch input:focus-visible+.omni-switch-track {
  outline:3px solid color-mix(in srgb,var(--blue,var(--green)) 35%,transparent);
  outline-offset:2px
}
.omni-switch:hover input:not(:disabled)+.omni-switch-track {
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,var(--green)) 12%,transparent)
}
.omni-switch:has(input:disabled) {
  opacity:.48;
  cursor:not-allowed
}
@media(prefers-reduced-motion:reduce) {
  .omni-switch-track,.omni-switch-track::after {transition:none}
}
.form-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:25px
}
.notice {
  background:#f5f6ee;
  color:#737e66;
  border:1px solid #e5e9d9;
  padding:13px 16px;
  border-radius:7px;
  font-size:11px;
  line-height:1.7
}
.pricing-prerequisite {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin:0 0 16px
}
.pricing-prerequisite strong {
  display:block;
  color:var(--ink);
  font-size:14px
}
.pricing-prerequisite p {
  margin:2px 0 0
}
@media(max-width:700px) {
  .pricing-prerequisite {
    grid-template-columns:1fr
  }
}
.query {
  background:#f7f8f4;
  padding:20px;
  border-radius:7px;
  overflow:auto;
  font-size:11px;
  line-height:1.7;
  color:#537055;
  max-height:280px
}
dialog {
  padding:0;
  border:0;
  border-left:1px solid var(--line);
  height:var(--app-viewport-height);
  max-height:var(--app-viewport-height);
  width:580px;
  max-width:var(--app-viewport-width);
  margin:0 0 0 auto;
  color:var(--ink);
  box-shadow:-15px 0 80px #18342619
}
dialog:not([open]) {
  display:none!important
}
dialog::backdrop {
  background:#182c2959;
  backdrop-filter:blur(2px)
}
#product-form {
  min-height:100%;
  display:flex;
  flex-direction:column
}
.drawer-heading {
  padding:25px 28px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center
}
.drawer-heading h2 {
  margin-top:8px
}
.icon-button {
  border:1px solid var(--line);
  background:white;
  border-radius:6px;
  width:32px;
  height:32px;
  font-size:22px;
  color:var(--muted)
}
#detail-body {
  padding:26px 28px;
  flex:1
}
.detail-identity {
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:23px
}
.detail-identity .product-tile {
  height:52px;
  width:52px;
  font-size:26px
}
.detail-identity h3 {
  line-height:1.6
}
.detail-section {
  font-size:10px;
  letter-spacing:1px;
  margin:26px 0 14px;
  color:#84917d
}
.alias-list {
  display:flex;
  flex-wrap:wrap;
  gap:6px
}
.alias {
  font-size:10px;
  background:#f4f5ef;
  border:1px solid var(--line);
  border-radius:5px;
  padding:6px 8px;
  font-family:ui-monospace,monospace
}
.drawer-actions {
  position:sticky;
  bottom:0;
  background:white;
  border-top:1px solid var(--line);
  padding:20px 28px;
  display:flex;
  justify-content:flex-end;
  gap:10px
}
.originals {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:11px;
  margin-top:18px;
  color:var(--muted)
}
#toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  background:var(--ink);
  color:white;
  border-radius:8px;
  padding:13px 20px;
  box-shadow:0 6px 30px #0002;
  font-size:12px;
  display:none;
  z-index:10
}
#toast.visible {
  display:block
}
.inline-error {
  color:#b34235;
  font-size:12px;
  line-height:1.6
}
.pricing-unmatched-product {
  color:#b74747;
  font-weight:600
}
.margin-control-value {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 10px;
  border:1px solid currentColor;
  border-radius:999px;
  font-weight:650;
  line-height:1.2;
  white-space:nowrap
}
.margin-control-value--danger {
  color:#a83e3e;
  border-color:#e1a9a9;
  background:#fbecec
}
.margin-control-value--warning {
  color:#9b5e13;
  border-color:#e5c17b;
  background:#fff4dc
}
.margin-control-value--success {
  color:#286f4f;
  border-color:#9bcbb2;
  background:#eaf5ef
}
.theme-dark .pricing-unmatched-product {
  color:#ffb9bf
}
.theme-dark .margin-control-value--danger {
  color:#ffced2;
  border-color:#a85560;
  background:#5a2930
}
.theme-dark .margin-control-value--warning {
  color:#ffda9e;
  border-color:#9b7135;
  background:#54401f
}
.theme-dark .margin-control-value--success {
  color:#a9e1c3;
  border-color:#4e8e6c;
  background:#234838
}
@media(min-width:1500px) {
  main {
    padding-top:44px
  }
  .stat {
    padding:24px
  }
  td {
    padding-top:17px;
    padding-bottom:17px
  }
}
@media(max-width:1100px) {
  .sidebar {
    width:210px;
    padding:25px 14px
  }
  .shell {
    margin-left:210px
  }
  main {
    padding:26px 22px
  }
  .topbar {
    padding:0 22px
  }
  .stats {
    gap:10px
  }
  .stat {
    padding:16px
  }
  .stat-symbol {
    display:none
  }
  .table-tools {
    flex-wrap:wrap
  }
  .page-heading {
    align-items:flex-start
  }
  .heading-actions {
    flex-direction:column
  }
  .source-card {
    flex-wrap:wrap
  }
  td,th {
    padding-left:15px;
    padding-right:15px
  }
}
@media(max-width:760px) {
  .sidebar {
    position:static;
    width:auto;
    padding:17px;
    border-bottom:1px solid var(--line);
    border-right:0
  }
  .brand {
    font-size:19px
  }
  .brand-mark {
    width:35px;
    height:35px;
    font-size:23px
  }
  .workspace,.nav-label,.sidebar-bottom {
    display:none
  }
  .sidebar nav {
    display:flex;
    flex-wrap:wrap;
    margin:14px 0 0;
    gap:4px
  }
  .sidebar nav:last-of-type {
    margin-top:4px
  }
  nav a {
    font-size:11px;
    padding:8px;
    min-height:34px
  }
  nav a>span {
    font-size:15px;
    width:auto
  }
  nav b {
    display:none
  }
  .shell {
    margin:0
  }
  .topbar {
    height:50px;
    padding:0 18px
  }
  main {
    padding:22px 16px
  }
  .page-heading {
    flex-direction:column;
    gap:16px
  }
  .heading-actions {
    flex-direction:row
  }
  h1 {
    font-size:25px
  }
  .stats {
    grid-template-columns:1fr 1fr
  }
  .stat-value {
    font-size:27px
  }
  .source-card {
    padding:15px;
    gap:12px
  }
  .source-card p {
    line-height:1.6
  }
  .source-card .button {
    margin-left:0
  }
  .source-icon {
    display:none
  }
  .table-tools {
    padding:0 15px 15px;
    flex-direction:column
  }
  .search {
    max-width:none
  }
  .filters select {
    min-width:0;
    flex:1
  }
  .panel {
    padding:18px
  }
  .form-actions {
    align-items:flex-start;
    flex-direction:column
  }
  footer {
    padding:12px 16px;
    line-height:1.7;
    gap:12px
  }
  .app-footer {
    align-items:flex-start;
    flex-direction:column
  }
  .release-popover {
    position:fixed;
    right:12px;
    bottom:12px;
    width:calc(100% - 24px)
  }
  .release-popover::after {
    display:none
  }
  .originals {
    flex-direction:column
  }
}
/* Omni Hub brand palette and download progress */ :root {
  --ink:#384959;
  --muted:#6A89A7;
  --green:#384959;
  --blue:#88BDF2;
  --positive:#2f7b55;
  --mist:#BDDDFC;
  --slate:#6A89A7;
  --line:#dbe6f0;
  --paper:#f5f9fd;
  --white:#fff
}
.brand img {
  width:155px;
  height:auto;
  display:block;
  object-fit:contain
}
.brand-context {
  font-size:8px;
  letter-spacing:1.6px;
  color:var(--slate);
  font-weight:700;
  line-height:1.5
}
.brand-context small {
  font-size:7px;
  letter-spacing:1px;
  color:var(--muted);
  margin-top:3px
}
.brand {
  gap:10px
}
.workspace-icon {
  background:var(--mist);
  color:var(--ink)
}
.live-dot {
  background:var(--blue)
}
nav a.active {
  background:#e8f3fc;
  color:var(--ink)
}
nav b {
  background:var(--mist)
}
.stat-symbol {
  background:#eaf4fc;
  color:var(--ink)
}
.source-card {
  border-color:#c4ddf2;
  background:#eaf4fc
}
.source-card p {
  color:#55718d
}
.positive {
  color:#315d80;
  background:#e5f2fc
}
.warning {
  color:#8c6b32;
  background:#fff4dc
}
.search:focus-within,.field input:focus,.field textarea:focus {
  outline-color:var(--blue)
}
.product-tile {
  background:#edf5fc;
  border-color:#d6e8f7;
  color:var(--slate)
}
.operation-status {
  position:fixed;
  top:calc(var(--shell-topbar-height, 76px) + 12px);
  left:50%;
  transform:translateX(-50%);
  z-index:130;
  display:flex;
  align-items:center;
  gap:13px;
  width:min(460px,calc(var(--app-viewport-width) - 24px));
  min-width:0;
  padding:14px 18px;
  border:1px solid #b9d7ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 36px #3849592b;
  color:var(--ink)
}
.global-loading-banner {
  position:fixed;
  top:calc(var(--shell-topbar-height, 68px) + 12px);
  left:50%;
  z-index:129;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  width:min(560px,calc(var(--app-viewport-width) - 24px));
  min-height:46px;
  padding:10px 18px;
  transform:translateX(-50%);
  border:1px solid #b9d7ef;
  border-radius:10px;
  background:var(--white);
  box-shadow:0 12px 36px #3849592b;
  color:var(--ink)
}
.global-loading-banner[hidden] {
  display:none
}
.global-loading-banner .spinner {
  width:20px;
  height:20px;
  border-width:2px
}
.global-loading-banner strong {
  font-size:12px;
  font-weight:650
}
.operation-status[hidden] {
  display:none
}
.operation-status strong {
  display:block;
  font-size:12px
}
.operation-status small {
  display:block;
  margin-top:4px;
  color:var(--slate);
  font-size:10px
}
.spinner {
  width:22px;
  height:22px;
  flex:none;
  border:3px solid var(--mist);
  border-top-color:var(--ink);
  border-radius:50%;
  animation:spin .75s linear infinite
}
@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}
.operation-content {
  flex:1;
  min-width:0
}
.operation-progress {
  height:6px;
  margin-top:9px;
  overflow:hidden;
  border-radius:999px;
  background:var(--mist)
}
.operation-progress span {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:var(--blue);
  transition:width .25s ease
}
.operation-progress.indeterminate span {
  width:38%!important;
  animation:operation-progress-indeterminate 1.1s ease-in-out infinite
}
@keyframes operation-progress-indeterminate {
  0% {
    transform:translateX(-130%)
  }
  100% {
    transform:translateX(340%)
  }
}
.brand {
  flex-direction:column;
  align-items:flex-start;
  gap:7px
}
.brand img {
  width:175px
}
.brand-context {
  margin-left:3px
}
.theme-eclipse {
  --ink:#272757;
  --muted:#505081;
  --green:#0F0E47;
  --blue:#8686AC;
  --mist:#d9d9eb;
  --slate:#505081;
  --line:#dfdfee;
  --paper:#f7f7fb
}
.theme-eclipse .workspace-icon {
  background:#d9d9eb
}
.theme-eclipse nav a.active {
  background:#e9e9f4
}
.theme-eclipse nav b {
  background:#d9d9eb
}
.theme-eclipse .source-card {
  border-color:#c7c7df;
  background:#eeeeF7
}
.theme-eclipse .stat-symbol {
  background:#ededf8
}
.theme-eclipse .product-tile {
  background:#f0f0f8;
  border-color:#d9d9eb
}
.theme-eclipse .operation-status {
  border-color:#c7c7df
}
.theme-eclipse .global-loading-banner {
  border-color:#c7c7df
}
.theme-eclipse .spinner {
  border-color:#d9d9eb;
  border-top-color:var(--green)
}
.theme-quick {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
  font-size:10px
}
.theme-quick select {
  padding:6px 8px;
  font-size:10px;
  background:#fff
}
.theme-dark {
  --ink:#edf5fb;
  --muted:#9fb9cf;
  --green:#88BDF2;
  --blue:#88BDF2;
  --positive:#72c99a;
  --mist:#384959;
  --slate:#BDDDFC;
  --line:#40586e;
  --paper:#172533;
  --white:#223545;
  background:var(--paper);
  color:var(--ink)
}
.theme-eclipse.theme-dark {
  --ink:#f1f0ff;
  --muted:#b6b6d3;
  --green:#8686AC;
  --blue:#8686AC;
  --mist:#505081;
  --slate:#d0d0e8;
  --line:#45456a;
  --paper:#11122d;
  --white:#202143
}
.theme-dark .sidebar,.theme-dark .topbar,.theme-dark .catalog,.theme-dark .stat,.theme-dark .panel,.theme-dark dialog,.theme-dark .drawer-actions,.theme-dark .secondary,.theme-dark .theme-quick select {
  background:var(--white);
  color:var(--ink)
}
.theme-dark .topbar {
  background:#172533
}
.theme-dark th {
  background:#1c2e3d;
  color:var(--slate);
  border-color:var(--line)
}
.theme-dark td {
  border-color:#30475a
}
.theme-dark .workspace {
  background:#1d3040;
  border-color:var(--line)
}
.theme-dark nav a {
  color:#b4c7d6
}
.theme-dark nav a:hover,.theme-dark nav a.active {
  background:#2b4357;
  color:var(--ink)
}
.theme-eclipse.theme-dark nav a:hover,.theme-eclipse.theme-dark nav a.active {
  background:#303054
}
.theme-dark .source-card {
  background:#243c50;
  border-color:#42627a
}
.theme-eclipse.theme-dark .source-card {
  background:#29294b;
  border-color:#4c4c77
}
.theme-dark .source-card p,.theme-dark .subtitle,.theme-dark .stat-foot {
  color:var(--muted)
}
.theme-dark .notice {
  background:#263d50;
  border-color:#46637a;
  color:#c5d8e7
}
.theme-eclipse.theme-dark .notice {
  background:#29294b;
  border-color:#4d4d75;
  color:#d2d1e7
}
.theme-dark .field input,.theme-dark .field textarea,.theme-dark select {
  background:#1b2e3d;
  border-color:var(--line);
  color:var(--ink)
}
.theme-eclipse.theme-dark .field input,.theme-eclipse.theme-dark .field textarea,.theme-eclipse.theme-dark select {
  background:#1b1c3b;
  border-color:var(--line)
}
.theme-dark .search {
  border-color:var(--line)
}
.theme-dark .search input {
  color:var(--ink)
}
.theme-dark .search input::placeholder {
  color:var(--muted)
}
.theme-dark .query {
  background:#152631;
  color:#b9d8ef
}
.theme-eclipse.theme-dark .query {
  background:#171838;
  color:#d0d0e8
}
.theme-dark .button.primary {
  background:var(--green);
  color:#172533
}
.theme-eclipse.theme-dark .button.primary {
  color:#11122d
}
.theme-dark .button.secondary {
  border-color:var(--line)
}
.theme-dark .product-tile {
  background:#263f53;
  border-color:#45647d;
  color:var(--blue)
}
.theme-eclipse.theme-dark .product-tile {
  background:#2b2b50;
  border-color:#4b4b78;
  color:var(--blue)
}
.theme-dark .alias {
  background:#1d3445;
  border-color:var(--line);
  color:var(--slate)
}
.theme-eclipse.theme-dark .alias {
  background:#272747
}
.theme-dark .operation-status {
  background:var(--white);
  border-color:var(--line)
}
.theme-dark .global-loading-banner {
  border-color:var(--line)
}
.theme-dark .operation-status small {
  color:var(--slate)
}
.theme-dark footer {
  color:var(--muted)
}
.theme-dark .brand img {
  filter:invert(1) brightness(1.8)
}
.theme-dark .stat-symbol {
  background:#2c465b;
  color:var(--blue)
}
.theme-eclipse.theme-dark .stat-symbol {
  background:#33335b;
  color:#b8b8d2
}
.theme-dark .pill.neutral {
  background:#31495b;
  color:#c1d9e9
}
.theme-eclipse.theme-dark .pill.neutral {
  background:#35355b;
  color:#d0d0e8
}
.theme-dark .brand-context,.theme-dark .nav-label {
  color:var(--muted)
}
.theme-dark .topbar span:not(.pill):not(.avatar) {
  color:#7892a9
}
.theme-dark nav b {
  background:#31495b;
  color:#c1d9e9
}
.theme-dark nav em {
  border-color:var(--line);
  color:var(--muted)
}
.theme-dark .workspace-icon {
  background:#2c465b;
  color:var(--blue)
}
.theme-dark .workspace small,.theme-dark .stat-label,.theme-dark .product-sku,.theme-dark .detail-section {
  color:var(--muted)
}
.theme-dark .source-icon {
  background:#2a465c;
  color:var(--blue)
}
.theme-dark .positive {
  background:#244b4b;
  color:#a8e2ce
}
.theme-dark .warning {
  background:#4e432b;
  color:#f2d18a
}
.theme-dark .edited {
  background:#3f3b62;
  color:#d5cffb
}
.theme-dark tbody tr:hover {
  background:#263d4f
}
.theme-dark .row-open,.theme-dark .icon-button {
  background:var(--white);
  border-color:var(--line);
  color:var(--ink)
}
.theme-dark .primary:hover {
  background:#6fa8d8
}
.theme-dark #toast {
  background:#0f1d29;
  color:#edf5fb
}
.theme-eclipse.theme-dark .source-icon {
  background:#33335b;
  color:#b8b8d2
}
.theme-eclipse.theme-dark .positive {
  background:#29464b;
  color:#b9e7d8
}
.theme-eclipse.theme-dark .warning {
  background:#4b422e;
  color:#efcf8f
}
.theme-eclipse.theme-dark .edited {
  background:#3d3b63;
  color:#d6d1fb
}
.theme-eclipse.theme-dark tbody tr:hover {
  background:#28284a
}
.theme-eclipse.theme-dark .primary:hover {
  background:#6f6f98
}
.theme-eclipse.theme-dark #toast {
  background:#0b0c22;
  color:#f1f0ff
}
.price-line,.quantity-cell {
  display:inline-flex;
  align-items:baseline;
  gap:7px
}
.price-line {
  line-height:1.5
}
.unit {
  font-size:.75em;
  color:var(--muted);
  font-weight:500
}
.publication-status {
  font-size:10px;
  font-weight:650
}
.publication-status.is-on {
  color:#2f7b55
}
.publication-status.is-off {
  color:#8a6f3f
}
.theme-dark .publication-status.is-on {
  color:#9fe0c2
}
.theme-dark .publication-status.is-off {
  color:#e4c788
}
.theme-eclipse.theme-dark .publication-status.is-on {
  color:#b7e6d3
}
.theme-eclipse.theme-dark .publication-status.is-off {
  color:#e6cf96
}
.table-tools {
  align-items:center;
  min-height:61px
}
.table-tools .search {
  height:40px;
  flex:0 1 430px;
  min-width:0
}
.table-tools .search input {
  height:38px
}
.table-tools .filters {
  min-height:40px;
  align-items:center
}
.table-tools .filters select {
  height:40px;
  min-width:170px
}
.table-tools .filters select:only-child {
  min-width:220px
}
@media(max-width:760px) {
  .table-tools {
    min-height:0
  }
  .table-tools .search {
    width:100%;
    height:40px;
    flex-basis:auto
  }
  .table-tools .filters {
    width:100%
  }
  .table-tools .filters select {
    flex:1;
    min-width:0
  }
  .table-tools .filters select:only-child {
    min-width:0
  }
}
#shopify-form {
  min-height:100%;
  display:flex;
  flex-direction:column
}
#shopify-detail-body {
  padding:26px 28px;
  overflow:auto;
  flex:1
}
#shopify-detail .drawer-actions {
  margin-top:auto
}
.detail-identity>div {
  min-width:0
}
.detail-identity h3 {
  overflow-wrap:anywhere
}
.shopify-detail-originals,#shopify-detail .originals {
  display:grid;
  grid-template-columns:minmax(0,2fr) repeat(3,minmax(70px,1fr));
  align-items:start;
  gap:12px
}
.shopify-detail-originals span,#shopify-detail .originals span {
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.5
}
@media(max-width:760px) {
  .shopify-detail-originals,#shopify-detail .originals {
    grid-template-columns:1fr
  }
  .shopify-detail-originals span,#shopify-detail .originals span {
    width:100%
  }
}
.upload-button {
  cursor:pointer
}
.nav-logo {
  width:20px;
  height:20px;
  object-fit:contain;
  flex-shrink:0;
  filter:grayscale(1) contrast(1.35) brightness(.35)
}
.nav-logo-amazon {
  width:24px
}
.source-icon.brand-logo {
  width:54px;
  height:42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:7px
}
.source-icon.brand-logo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(1) contrast(1.35) brightness(.35)
}
.theme-dark .nav-logo,.theme-dark .source-icon.brand-logo img {
  filter:grayscale(1) contrast(1.2) brightness(0) invert(1)
}
#amazon-form {
  min-height:100%;
  display:flex;
  flex-direction:column
}
#amazon-detail-body {
  padding:26px 28px;
  overflow:auto;
  flex:1
}
#amazon-detail .drawer-actions {
  margin-top:auto
}
#amazon-detail .detail-identity>div {
  min-width:0
}
#amazon-detail .detail-identity h3 {
  overflow-wrap:anywhere
}
#amazon-detail .originals {
  display:grid;
  grid-template-columns:minmax(0,2fr) repeat(2,minmax(90px,1fr));
  align-items:start;
  gap:12px
}
#amazon-detail .originals span {
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.5
}
@media(max-width:760px) {
  #amazon-detail .originals {
    grid-template-columns:1fr
  }
  #amazon-detail .originals span {
    width:100%
  }
}
.edit-detail {
  margin-right:auto
}
.field input:disabled,.field textarea:disabled,.field select:disabled {
  opacity:.78;
  cursor:not-allowed
}
.marketplace-edit-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px
}
.marketplace-field {
  min-width:0
}
.marketplace-field input {
  font-family:ui-monospace,monospace
}
.marketplace-rule-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 18px
}
.marketplace-rule {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-size:11px
}
.marketplace-rule label {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--ink)
}
.marketplace-rule input {
  accent-color:var(--green)
}
.marketplace-rule .publication-status {
  font-size:10px
}
.marketplace-rule .is-on {
  color:#4a9b72
}
.marketplace-rule .is-off {
  color:var(--muted)
}
@media(max-width:760px) {
  .marketplace-edit-grid,.marketplace-rule-grid {
    grid-template-columns:1fr
  }
}
.close-confirm {
  border:0;
  padding:0;
  margin:auto;
  width:min(508px,calc(var(--app-viewport-width) - 32px));
  height:auto;
  min-height:0;
  max-width:calc(var(--app-viewport-width) - 32px);
  max-height:none;
  background:transparent;
  box-shadow:none;
  overflow:visible
}
.close-confirm::backdrop {
  background:#101b27a8;
  backdrop-filter:blur(3px)
}
.close-confirm-card {
  width:100%;
  padding:76px 26px 26px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  box-shadow:0 18px 70px #0005
}
.close-confirm-card h3 {
  font-size:16px;
  margin:0 0 9px
}
.close-confirm-card p {
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6
}
.close-confirm-actions {
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:24px;
  flex-wrap:wrap
}
.theme-dark .close-confirm-card {
  background:#20384a;
  color:#edf5fb;
  border-color:#3a5b73
}
.theme-dark .close-confirm-card p {
  color:#a9c1d5
}
.close-confirm,dialog.close-confirm {
  position:fixed;
  inset:auto;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%,-50%);
  margin:0;
  display:block;
  background:transparent
}
.close-confirm::backdrop {
  background:transparent;
  backdrop-filter:none
}
.theme-dark dialog.close-confirm,.theme-eclipse.theme-dark dialog.close-confirm {
  background:transparent;
  color:var(--ink)
}
dialog.confirming-close {
  visibility:hidden
}
dialog.confirming-close::backdrop {
  background:transparent;
  backdrop-filter:none
}
/* Il display del dialog è gestito solo dallo stato nativo open. */ dialog.close-confirm:not([open]) {
  display:none
}
dialog.close-confirm[open] {
  display:block
}
dialog.close-confirm::backdrop {
  background:#182c2959;
  backdrop-filter:blur(3px)
}
#seasonal-form {
  min-height:100%;
  display:flex;
  flex-direction:column
}
#seasonal-detail-body {
  padding:26px 28px;
  overflow:auto;
  flex:1
}
#seasonal-detail .drawer-actions {
  margin-top:auto
}
/* Panoramica: KPI aggregati condivisi tra tutti i cataloghi. */ .overview-dashboard {
  display:grid;
  gap:18px
}
.overview-chart-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.kpi-chart {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:11px;
  padding:22px
}
.kpi-chart-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px
}
.kpi-chart-heading h2 {
  font-size:15px
}
.kpi-chart-heading p {
  margin:7px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
  max-width:430px
}
.metric-bars {
  margin-top:22px
}
.metric-columns {
  height:245px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:end;
  gap:16px;
  border-bottom:1px solid var(--line);
  padding:0 8px
}
.metric-columns-5 {
  grid-template-columns:repeat(5,minmax(0,1fr))
}
.metric-column {
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
  gap:8px
}
.metric-value {
  font-size:10px;
  color:var(--ink);
  font-weight:650;
  white-space:nowrap
}
.metric-track {
  width:100%;
  height:185px;
  display:flex;
  align-items:flex-end;
  justify-content:center
}
.metric-bar {
  display:block;
  width:min(62px,80%);
  min-height:3px;
  border-radius:6px 6px 0 0;
  background:linear-gradient(180deg,var(--blue),var(--slate))
}
.metric-bar.green {
  background:linear-gradient(180deg,#8fd8b0,#4b9d79)
}
.metric-bar.warning {
  background:linear-gradient(180deg,#e4bb6b,#ac7e31)
}
.metric-bar.purple {
  background:linear-gradient(180deg,#b3a9e4,#6b63a5)
}
.metric-label {
  font-size:10px;
  color:var(--muted);
  text-align:center;
  line-height:1.3;
  overflow-wrap:anywhere
}
@media(max-width:900px) {
  .overview-chart-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:760px) {
  .kpi-chart {
    padding:18px 15px
  }
  .metric-columns {
    gap:8px;
    padding:0 2px
  }
  .metric-value {
    font-size:9px
  }
  .metric-label {
    font-size:9px
  }
}
/* Shopify include la giacenza tra il titolo e le custom label. */ /* Sistema pulsanti Omni Hub: i tipi condividono metrica e ritmo. */ .button {
  min-height:44px;
  padding:0 16px;
  border-radius:8px;
  font-size:12px
}
.button.tertiary {
  border-color:transparent;
  background:transparent;
  color:var(--muted)
}
.button.tertiary:hover {
  border-color:var(--line);
  background:var(--paper);
  color:var(--ink)
}
.button[aria-pressed="true"] {
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 18%,var(--white));
  color:var(--ink)
}
.icon-button {
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  border-radius:8px
}
.button>svg,.icon-button>svg {
  width:20px;
  height:20px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
/* Foglio Excel stagionali: una superficie neutra e compatta,senza card o decorazioni,con griglia continua e intestazione bloccata. */ .seasonal-excel-modal {
  position:relative;
  width:min(calc(var(--app-viewport-width) - 32px),1500px);
  height:min(calc(var(--app-viewport-height) - 32px),920px);
  max-width:calc(var(--app-viewport-width) - 32px);
  max-height:calc(var(--app-viewport-height) - 32px);
  margin:auto;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--white);
  color:var(--ink);
  padding:0;
  box-shadow:0 20px 80px #0006;
  overflow:hidden
}
.seasonal-excel-modal.column-menu-open {
  overflow:visible
}
.seasonal-excel-modal::backdrop {
  background:#07131dcc;
  backdrop-filter:blur(2px)
}
.seasonal-excel-modal form {
  height:100%;
  display:flex;
  flex-direction:column;
  position:relative
}
body.excel-open {
  overflow:hidden
}
.seasonal-excel-heading {
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border-bottom:1px solid var(--line);
  background:var(--white)
}
.seasonal-excel-heading h2 {
  font-size:13px;
  font-weight:600;
  margin:0;
  flex:none
}
.catalog-sheet-modal .catalog-sheet-column-picker {
  display:flex;
  align-items:center;
  gap:8px;
  flex:none
}
.catalog-sheet-modal .catalog-sheet-column-picker label {
  color:var(--muted);
  font-size:var(--button-font-size);
  font-weight:600;
  white-space:nowrap
}
.catalog-sheet-modal .catalog-sheet-column-picker>button {
  min-width:124px;
  justify-content:space-between;
  white-space:nowrap
}
.catalog-sheet-modal .catalog-sheet-column-picker>button::after {
  content:'▾';
  margin-left:12px
}
.catalog-sheet-modal .catalog-sheet-column-menu {
  position:absolute;
  z-index:30;
  display:grid;
  gap:4px;
  min-width:220px;
  max-height:min(420px,calc(var(--app-viewport-height) - 140px));
  overflow-y:auto;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--white);
  box-shadow:0 12px 32px #182c3a33
}
.catalog-sheet-modal .catalog-sheet-column-menu[hidden] {
  display:none
}
.catalog-sheet-modal .catalog-sheet-column-menu label {
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px;
  border-radius:6px;
  color:var(--ink);
  white-space:nowrap;
  cursor:pointer
}
.catalog-sheet-modal .catalog-sheet-column-menu label:hover {
  background:color-mix(in srgb,var(--blue) 10%,var(--white))
}
.catalog-sheet-modal .catalog-sheet-column-menu input {
  accent-color:var(--blue)
}
.catalog-sheet-modal .catalog-sheet-column-actions {
  display:flex;
  justify-content:flex-end;
  gap:4px;
  border-top:1px solid var(--line);
  padding-top:8px
}
.catalog-sheet-modal .seasonal-excel-heading:has(.catalog-sheet-column-picker)>div {
  flex:1;
  min-width:0;
  justify-content:flex-end
}
.catalog-sheet-modal .seasonal-excel-tools:has(.catalog-sheet-column-picker) {
  min-width:0;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:thin
}
.seasonal-excel-heading>div {
  display:flex;
  align-items:center;
  gap:8px
}
.seasonal-excel-tools {
  display:flex;
  align-items:center;
  gap:8px
}
.seasonal-excel-tools span {
  height:24px;
  width:1px;
  flex:none;
  background:var(--line);
  margin:0 2px
}
.seasonal-excel-tools svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round
}
.seasonal-excel-tools button:disabled {
  opacity:.35
}
.excel-cell.excel-action-feedback {
  animation:excelActionFeedback .42s ease-out 2
}
@keyframes excelActionFeedback {
  0%,100% {
    background:transparent;
    box-shadow:inset 0 0 0 0 transparent
  }
  45% {
    background:color-mix(in srgb,var(--accent) 34%,transparent);
    box-shadow:inset 0 0 0 2px var(--accent)
  }
}
.seasonal-excel-tools [data-sheet-range][aria-pressed="true"] {
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 18%,var(--white));
  color:var(--ink)
}
.catalog-sheet-modal [data-sheet-close] {
  background:#b92e38;
  color:#fff;
  border-radius:4px
}
.catalog-sheet-modal [data-sheet-close]:hover {
  background:#9f2630;
  color:#fff
}
.seasonal-excel-filters {
  display:grid;
  grid-template-columns:16fr 36fr 17fr 21fr 10fr;
  gap:0;
  border-bottom:1px solid var(--line);
  background:var(--paper)
}
.seasonal-excel-filters input {
  min-width:0;
  height:30px;
  padding:0 6px;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:10px;
  outline:0
}
.seasonal-excel-filters input:focus {
  background:color-mix(in srgb,var(--blue) 14%,var(--white));
  box-shadow:inset 0 0 0 1px var(--blue)
}
.seasonal-sheet-wrap {
  min-height:0;
  flex:1;
  overflow:scroll;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  background:var(--white);
  scrollbar-width:auto;
  scrollbar-color:var(--line) var(--paper)
}
.seasonal-sheet-wrap::-webkit-scrollbar {
  width:14px;
  height:14px
}
.seasonal-sheet-wrap::-webkit-scrollbar-track {
  background:var(--paper)
}
.seasonal-sheet-wrap::-webkit-scrollbar-thumb {
  background:var(--muted);
  border:3px solid var(--paper);
  border-radius:8px
}
.seasonal-sheet {
  width:100%;
  min-width:900px;
  border-collapse:collapse;
  table-layout:fixed;
  white-space:nowrap
}
.seasonal-sheet th,.seasonal-sheet td {
  height:28px;
  padding:0 6px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:11px;
  text-align:left
}
.seasonal-sheet th {
  position:sticky;
  top:0;
  z-index:1;
  background:var(--paper);
  font-size:10px;
  font-weight:600;
  color:var(--muted)
}
.seasonal-sheet th:nth-child(1) {
  width:16%
}
.seasonal-sheet th:nth-child(2) {
  width:36%
}
.seasonal-sheet th:nth-child(3) {
  width:17%
}
.seasonal-sheet th:nth-child(4) {
  width:21%
}
.seasonal-sheet th:nth-child(5) {
  width:10%
}
.seasonal-sheet td.excel-readonly {
  background:color-mix(in srgb,var(--paper) 65%,var(--white));
  color:var(--muted);
  font-family:ui-monospace,monospace
}
.seasonal-sheet .excel-cell {
  display:block;
  width:100%;
  height:27px;
  margin:0;
  padding:3px 2px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-family:inherit;
  font-size:11px;
  font-weight:400;
  line-height:1.4;
  outline:0
}
.seasonal-sheet td.excel-selected {
  background:color-mix(in srgb,var(--blue) 24%,var(--white));
  box-shadow:inset 0 0 0 1px var(--blue)
}
.seasonal-sheet td.excel-selected .excel-cell {
  background:transparent
}
.seasonal-sheet .excel-cell:focus {
  background:color-mix(in srgb,var(--blue) 16%,var(--white));
  box-shadow:inset 0 0 0 2px var(--blue)
}
.seasonal-sheet .excel-cell.excel-text-editing:focus {
  cursor:text;
  box-shadow:inset 0 0 0 2px var(--accent)
}
.catalog-sheet-modal .seasonal-sheet td.excel-selected .excel-cell:focus:not(.excel-text-editing) {
  background:transparent;
  box-shadow:none;
  outline:none
}
.seasonal-excel-actions {
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 10px;
  border-top:1px solid var(--line);
  background:var(--white);
  font-size:12px;
  color:var(--muted)
}
.seasonal-excel-actions>div {
  display:flex;
  gap:8px
}
.theme-dark .seasonal-excel-heading,.theme-dark .seasonal-excel-filters,.theme-dark .seasonal-sheet-wrap,.theme-dark .seasonal-sheet,.theme-dark .seasonal-excel-actions {
  background:#20384a
}
.theme-dark .seasonal-excel-filters button {
  background:#20384a;
  color:var(--ink)
}
.theme-dark .seasonal-sheet th {
  background:#1b2e3d
}
.theme-dark .seasonal-sheet td.excel-readonly {
  background:#263d4f
}
.theme-dark .seasonal-sheet td.excel-selected {
  background:#315b78
}
.theme-dark .seasonal-sheet .excel-cell:focus {
  background:#2a4a63
}
.theme-eclipse.theme-dark .seasonal-excel-heading,.theme-eclipse.theme-dark .seasonal-excel-filters,.theme-eclipse.theme-dark .seasonal-sheet-wrap,.theme-eclipse.theme-dark .seasonal-sheet,.theme-eclipse.theme-dark .seasonal-excel-actions {
  background:#202143
}
.theme-eclipse.theme-dark .seasonal-excel-filters button {
  background:#202143;
  color:var(--ink)
}
.theme-eclipse.theme-dark .seasonal-sheet th {
  background:#1b1c3b
}
.theme-eclipse.theme-dark .seasonal-sheet td.excel-readonly {
  background:#29294b
}
.theme-eclipse.theme-dark .seasonal-sheet td.excel-selected {
  background:#454575
}
.theme-eclipse.theme-dark .seasonal-sheet .excel-cell:focus {
  background:#34345d
}
.seasonal-sheet th {
  height:52px;
  padding-right:52px;
  position:relative
}
.seasonal-column-menu-button {
  position:absolute;
  right:4px;
  top:4px;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:var(--blue);
  font-size:16px;
  line-height:1;
  cursor:pointer
}
.seasonal-column-menu-button:hover {
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 12%,var(--white));
  color:var(--blue)
}
.seasonal-column-menu-button.column-filter-active {
  border-color:transparent;
  background:var(--blue);
  color:#fff
}
.seasonal-sheet th.column-filter-active {
  box-shadow:inset 0 -2px 0 var(--accent)
}
.seasonal-column-menu {
  position:absolute;
  z-index:10020;
  width:270px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 14px 32px rgba(0,0,0,.25);
  font-size:12px
}
.seasonal-column-menu-title {
  margin-bottom:10px;
  font-weight:700
}
.seasonal-column-menu-section {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px
}
.seasonal-column-menu-section b {
  width:100%;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted)
}
.seasonal-column-menu-section button {
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:var(--ink);
  font:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer
}
.seasonal-column-menu-section button:hover {
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 12%,var(--white))
}
.seasonal-column-menu-section select,.seasonal-column-menu-section input {
  width:100%;
  height:44px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:var(--ink);
  padding:0 10px;
  font:inherit
}
.seasonal-column-duplicate {
  display:block;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  cursor:pointer
}
.seasonal-column-duplicate input {
  vertical-align:middle
}
.theme-dark .seasonal-column-menu,.theme-eclipse.theme-dark .seasonal-column-menu {
  background:var(--paper)
}
.seasonal-sheet th.column-filter-active {
  box-shadow:inset 0 -3px 0 var(--blue)
}
.seasonal-column-menu-button {
  border:1px solid var(--line);
  background:var(--white);
  color:var(--blue);
  font-weight:800;
  font-size:16px
}
.seasonal-column-menu-button:hover {
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 12%,var(--white));
  color:var(--blue)
}
.seasonal-column-menu-button.column-filter-active {
  border-color:var(--blue);
  background:var(--blue);
  color:#fff;
  box-shadow:0 0 0 1px var(--blue)
}
.seasonal-sheet th.column-filter-active {
  box-shadow:none
}
.seasonal-column-menu-button {
  box-sizing:border-box;
  padding:0
}
.seasonal-column-menu-button.column-filter-active {
  border-color:transparent;
  background:var(--blue);
  color:#fff;
  box-shadow:none
}
.seasonal-sheet thead {
  position:sticky;
  top:0;
  z-index:12
}
.seasonal-sheet thead th {
  position:sticky;
  top:0;
  z-index:13;
  background:var(--paper)
}
.catalog-action-icon {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:none
}
.button.is-busy,button.is-busy {
  cursor:wait
}
.button>.spinner.button-busy-spinner,button>.spinner.button-busy-spinner {
  width:16px;
  height:16px;
  border-width:2px;
  font-size:inherit;
  line-height:normal
}
.panel>.notice {
  margin-top:18px
}
.catalog-reset-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin-top:18px
}
.catalog-reset-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--paper)
}
.catalog-reset-card h3 {
  margin:0 0 6px
}
.catalog-reset-card p {
  margin:0;
  color:var(--muted);
  font-size:11px
}
.reset-catalog-button {
  flex:none;
  background:#b74747;
  color:#fff;
  border-color:#b74747
}
.reset-catalog-button:hover {
  background:#9f3838;
  border-color:#9f3838
}
.reset-catalog-icon {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.catalog-reset-dialog {
  width:min(520px,calc(var(--app-viewport-width) - 32px));
  height:auto;
  max-height:calc(var(--app-viewport-height) - 40px);
  margin:auto;
  padding:0;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 22px 70px #0006
}
.catalog-reset-dialog::backdrop {
  background:#10212bb3;
  backdrop-filter:blur(4px)
}
.catalog-reset-dialog form {
  padding:28px
}
.catalog-reset-dialog-icon {
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:18px;
  border-radius:50%;
  background:color-mix(in srgb,#b74747 14%,var(--white));
  color:#b74747
}
.catalog-reset-dialog-icon .reset-catalog-icon {
  width:27px;
  height:27px
}
.catalog-reset-dialog h2 {
  margin:0 0 10px;
  font-size:22px
}
.catalog-reset-dialog>form>p {
  margin:0;
  color:var(--muted);
  line-height:1.6
}
.catalog-reset-warning {
  margin:20px 0;
  padding:16px 18px;
  border:1px solid color-mix(in srgb,#b74747 35%,var(--line));
  border-radius:9px;
  background:color-mix(in srgb,#b74747 8%,var(--white))
}
.catalog-reset-warning strong {
  display:block;
  margin-bottom:9px
}
.catalog-reset-warning ul {
  margin:0;
  padding-left:20px;
  color:var(--muted);
  line-height:1.7
}
.catalog-reset-irreversible {
  font-weight:650;
  color:#b74747!important
}
.catalog-reset-dialog-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:25px
}
.reset-catalog-confirm {
  background:#b74747;
  color:#fff;
  border-color:#b74747
}
.reset-catalog-confirm:hover {
  background:#9f3838;
  border-color:#9f3838
}
.upload-button,[data-shopify-sync],[data-sync-start],[data-sync-confirm-send] {
  background:#b74747!important;
  border-color:#b74747!important;
  color:#fff!important
}
.upload-button:hover,[data-shopify-sync]:hover,[data-sync-start]:hover,[data-sync-confirm-send]:hover {
  background:#9f3838!important;
  border-color:#9f3838!important
}
.upload-button:focus-visible,[data-shopify-sync]:focus-visible,[data-sync-start]:focus-visible,[data-sync-confirm-send]:focus-visible {
  outline-color:#e59a9a
}
.upload-button {
  background:var(--blue)!important;
  border-color:var(--blue)!important;
  color:#172533!important
}
.upload-button:hover {
  background:#6daeea!important;
  border-color:#6daeea!important
}
.upload-button:focus-visible {
  outline-color:var(--blue)!important
}
.catalog-excel-launch.is-loading {
  cursor:wait
}
.catalog-sheet-filter-viewport {
  flex:none;
  width:100%;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:var(--paper)
}
.catalog-sheet-body {
  min-height:0;
  flex:1;
  display:flex;
  overflow:hidden
}
.catalog-sheet-modal .seasonal-excel-filters {
  display:grid!important;
  grid-template-columns:var(--catalog-sheet-columns)!important;
  grid-auto-flow:column;
  grid-template-rows:30px;
  overflow:visible;
  border:0;
  transform:translateX(0);
  will-change:transform
}
.catalog-sheet-modal .seasonal-sheet-wrap {
  width:100%
}
.catalog-sheet-modal .catalog-sheet-table {
  table-layout:fixed;
  width:max-content
}
.catalog-sheet-modal .catalog-sheet-table th {
  width:auto!important;
  overflow:hidden;
  text-overflow:ellipsis
}
.catalog-sheet-modal .catalog-sheet-table input {
  min-width:0
}
.catalog-sheet-modal .seasonal-column-menu {
  position:absolute
}
/* Shared numeric adjustment controls and reversible preview. */ .catalog-sheet-modal td {
  position:relative
}
.catalog-sheet-modal .seasonal-sheet-wrap {
  overflow-anchor:none;
  min-width:0
}
.catalog-sheet-modal .catalog-sheet-body {
  min-width:0
}
.catalog-sheet-modal .catalog-sheet-table {
  border-collapse:separate;
  border-spacing:0
}
.catalog-sheet-modal .catalog-sheet-table .sheet-spacer>td {
  height:0;
  min-height:0;
  padding:0;
  border:0;
  line-height:0;
  font-size:0
}
.catalog-sheet-modal .catalog-sheet-table .sheet-spacer>td>div {
  padding:0;
  margin:0;
  pointer-events:none
}
.catalog-sheet-modal [data-sheet-adjust] {
  position:absolute;
  z-index:20
}
.catalog-sheet-modal [data-sheet-adjust][hidden] {
  display:none!important
}
.catalog-sheet-modal .sheet-adjust-menu {
  position:absolute;
  z-index:30;
  box-sizing:border-box;
  width:310px;
  max-width:calc(100% - 8px);
  max-height:calc(100% - 8px);
  overflow:auto;
  padding:14px;
  display:grid;
  gap:12px;
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 10px 30px #0004;
  font-size:12px;
  white-space:normal
}
.sheet-adjust-menu label {
  display:grid;
  gap:5px
}
.sheet-adjust-menu input,.sheet-adjust-menu select {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:7px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--white);
  color:var(--ink);
  font:inherit
}
.sheet-adjust-menu small,.sheet-adjust-menu p {
  color:var(--muted);
  line-height:1.5;
  margin:0
}
.sheet-adjust-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px
}
.catalog-sheet-modal .sheet-adjust-preview {
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 7px;
  background:var(--paper);
  color:var(--ink);
  font-size:11px;
  overflow:hidden;
  white-space:nowrap;
  pointer-events:none
}
.sheet-adjust-preview del {
  color:var(--muted)
}
.sheet-adjust-preview strong {
  font-weight:600
}
/* Unsaved cell changes,shared by all catalogs and all edit operations. */ .catalog-sheet-modal td.sheet-cell-changed,.catalog-sheet-modal td.sheet-cell-changed .excel-cell {
  background:#fff0b3!important;
  color:#533f08!important
}
.catalog-sheet-modal td.sheet-cell-changed .excel-cell {
  -webkit-text-fill-color:#533f08!important;
  opacity:1
}
.catalog-sheet-modal .sheet-change-comparison {
  display:none;
  position:absolute;
  inset:0;
  z-index:3;
  align-items:center;
  gap:5px;
  padding:0 7px;
  background:#fff0b3;
  color:#533f08;
  white-space:nowrap;
  overflow:hidden;
  pointer-events:none;
  font-size:11px
}
.catalog-sheet-modal td.sheet-cell-changed:not(.sheet-cell-typing) .sheet-change-comparison {
  display:flex
}
.catalog-sheet-modal td:has(.sheet-adjust-preview) .sheet-change-comparison {
  display:none!important
}
.catalog-sheet-modal .sheet-change-comparison del {
  color:#765f20
}
.catalog-sheet-modal .sheet-change-comparison strong {
  font-weight:700
}
.catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected,
.catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .excel-cell,
.catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .sheet-change-comparison {
  background:color-mix(in srgb,var(--blue) 24%,var(--white))!important;
  color:var(--ink)!important
}
.catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .excel-cell {
  -webkit-text-fill-color:var(--ink)!important
}
.catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .sheet-change-comparison del {
  color:var(--muted)
}
.theme-dark .catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected,
.theme-dark .catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .excel-cell,
.theme-dark .catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .sheet-change-comparison {
  background:#315b78!important
}
.theme-eclipse.theme-dark .catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected,
.theme-eclipse.theme-dark .catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .excel-cell,
.theme-eclipse.theme-dark .catalog-sheet-modal .seasonal-sheet td.sheet-cell-changed.excel-selected .sheet-change-comparison {
  background:#454575!important
}
.catalog-sheet-filters .sheet-quick-filter {
  position:relative;
  min-width:0;
  height:30px
}
.catalog-sheet-filters .sheet-quick-filter input {
  box-sizing:border-box;
  width:100%;
  height:100%;
  padding-right:10px
}
.sheet-quick-filter .sheet-column-resize {
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:9px;
  z-index:5;
  cursor:col-resize;
  touch-action:none
}
.sheet-quick-filter .sheet-column-resize:hover,.sheet-quick-filter .sheet-column-resize.resizing {
  background:var(--blue);
  box-shadow:inset 3px 0 var(--paper),inset -3px 0 var(--paper)
}
.sheet-quick-filter .sheet-column-resize:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:-2px;
  background:color-mix(in srgb,var(--blue) 28%,transparent)
}
@media(max-width:900px) {
  .catalog-sheet-modal .seasonal-excel-heading {
    height:auto;
    min-height:62px;
    flex-wrap:wrap;
    gap:8px;
    padding-block:8px
  }
  .catalog-sheet-modal .seasonal-excel-heading>div,.catalog-sheet-modal .seasonal-excel-tools {
    flex-wrap:wrap
  }
  .catalog-sheet-modal .seasonal-excel-actions {
    height:auto;
    min-height:62px;
    gap:8px;
    flex-wrap:wrap;
    padding-block:8px
  }
}
/* Catalog and product audit use the shared DataGrid presentation. */ .audit-dialog {
  position:fixed;
  inset:0;
  margin:auto;
  width:min(1200px,calc(var(--app-viewport-width) - 48px));
  max-width:calc(var(--app-viewport-width) - 48px);
  height:calc(var(--app-viewport-height) - 64px);
  max-height:calc(var(--app-viewport-height) - 64px);
  padding:24px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  color:var(--ink)
}
.audit-dialog[open] {
  display:flex;
  flex-direction:column
}
.audit-dialog>header {
  flex:none
}
.audit-dialog>[data-audit-body] {
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  min-width:0
}
.audit-dialog>[data-audit-body]> * {
  flex-shrink:0
}
.audit-dialog>[data-audit-body]>.audit-results {
  flex:1 1 0;
  min-height:0
}
.audit-dialog .audit-results>.odg-scroll,.audit-dialog .audit-results>.odg-cards {
  min-height:0
}
@media(max-width:600px) {
  .audit-dialog {
    padding:12px;
    height:calc(var(--app-viewport-height) - 16px);
    max-height:calc(var(--app-viewport-height) - 16px)
  }
}
.audit-dialog::backdrop {
  background:#14232c66;
  backdrop-filter:blur(3px)
}
.audit-dialog>header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px
}
.audit-dialog h2 {
  margin:0
}
.audit-results {
  min-width:0
}
.audit-results small,.audit-view>small {
  color:var(--muted)
}
.audit-pagination {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:16px 0
}
.field-range {
  display:grid;
  gap:6px;
  min-width:0;
  margin:0;
  padding:0;
  border:0
}
.field-range>legend {
  float:none;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.field-range-controls {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0
}
.field-range .field-range-controls>label {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  margin:0;
  color:var(--muted);
  font-size:13px
}
.field-range-controls>label>span {
  white-space:nowrap
}
.field-range-controls input {
  min-width:0;
  width:100%;
  margin:0
}
/* Reusable channel synchronization view; Shopify is the first adapter. */ .channel-sync-dialog {
  position:fixed;
  inset:0;
  margin:auto;
  width:min(1500px,calc(var(--app-viewport-width) - 40px));
  max-width:calc(var(--app-viewport-width) - 40px);
  height:calc(var(--app-viewport-height) - 40px);
  max-height:calc(var(--app-viewport-height) - 40px);
  padding:0;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  color:var(--ink)
}
.channel-sync-dialog::backdrop {
  background:#14232c66;
  backdrop-filter:blur(3px)
}
.channel-sync-dialog>form {
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0
}
.channel-sync-dialog header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px;
  border-bottom:1px solid var(--line)
}
.channel-sync-dialog header h2 {
  margin:4px 0
}
.channel-sync-dialog header p {
  margin:0;
  color:var(--muted)
}
.channel-sync-body {
  display:flex;
  flex:1;
  min-height:0;
  flex-direction:column;
  gap:12px;
  padding:16px 24px;
  overflow:hidden
}
.channel-sync-controls {
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:12px;
  padding:0
}
.channel-sync-controls label {
  display:grid;
  gap:6px;
  font-size:13px
}
.channel-sync-controls input,.channel-sync-controls select {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--paper);
  color:var(--ink)
}
.channel-sync-controls .sync-location-required>span,.sync-location-required {
  color:var(--ink)
}
.channel-sync-summary {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:0;
  color:var(--muted)
}
.channel-sync-table {
  flex:1;
  min-height:0;
  overflow:hidden
}
.channel-sync-dialog .odg-modal-context {
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--white)
}
.channel-sync-dialog .odg-modal-context>summary {
  padding:13px 16px
}
.channel-sync-dialog .odg-modal-context[open]>summary {
  border-bottom:1px solid var(--line)
}
.channel-sync-dialog .odg-modal-context .channel-sync-controls {
  padding:14px 16px 10px
}
.channel-sync-dialog .odg-modal-context .channel-sync-summary {
  padding:0 16px 14px
}
.channel-sync-table .sync-old {
  color:var(--muted);
  text-decoration:line-through
}
.channel-sync-table .sync-new {
  color:var(--ink);
  font-weight:600;
  background:color-mix(in srgb,#f2bd49 18%,transparent)
}
.sync-success {
  color:#23865f
}
.sync-failed {
  color:#b64141
}
.sync-warning {
  color:#ad7510
}
.channel-sync-dialog footer {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:16px 24px;
  border-top:1px solid var(--line)
}
.channel-sync-confirm {
  position:absolute;
  inset:0;
  z-index:10;
  display:grid;
  place-items:center;
  padding:20px;
  background:#14232c66;
  backdrop-filter:blur(3px)
}
.channel-sync-confirm[hidden] {
  display:none
}
.channel-sync-confirm>div {
  width:min(480px,90%);
  padding:24px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--white);
  box-shadow:0 15px 45px #0004
}
.channel-sync-confirm h3 {
  margin-top:0
}
.channel-sync-confirm>div>div {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px
}
.channel-sync-dialog .sync-rollback {
  color:#b64141;
  border-color:color-mix(in srgb,#b64141 45%,var(--line))
}
.channel-sync-dialog .sync-rollback:disabled {
  color:var(--muted);
  border-color:var(--line)
}
.audit-results .audit-sort {
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  text-align:left;
  cursor:pointer
}
.audit-results .audit-sort b {
  color:var(--muted);
  font-size:12px
}
.audit-results .audit-sort.active b,.audit-results .audit-sort:hover b {
  color:var(--blue)
}
@media(max-width:900px) {
  .channel-sync-controls {
    grid-template-columns:1fr 1fr
  }
  .channel-sync-summary {
    display:grid
  }
}
@media(max-width:600px) {
  .channel-sync-body {
    gap:10px;
    padding:10px 12px
  }
  .channel-sync-dialog .odg-modal-context>summary {
    padding:12px
  }
  .channel-sync-dialog .odg-modal-context .channel-sync-controls {
    padding:12px 12px 8px
  }
  .channel-sync-dialog .odg-modal-context .channel-sync-summary {
    padding:0 12px 12px
  }
}
.nav-catalog-building {
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.nav-seasonal-sliders {
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:square;
  stroke-linejoin:miter
}
.nav-seasonal-sliders .slider-knob {
  fill:currentColor;
  stroke:none
}
.nav-market-icon {
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:currentColor
}
.nav-market-icon .line {
  fill:none;
  stroke:currentColor;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.nav-amazon-icon .line {
  stroke-width:2.7
}
.nav-overview-chart {
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round
}
.audit-column-resize {
  background:transparent!important
}
.audit-column-resize::after {
  content:"";
  position:absolute;
  top:14%;
  bottom:14%;
  left:4px;
  width:1px;
  background:color-mix(in srgb,var(--muted) 38%,transparent);
  transition:background .15s,width .15s
}
.audit-column-resize:hover::after,.audit-column-resize.resizing::after {
  left:3px;
  width:2px;
  background:var(--blue)
}
body:has(.audit-column-resize.resizing) {
  cursor:col-resize;
  user-select:none
}
.catalog-reset-dialog {
  position:fixed!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(520px,calc(var(--app-viewport-width) - 32px))!important;
  height:fit-content!important;
  min-height:0!important;
  max-height:calc(var(--app-viewport-height) - 40px)!important;
  margin:0!important;
  overflow:auto!important
}
.catalog-reset-dialog form {
  height:auto!important;
  min-height:0!important
}
/* Tablet controls retain comfortable touch targets. */ @media (min-width:761px) and (max-width:900px) {
  main .button {
    min-height:44px
  }
  main input:not([type=checkbox]):not([type=radio]),main select {
    min-height:42px
  }
  .table-tools .search {
    min-height:42px
  }
}
.stock-merge-icon {
  width:24px;
  height:24px;
  fill:none;
  stroke:#dc4747;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
.stock-warning-notice {
  background:#fff0d9;
  color:#713c0a;
  border:1px solid #e7a653
}
.theme-dark .stock-warning-notice {
  background:#615747;
  color:#fff0dc
}
dialog.stock-report-dialog {
  position:fixed;
  inset:0;
  margin:auto;
  min-height:0;
  transform:none;
  width:min(1280px,calc(var(--app-viewport-width) - 40px));
  max-width:calc(var(--app-viewport-width) - 40px);
  max-height:calc(var(--app-viewport-height) - 40px);
  height:calc(var(--app-viewport-height) - 40px);
  padding:26px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  color:var(--ink);
  overflow:hidden
}
dialog.stock-report-dialog[open] {
  display:flex;
  flex-direction:column
}
.stock-report-dialog> * {
  flex-shrink:0
}
.stock-report-dialog>[hidden] {
  display:none
}
.stock-report-dialog>.stock-report-heading {
  margin-bottom:16px
}
.stock-report-dialog [data-report-content] {
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  min-width:0
}
.stock-report-dialog [data-stock-grid] {
  flex:1;
  min-height:0;
  min-width:0
}
.stock-report-dialog .stock-report-totals {
  flex-shrink:0
}
@media(max-width:900px) {
  dialog.stock-report-dialog {
    padding:12px;
    width:calc(var(--app-viewport-width) - 16px);
    max-height:calc(var(--app-viewport-height) - 16px);
    height:calc(var(--app-viewport-height) - 16px)
  }
  .stock-report-dialog .stock-report-totals {
    flex-wrap:nowrap;
    overflow-x:auto;
    margin:10px 0
  }
  .stock-report-dialog .stock-report-totals button {
    flex-shrink:0
  }
  .stock-report-heading {
    gap:10px
  }
}
.stock-report-dialog::backdrop {
  background:#182c2980;
  backdrop-filter:blur(3px)
}
.stock-report-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px
}
.stock-report-heading p {
  color:var(--muted)
}
.stock-report-totals {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0
}
.stock-report-totals button {
  display:flex;
  gap:10px
}
.stock-report-totals button[aria-pressed="true"] {
  border-color:var(--blue);
  box-shadow:inset 0 0 0 1px var(--blue)
}
.stock-report-dialog table {
  min-width:950px
}
.stock-report-dialog td {
  white-space:normal
}
.stock-report-pagination {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:18px
}
.theme-dark dialog.stock-report-dialog {
  background:#20384a;
  color:#edf5fb
}
.stock-report-dialog .stock-report-table {
  table-layout:fixed;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  font-size:12px
}
.stock-report-table th,.stock-report-table td {
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.4
}
.stock-report-table th {
  position:sticky;
  top:0;
  z-index:2;
  background:var(--paper);
  padding:0;
  font-weight:600
}
.stock-report-table th:first-child,.stock-report-table td:first-child {
  position:sticky;
  left:0;
  z-index:1;
  background:var(--white);
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:normal;
  box-shadow:1px 0 var(--line)
}
.stock-report-table th:first-child {
  z-index:3;
  background:var(--paper)
}
.stock-report-table td:nth-child(n+3):nth-child(-n+7) {
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.stock-report-sort {
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:12px 16px 12px 10px;
  font:inherit;
  display:flex;
  justify-content:space-between;
  gap:5px
}
.stock-report-sort span {
  opacity:.65
}
.stock-report-resize {
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:7px;
  cursor:col-resize;
  touch-action:none;
  user-select:none;
  border-right:1px solid var(--line)
}
.stock-report-resize:hover,.stock-report-resize:focus {
  background:var(--green)
}
.theme-dark .stock-report-table th {
  background:#1b3040
}
.theme-dark .stock-report-table td:first-child {
  background:#20384a
}
.theme-dark .stock-report-table th:first-child {
  background:#1b3040
}
.shopify-overview {
  margin-top:28px
}
.shopify-overview>h2 {
  margin-bottom:8px
}
.shopify-overview-panels {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px
}
.shopify-metrics {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px
}
.shopify-metric {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  width:100%;
  padding:15px;
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:var(--ink);
  text-align:left
}
.shopify-metric strong {
  font-size:22px
}
.shopify-metric:hover,.shopify-pending-bar:hover {
  border-color:var(--green)
}
.shopify-pending-chart {
  display:grid;
  gap:12px;
  margin-top:20px
}
.shopify-pending-bar {
  display:grid;
  grid-template-columns:150px 1fr 55px;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:var(--ink);
  text-align:left
}
.shopify-pending-bar meter {
  width:100%;
  height:24px
}
.theme-dark .shopify-metric,.theme-dark .shopify-pending-bar {
  background:#20384a;
  color:#edf5fb
}
@media(max-width:950px) {
  .shopify-overview-panels {
    grid-template-columns:1fr
  }
  .shopify-pending-bar {
    grid-template-columns:130px 1fr 45px
  }
}
.overview-chart-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px
}
.compact-kpi {
  padding:16px;
  min-width:0
}
.compact-kpi .kpi-chart-heading {
  gap:8px;
  align-items:center
}
.compact-kpi .kpi-chart-heading h2 {
  font-size:13px
}
.compact-kpi-description,.compact-kpi-note {
  font-size:10px;
  color:var(--muted);
  line-height:1.4
}
.compact-kpi-description {
  min-height:28px;
  margin:8px 0 12px
}
.compact-kpi-note {
  margin:12px 0 0
}
.compact-metric-list {
  display:grid;
  gap:12px
}
.compact-metric-row {
  display:grid;
  grid-template-columns:60px minmax(25px,1fr) 44px;
  align-items:center;
  gap:8px;
  font-size:10px
}
.compact-metric-row strong {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.compact-metric-row svg {
  width:100%;
  height:8px
}
.compact-metric-track {
  fill:var(--line)
}
.compact-metric-fill {
  fill:#6596c4
}
.compact-metric-fill.green {
  fill:#4b9d79
}
.compact-metric-fill.warning {
  fill:#c49542
}
.compact-metric-fill.purple {
  fill:#8d7fc3
}
.shopify-metric-donut {
  justify-content:flex-start;
  gap:12px;
  padding:12px
}
.shopify-donut {
  position:relative;
  display:block;
  width:80px;
  height:80px;
  flex:0 0 80px
}
.shopify-donut svg {
  width:100%;
  height:100%
}
.shopify-donut circle {
  fill:none;
  stroke-width:8
}
.donut-track {
  stroke:var(--line)
}
.donut-value {
  stroke:#569bc8
}
.shopify-donut>span {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:650
}
.shopify-metric-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  min-width:0
}
.shopify-metric-copy>span {
  font-size:12px
}
.shopify-metric-copy small {
  font-size:10px;
  color:var(--muted)
}
.shopify-metrics .shopify-metric[data-shopify-metric="zero_today"] .donut-value,.shopify-metrics .shopify-metric[data-shopify-metric="zero_week"] .donut-value {
  stroke:#d39549
}
.shopify-metrics .shopify-metric[data-shopify-metric^="stock_"] .donut-value {
  stroke:#58a588
}
@media(max-width:1150px) {
  .overview-chart-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:600px) {
  .overview-chart-grid {
    grid-template-columns:1fr
  }
  .shopify-metrics {
    grid-template-columns:1fr
  }
}
.shopify-metrics .shopify-metric[data-shopify-metric="warehouse_zero"] {
  background:#fff1f0;
  border-color:#db7772;
  box-shadow:inset 3px 0 #cf4c46
}
.shopify-metrics .shopify-metric[data-shopify-metric="warehouse_zero"] .donut-value {
  stroke:#cf4c46
}
.shopify-metrics .shopify-metric[data-shopify-metric="warehouse_zero"] strong {
  color:#bd3732
}
.theme-dark .shopify-metrics .shopify-metric[data-shopify-metric="warehouse_zero"] {
  background:#422e36;
  border-color:#b96b70
}
.theme-dark .shopify-metrics .shopify-metric[data-shopify-metric="warehouse_zero"] strong {
  color:#ffaaa4
}
.shopify-stock-bands {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}
.shopify-stock-bands .shopify-metric {
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:14px 8px;
  min-width:0;
  height:100%;
  margin-top:0;
  text-align:center;
  white-space:normal
}
.shopify-stock-bands .shopify-metric-copy {
  align-items:center;
  gap:5px;
  width:100%
}
.shopify-stock-bands .shopify-metric-copy>span {
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.4
}
.shopify-stock-bands .shopify-metric-copy small {
  line-height:1.4
}
.shopify-stock-bands .shopify-donut {
  width:70px;
  height:70px;
  flex-basis:70px
}
@media(max-width:600px) {
  .shopify-stock-bands {
    gap:6px
  }
  .shopify-stock-bands .shopify-donut {
    width:58px;
    height:58px;
    flex-basis:58px
  }
  .shopify-stock-bands .shopify-donut>span {
    font-size:11px
  }
}
.shopify-metrics .shopify-metric[data-shopify-metric="zero_today"] {
  background:#fff7f6;
  border-color:#e8c0bc
}
.shopify-metrics .shopify-metric[data-shopify-metric="zero_today"] .donut-value {
  stroke:#cc8b85
}
.shopify-metrics .shopify-metric[data-shopify-metric="zero_today"] strong {
  color:#a86b65
}
.theme-dark .shopify-metrics .shopify-metric[data-shopify-metric="zero_today"] {
  background:#34333e;
  border-color:#795b60
}
.theme-dark .shopify-metrics .shopify-metric[data-shopify-metric="zero_today"] strong {
  color:#d7a3a0
}
#shopify-schedule-button,#amazon-schedule-button,#order-schedule-button {
  white-space:nowrap
}
.schedule-frequency {
  margin-top:16px
}
#shopify-schedule-button,#amazon-schedule-button,#gestionale-schedule-button,#order-schedule-button {
  background:#b74747;
  border-color:#b74747;
  color:#fff
}
#shopify-schedule-button:hover,#amazon-schedule-button:hover,#gestionale-schedule-button:hover,#order-schedule-button:hover {
  background:#9f3838;
  border-color:#9f3838
}
#shopify-schedule-button:focus-visible,#amazon-schedule-button:focus-visible,#gestionale-schedule-button:focus-visible,#order-schedule-button:focus-visible {
  outline-color:#e59a9a
}
#schedule-notifications {
  position:fixed;
  right:20px;
  bottom:20px;
  width:min(420px,calc(var(--app-viewport-width) - 40px));
  max-height:calc(var(--app-viewport-height) * .7);
  overflow:auto;
  z-index:1000;
  display:flex;
  flex-direction:column;
  gap:10px
}
.schedule-notification {
  position:relative;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 6px 28px #0003;
  padding:16px 40px 16px 16px;
  flex-shrink:0
}
.schedule-notification-open {
  display:grid;
  gap:8px;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  text-align:left;
  line-height:1.4
}
.schedule-notification-open small {
  color:var(--muted)
}
.schedule-notification-close {
  position:absolute;
  right:9px;
  top:9px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink)
}
.theme-dark .schedule-notification {
  background:#20384a;
  color:#edf5fb
}
@media(prefers-reduced-motion:reduce) {
  .spinner {
    animation:none
  }
}
.schedule-notification.schedule-stock-zero {
  background:#fff0ee;
  border-color:#d45650;
  color:#862d29;
  box-shadow:inset 4px 0 #d45650,0 6px 28px #0003
}
.schedule-notification.schedule-stock-low {
  background:#fff4e4;
  border-color:#d9973b;
  color:#815019;
  box-shadow:inset 4px 0 #d9973b,0 6px 28px #0003
}
.schedule-stock-zero .schedule-notification-open small,.schedule-stock-low .schedule-notification-open small {
  color:inherit;
  opacity:.8
}
.theme-dark .schedule-notification.schedule-stock-zero {
  background:#4b2930;
  color:#ffd8d4;
  border-color:#d77a76
}
.theme-dark .schedule-notification.schedule-stock-low {
  background:#493724;
  color:#ffe2b9;
  border-color:#d9a257
}
/* Soft notification surfaces,with separate palettes for light and dark themes. */ #schedule-notifications {
  padding:12px;
  right:8px;
  bottom:8px;
  width:min(464px,calc(var(--app-viewport-width) - 16px));
  gap:16px
}
#schedule-notifications .schedule-notification {
  --notice-accent:#7197ae;
  --notice-bg:#f0f6f9;
  --notice-text:#334d5e;
  --notice-line:#c4d6e0;
  --notice-badge:#e0ebf1;
  --notice-label:#486d83;
  background:var(--notice-bg);
  color:var(--notice-text);
  border:1px solid var(--notice-line);
  border-left:4px solid var(--notice-accent);
  padding:18px 48px 18px 18px;
  box-shadow:0 8px 28px #263e5426,0 2px 5px #263e5412;
  animation:notice-arrive .22s ease-out
}
#schedule-notifications .schedule-stock-zero,#schedule-notifications .schedule-error {
  --notice-accent:#c0807c;
  --notice-bg:#fcf2f0;
  --notice-text:#684744;
  --notice-line:#e4c6c1;
  --notice-badge:#f3e1dd;
  --notice-label:#955955
}
#schedule-notifications .schedule-stock-low {
  --notice-accent:#c2a06d;
  --notice-bg:#fcf7ee;
  --notice-text:#65533c;
  --notice-line:#e4d5bb;
  --notice-badge:#f1e7d5;
  --notice-label:#876637
}
.theme-dark #schedule-notifications .schedule-notification {
  --notice-accent:#87a9bd;
  --notice-bg:#2c4353;
  --notice-text:#e1ebf0;
  --notice-line:#567080;
  --notice-badge:#3a5263;
  --notice-label:#bdd5e3;
  box-shadow:0 10px 30px #0005,0 2px 6px #0003
}
.theme-dark #schedule-notifications .schedule-stock-zero,.theme-dark #schedule-notifications .schedule-error {
  --notice-accent:#c58f8a;
  --notice-bg:#493a40;
  --notice-text:#f1e2df;
  --notice-line:#806267;
  --notice-badge:#5e484d;
  --notice-label:#e5bab4
}
.theme-dark #schedule-notifications .schedule-stock-low {
  --notice-accent:#c5aa7e;
  --notice-bg:#474239;
  --notice-text:#eee6d8;
  --notice-line:#7c705d;
  --notice-badge:#595143;
  --notice-label:#e2cca6
}
#schedule-notifications .schedule-notification-open {
  gap:10px;
  font-size:14px
}
#schedule-notifications .schedule-notification-open strong {
  font-size:15px;
  line-height:1.35
}
#schedule-notifications .schedule-notification-open small {
  color:inherit;
  opacity:.8;
  font-size:11px
}
.schedule-notification-badge {
  justify-self:start;
  padding:4px 9px;
  border-radius:5px;
  background:var(--notice-badge);
  color:var(--notice-label);
  font-size:11px;
  font-weight:700;
  letter-spacing:.2px
}
.schedule-notification-link {
  border-top:1px solid var(--notice-line);
  padding-top:10px;
  font-size:12px;
  font-weight:650;
  color:var(--notice-label)
}
#schedule-notifications .schedule-notification-close {
  width:30px;
  height:30px;
  right:9px;
  top:10px;
  border:1px solid var(--notice-line);
  background:var(--notice-badge);
  color:var(--notice-text);
  font-size:21px;
  line-height:1
}
#schedule-notifications .schedule-notification-close:hover {
  border-color:var(--notice-accent);
  background:var(--notice-bg)
}
#schedule-notifications button:focus-visible {
  outline:3px solid var(--notice-accent);
  outline-offset:3px
}
@keyframes notice-arrive {
  from {
    opacity:0;
    transform:translateY(12px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@media(prefers-reduced-motion:reduce) {
  #schedule-notifications .schedule-notification {
    animation:none
  }
}
.theme-dark .stock-warning-notice {
  background:#615747;
  color:#fff0dc
}
#gestionale-schedule-button,#order-schedule-button {
  white-space:nowrap
}
.schedule-frequency {
  margin-top:16px
}
.amazon-stock-config-actions {
  justify-content:flex-end
}
.topbar .schedule-catalog-icon {
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.topbar #shopify-schedule-button .schedule-catalog-icon {
  stroke-width:3.2
}
/* Keep standard button labels and spinners clear of generic topbar span styles. */ .topbar .button>.spinner.button-busy-spinner {
  margin:0
}
.topbar .button>.spinner.schedule-spinner {
  position:relative;
  display:grid;
  place-items:center;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  animation:none
}
.topbar .button>.spinner.schedule-spinner::before {
  content:"";
  position:absolute;
  inset:0;
  border:2px solid #e5e7eb;
  border-top-color:#6b7280;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 2px #fff;
  animation:spin 1.5s linear infinite
}
.topbar .button>.spinner.schedule-spinner.is-running::before {
  border-top-color:#b74747;
  animation-duration:.75s
}
.topbar .button>.spinner.schedule-spinner>.schedule-queue-count,.topbar #sync-menu-toggle>.schedule-summary-spinner>.schedule-queue-count {
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  width:auto;
  height:auto;
  margin:0;
  color:#34495a;
  font-size:9px;
  font-weight:800;
  line-height:1;
  pointer-events:none
}
.topbar #shopify-schedule-button .schedule-button-label,.topbar #amazon-schedule-button .schedule-button-label,.topbar #gestionale-schedule-button .schedule-button-label,.topbar #order-schedule-button .schedule-button-label {
  position:relative;
  display:inline-block;
  margin:0;
  color:inherit;
  font:inherit;
  line-height:1.5
}
.topbar #notification-bell {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:44px;
  height:42px;
  border:1px solid #caa247;
  border-radius:9px;
  background:#f5cf70;
  color:#664b15;
  cursor:pointer
}
/* Animate only the bell drawing; keep the button and counter still. */ #notification-bell .notification-bell-swing {
  transform-origin:12px 5px
}
#notification-bell.notification-ring-normal .notification-bell-swing {
  animation:notification-bell-swing .65s ease-in-out 3
}
#notification-bell[data-attention="warning"] .notification-bell-swing,#notification-bell[data-attention="error"] .notification-bell-swing {
  animation:notification-bell-swing .65s ease-in-out infinite
}
#notification-bell .notification-alert-rays {
  opacity:0;
  stroke:#c62828;
  stroke-width:1.5;
  transform-origin:12px 12px
}
#notification-bell[data-attention="error"] .notification-alert-rays {
  animation:notification-alert-rays .85s ease-out infinite
}
@keyframes notification-bell-swing {
  0%,100% {
    transform:rotate(0)
  }
  25% {
    transform:rotate(16deg)
  }
  75% {
    transform:rotate(-16deg)
  }
}
@keyframes notification-alert-rays {
  0% {
    opacity:0;
    transform:scale(.82)
  }
  25% {
    opacity:1
  }
  100% {
    opacity:0;
    transform:scale(1)
  }
}
@media(prefers-reduced-motion:reduce) {
  #notification-bell.notification-ring-normal .notification-bell-swing,#notification-bell[data-attention="warning"] .notification-bell-swing,#notification-bell[data-attention="error"] .notification-bell-swing,#notification-bell[data-attention="error"] .notification-alert-rays {
    animation:none
  }
  #notification-bell[data-attention="error"] .notification-alert-rays {
    opacity:1
  }
}
#notification-bell:hover {
  background:#ffdb87
}
#notification-bell>svg {
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.topbar #notification-bell #notification-bell-count {
  position:absolute;
  top:-8px;
  right:-8px;
  min-width:23px;
  height:23px;
  padding:0 4px;
  margin:0;
  display:grid;
  place-items:center;
  border:2px solid var(--line);
  border-radius:999px;
  background:var(--white);
  color:var(--ink);
  font-size:10px;
  font-weight:750;
  line-height:1
}
.topbar #notification-bell #notification-bell-count[data-severity="red"] {
  border-color:#d65b58
}
.topbar #notification-bell #notification-bell-count[data-severity="orange"] {
  border-color:#db983d
}
#notification-center {
  position:fixed;
  top:86px;
  right:20px;
  width:min(514px,calc(var(--app-viewport-width) - 32px));
  max-height:calc(var(--app-viewport-height) - 108px);
  z-index:1100;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 12px 40px #10233140;
  display:flex;
  flex-direction:column
}
#notification-center[hidden] {
  display:none
}
#notification-center::before {
  content:"";
  position:absolute;
  top:-7px;
  right:23px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  background:var(--white);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
#notification-center>header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  gap:12px
}
#notification-center>header>div {
  display:flex;
  gap:10px;
  align-items:center
}
#notification-center [data-notification-total] {
  margin-left:6px;
  color:var(--muted);
  font-size:12px
}
.notification-system,.notification-pin,.notification-panel-close {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid var(--line);
  border-radius:7px;
  padding:6px 9px;
  background:var(--paper);
  color:var(--ink);
  cursor:pointer
}
.notification-system svg,.notification-pin svg {
  width:17px;
  height:17px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round
}
.notification-system,.notification-pin {
  flex:none;
  white-space:nowrap
}
.notification-system {
  width:var(--button-height);
  min-width:var(--button-height);
  padding:0
}
.notification-pin[aria-pressed="true"] {
  background:#f5cf70;
  color:#664b15;
  border-color:#caa247
}
.notification-system[aria-pressed="true"] {
  border-color:color-mix(in srgb,var(--positive) 55%,var(--line));
  background:color-mix(in srgb,var(--positive) 14%,var(--white));
  color:var(--positive)
}
.notification-system:disabled {
  cursor:not-allowed;
  opacity:.58
}
.notification-panel-close {
  line-height:1
}
.notification-panel-close svg,.schedule-notification-close svg {
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor
}
@media(max-width:560px) {
  .notification-system {
    width:44px;
    min-width:44px;
    padding:0
  }
}
.notification-empty {
  margin:24px;
  color:var(--muted);
  text-align:center
}
#notification-center #schedule-notifications {
  position:static;
  width:100%;
  max-height:none;
  min-height:0;
  overflow:auto;
  flex:1;
  padding:14px;
  gap:12px;
  box-sizing:border-box
}
.theme-dark #notification-center,.theme-dark #notification-center::before {
  background:#20384a
}
.theme-dark #notification-bell #notification-bell-count {
  background:#20384a;
  color:#edf5fb
}
@media(max-width:650px) {
  #notification-center {
    top:80px;
    right:16px;
    max-height:calc(var(--app-viewport-height) - 96px)
  }
}
.topbar #notification-bell:not(.has-notifications) {
  background:var(--white);
  border-color:var(--line);
  color:var(--ink)
}
.topbar #notification-bell:not(.has-notifications):hover {
  background:var(--paper)
}
.theme-dark #notification-center,.theme-dark #notification-center::before {
  background:#304c60;
  border-color:#668295
}
.theme-dark #notification-center>header {
  border-color:#668295
}
.notification-clear-all {
  border:1px solid var(--line);
  border-radius:7px;
  padding:7px 9px;
  background:var(--paper);
  color:var(--ink);
  font-size:11px;
  cursor:pointer
}
.notification-clear-all:disabled {
  opacity:.45;
  cursor:default
}
.amazon-export-controls {
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  padding:12px 24px
}
.amazon-export-controls label {
  display:grid;
  gap:5px
}
.amazon-export-controls select {
  padding:8px;
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:6px
}
.amazon-export-controls p {
  font-size:12px;
  color:var(--muted)
}
.sidebar {
  overflow:visible;
  z-index:10
}
.sidebar nav a>.nav-item-label {
  font-size:inherit;
  width:auto;
  min-width:0
}
#sidebar-toggle {
  position:absolute;
  right:-14px;
  top:24px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:4px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:var(--ink);
  z-index:10;
  box-shadow:0 2px 8px #0002
}
#sidebar-toggle svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
body.sidebar-collapsed .sidebar {
  width:72px;
  padding:66px 10px 16px;
  display:flex;
  flex-direction:column
}
body.sidebar-collapsed .shell {
  margin-left:72px
}
body.sidebar-collapsed .sidebar .brand,body.sidebar-collapsed .sidebar .nav-label,body.sidebar-collapsed .sidebar .sidebar-bottom,body.sidebar-collapsed .sidebar nav a>.nav-item-label,body.sidebar-collapsed .sidebar nav b,body.sidebar-collapsed .sidebar nav em {
  display:none
}
body.sidebar-collapsed .sidebar nav {
  display:grid;
  gap:7px;
  margin-bottom:16px
}
body.sidebar-collapsed .sidebar nav a {
  display:flex;
  justify-content:center;
  gap:0;
  padding:12px 8px;
  min-height:44px
}
body.sidebar-collapsed #sidebar-toggle svg {
  transform:rotate(180deg)
}
body.sidebar-collapsed main {
  max-width:none
}
/* Spacing for the expandable source-data section in the order detail. */ /* Standard Omni Hub modal close control. */ dialog .modal-close {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 var(--modal-header-action-size)!important;
  width:var(--modal-header-action-size)!important;
  height:var(--modal-header-action-size)!important;
  min-width:var(--modal-header-action-size)!important;
  min-height:var(--modal-header-action-size)!important;
  padding:0!important;
  border:1px solid #9f2630!important;
  border-radius:8px!important;
  background:#b92e38!important;
  color:#fff!important;
  font-size:0!important;
  line-height:0!important;
  cursor:pointer
}
dialog .modal-close>svg {
  display:block!important;
  width:var(--modal-header-action-icon-size)!important;
  height:var(--modal-header-action-icon-size)!important;
  overflow:visible;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none
}
dialog .modal-close:hover {
  background:#9f2630!important;
  border-color:#9f2630!important;
  color:#fff!important
}
dialog .modal-close:focus-visible {
  outline:3px solid #f0a4aa;
  outline-offset:3px
}
/* Every icon-only action in a modal heading shares the close control geometry,
   independently from the selected application density. */
dialog .drawer-heading .icon-button,
dialog .drawer-heading .modal-close {
  box-sizing:border-box!important;
  flex:0 0 var(--modal-header-action-size)!important;
  width:var(--modal-header-action-size)!important;
  height:var(--modal-header-action-size)!important;
  min-width:var(--modal-header-action-size)!important;
  min-height:var(--modal-header-action-size)!important;
  padding:0!important;
  border-radius:var(--button-radius)!important
}
dialog .drawer-heading .icon-button>svg,
dialog .drawer-heading .modal-close>svg {
  width:var(--modal-header-action-icon-size)!important;
  height:var(--modal-header-action-icon-size)!important
}
dialog .modal-close-floating {
  position:absolute;
  z-index:3;
  top:16px;
  right:16px
}
.modal-title-with-icon {
  display:flex;
  align-items:flex-start;
  gap:10px
}
.modal-title-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  flex:0 0 1.1em;
  width:1.1em;
  height:1.1em;
  margin-top:.075em;
  color:currentColor
}
.modal-title-icon>svg,.modal-title-icon>img,.modal-title-icon>[data-modal-icon] {
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain
}
.catalog-reset-dialog-icon[hidden] {
  display:none!important
}
dialog>form,dialog>.close-confirm-card,dialog>.auth-card {
  position:relative
}
.theme-dark dialog .modal-close,.theme-dark dialog .modal-close:hover {
  background:#b92e38!important;
  border-color:#9f2630!important;
  color:#fff!important
}
/* Fixed row height keeps the spreadsheet's virtual scroll aligned. */ .catalog-sheet-table tbody tr:not(.sheet-spacer) {
  height:34px
}
.catalog-sheet-table tbody tr:not(.sheet-spacer)>td {
  height:34px;
  padding-top:0;
  padding-bottom:0;
  box-sizing:border-box
}
.catalog-sheet-table .excel-cell {
  height:33px;
  box-sizing:border-box
}
.catalog-sheet-table .sheet-spacer {
  pointer-events:none
}
.catalog-sheet-table .sheet-spacer td {
  line-height:0
}
/* Navigation uses a fixed icon box,independent of font glyph metrics. */ .sidebar nav a>svg {
  display:block;
  width:20px;
  height:20px;
  flex:0 0 20px;
  margin:0;
  overflow:visible
}
.nav-utility-icon {
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round
}
body.sidebar-collapsed .sidebar nav a {
  height:44px;
  box-sizing:border-box;
  align-items:center
}
.sync-status-report {
  margin-bottom:22px
}
.sync-status-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px
}
.sync-status-grid article {
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper)
}
.sync-status-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.sync-status-grid dl {
  margin:14px 0 0;
  font-size:12px
}
.sync-status-grid dl>div {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:5px 0
}
.sync-status-grid dt {
  color:var(--muted)
}
.sync-status-grid dd {
  margin:0;
  text-align:right;
  overflow-wrap:anywhere
}
.sync-status-grid .inline-error {
  margin-bottom:0
}
@media(max-width:760px) {
  .sync-status-grid {
    grid-template-columns:1fr
  }
}
/* Order archive */ .oh-panel {
  padding:20px
}
.oh-account {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  min-width:0
}
.oh-account input,.oh-account select {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  color:inherit;
  max-width:100%
}
.oh-pagination,.oh-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:20px
}
.oh-dialog {
  position:fixed;
  inset:0;
  margin:auto;
  height:fit-content;
  min-height:0;
  transform:none;
  overflow:auto;
  width:min(1180px,calc(var(--app-viewport-width) - 40px));
  max-width:calc(var(--app-viewport-width) - 40px);
  max-height:calc(var(--app-viewport-height) - 40px);
  border:1px solid var(--line);
  border-radius:16px;
  padding:0;
  background:var(--white);
  color:var(--ink)
}
.oh-dialog::backdrop {
  background:#07172788
}
.oh-dialog-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 24px;
  border-bottom:1px solid var(--line)
}
.oh-dialog-heading h2 {
  margin:0
}
.oh-dialog-body {
  padding:24px;
  overflow-wrap:anywhere
}
.oh-dialog-body details {
  margin:18px 0
}
.oh-dialog-body summary {
  cursor:pointer;
  font-weight:600
}
.oh-account {
  margin:16px 0
}
.oh-summary {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:20px 0
}
.oh-summary span {
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px
}
.oh-summary b {
  display:block;
  font-size:24px
}
.oh-warning {
  padding:12px 16px;
  background:#ba80151a;
  border-left:3px solid #bd891e;
  border-radius:4px
}
#oh-differences {
  max-height:45vh;
  overflow:auto
}
.oh-dialog-body .inline-error:empty {
  display:none
}
@media(max-width:700px) {
  .oh-pagination {
    flex-wrap:wrap
  }
  .oh-dialog-body {
    padding:14px
  }
}
.pt-method {
  margin:16px 0 0;
  padding:0 4px;
  color:var(--muted)
}
.pt-method summary {
  color:var(--ink);
  font-weight:650;
  cursor:pointer
}
.pt-method p {
  max-width:980px;
  line-height:1.6
}
.pt-metrics {
  display:flex;
  gap:26px;
  align-items:center;
  flex-wrap:wrap
}
.pt-metrics small,.pt-metrics strong {
  display:block
}
.pt-metrics small {
  color:var(--muted);
  margin-bottom:8px
}
.pt-metrics strong {
  font-size:18px
}
.pt-spark {
  display:block;
  width:100%;
  max-width:240px;
  min-width:0;
  height:56px;
  overflow:hidden;
  color:var(--green)
}
.pt-description {
  min-width:0
}
.pt-description strong,.pt-description small {
  display:block
}
.pt-description strong {
  overflow-wrap:anywhere
}
.pt-description small {
  margin-top:4px;
  color:var(--muted)
}
.pt-stock {
  line-height:1.7
}
.pt-stock small {
  color:var(--muted)
}
.pt-chart {
  margin-top:20px
}
.pt-chart>.pt-spark {
  width:100%;
  height:160px
}
.pt-stock-strip {
  display:flex;
  height:15px;
  gap:2px;
  margin-top:12px
}
.pt-stock-strip span {
  flex:1;
  background:var(--line)
}
.pt-stock-strip .available {
  background:#43906b
}
.pt-stock-strip .empty {
  background:#c26666
}
.pt-chart-caption {
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:11px;
  margin-top:8px
}
/* Shared sales reports workspace */ .sr-filters-panel {
  margin-bottom:20px
}
.sr-last-sync {
  border-radius:999px;
  padding:8px 11px;
  font-size:11px;
  font-variant-numeric:tabular-nums
}
.sr-context {
  font-size:12px;
  line-height:1.7;
  color:var(--muted)
}
.sr-context a {
  text-decoration:underline;
  color:var(--ink)
}
.sr-kpis {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:20px 0
}
.sr-kpis.shipping-kpis {
  grid-template-columns:repeat(5,minmax(0,1fr))
}
.sr-kpis article small {
  display:block;
  margin-top:8px;
  color:var(--muted);
  line-height:1.4
}
.shipping-overview {
  margin:20px 0
}
.shipping-overview .overview-chart-grid {
  align-items:stretch
}
.shipping-chart-card,.shipping-coverage-card {
  min-height:245px
}
.shipping-metric-row {
  width:100%;
  border:0;
  padding:4px 0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer
}
.shipping-metric-row:hover,.shipping-metric-row:focus-visible {
  color:var(--green)
}
.shipping-coverage-visual {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:145px
}
.shipping-coverage-visual>div {
  display:flex;
  flex-direction:column;
  gap:5px
}
.shipping-coverage-visual>div strong {
  font-size:28px
}
.shipping-coverage-visual>div span,.shipping-coverage-visual>div small {
  color:var(--muted);
  font-size:11px
}
.shipping-history-stack {
  display:grid;
  gap:18px;
  margin-top:18px
}
.shipping-history-card {
  position:relative;
  border:1px solid var(--line);
  border-radius:11px;
  padding:18px;
  background:var(--white);
  min-width:0;
  overflow-x:auto
}
.shipping-history-heading {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center
}
.shipping-history-heading h3 {
  margin:0;
  font-size:15px
}
.shipping-history-heading span {
  color:var(--muted);
  font-size:11px
}
.shipping-history-chart {
  display:block;
  width:100%;
  min-width:620px;
  height:auto;
  margin-top:12px;
  overflow:visible
}
.shipping-history-chart text {
  fill:var(--muted);
  font-size:10px
}
.shipping-history-chart circle {
  stroke:var(--white);
  stroke-width:2
}
.shipping-chart-point {
  cursor:pointer;
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .08s ease,stroke-width .08s ease,filter .08s ease;
  outline:none
}
.shipping-chart-point:hover,.shipping-chart-point:focus,.shipping-chart-point.is-active {
  transform:scale(1.65);
  stroke-width:3;
  filter:drop-shadow(0 2px 3px #172b3a66)
}
.shipping-chart-tooltip {
  position:absolute;
  z-index:4;
  max-width:min(300px,calc(100% - 20px));
  padding:8px 11px;
  border-radius:7px;
  background:#263746;
  color:#fff;
  box-shadow:0 5px 16px #13273545;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  pointer-events:none
}
.shipping-chart-tooltip::after {
  content:"";
  position:absolute;
  left:var(--shipping-tooltip-arrow-x,50%);
  bottom:-6px;
  width:12px;
  height:12px;
  background:#263746;
  transform:translateX(-50%) rotate(45deg);
  border-radius:0 0 2px 0;
  pointer-events:none
}
.shipping-detail-dialog .ord-body {
  min-height:0
}
.margin-dashboard-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:18px
}
.margin-donut-card {
  padding:0;
  overflow:hidden
}
.margin-donut-card>.kpi-chart-heading {
  justify-content:flex-start;
  min-height:76px;
  padding:22px;
  cursor:pointer
}
.margin-donut-card>.kpi-chart-heading>div {
  margin-right:auto
}
.margin-donut-card>.margin-donut-body {
  padding:0 22px 22px
}
.margin-donut-card .kpi-chart-heading p {
  margin:5px 0 0;
  color:var(--muted);
  font-size:11px
}
.margin-empty-lists {
  display:grid;
  gap:10px
}
.margin-empty-lists-heading {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted)
}
.margin-empty-lists-heading h2 {
  font-size:12px;
  font-weight:600
}
.margin-empty-lists-heading span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:var(--soft);
  font-size:11px;
  font-variant-numeric:tabular-nums
}
.margin-empty-list-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  align-items:start;
  gap:10px
}
.margin-donut-card--compact[open] {
  grid-column:1/-1
}
.margin-donut-card--compact:not([open])>.kpi-chart-heading {
  align-items:center;
  min-height:52px;
  padding:12px 15px
}
.margin-donut-card--compact:not([open]) .kpi-chart-heading h2 {
  font-size:13px
}
.margin-donut-card--compact:not([open]) .kpi-chart-heading p {
  display:none
}
.margin-donut-layout {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  align-items:center;
  gap:24px;
  margin-top:22px
}
.margin-donut {
  position:relative;
  width:180px;
  height:180px;
  border-radius:50%
}
.margin-donut svg {
  display:block;
  width:100%;
  height:100%;
  transform:rotate(-90deg)
}
.margin-donut-track,.margin-donut-slice {
  fill:none;
  stroke-width:10
}
.margin-donut-track {
  stroke:var(--line)
}
.margin-donut-slice {
  stroke-linecap:butt
}
.margin-donut::after {
  content:"";
  position:absolute;
  inset:34px;
  border-radius:50%;
  background:var(--white);
  box-shadow:0 0 0 1px var(--line)
}
.margin-donut>span {
  position:absolute;
  z-index:1;
  inset:42px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center
}
.margin-donut>span strong {
  font-size:26px
}
.margin-donut>span small {
  color:var(--muted);
  font-size:10px
}
.margin-donut-legend {
  display:grid;
  gap:7px
}
.margin-donut-legend button {
  display:grid;
  grid-template-columns:10px minmax(120px,1fr) 48px 52px;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:36px;
  padding:6px 8px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:var(--ink);
  text-align:left
}
.margin-donut-legend button:hover,.margin-donut-legend button:focus-visible {
  border-color:var(--line);
  background:var(--soft)
}
.margin-donut-legend i {
  width:10px;
  height:10px;
  border-radius:50%;
  background:currentColor
}
.margin-band-negative {stroke:#922d38;color:#922d38}
.margin-band-up_to_5 {stroke:#d96358;color:#d96358}
.margin-band-from_5_to_10 {stroke:#c49542;color:#c49542}
.margin-band-from_10_to_20 {stroke:#6596c4;color:#6596c4}
.margin-band-over_20 {stroke:#4b9d79;color:#4b9d79}
.margin-band-unavailable {stroke:#a6b3bd;color:#a6b3bd}
.margin-donut-legend span {
  font-size:11px
}
.margin-donut-legend strong,.margin-donut-legend small {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.margin-donut-legend small {
  color:var(--muted)
}
.margin-products {
  margin-top:18px
}
@media(max-width:1100px) {
  .margin-dashboard-grid {grid-template-columns:1fr}
}
@media(max-width:620px) {
  .margin-donut-card>.kpi-chart-heading {padding:18px 15px}
  .margin-donut-card>.margin-donut-body {padding:0 15px 18px}
  .margin-donut-layout {grid-template-columns:1fr;justify-items:center}
  .margin-donut-legend {width:100%}
}
.sr-kpis article {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  padding:20px
}
.sr-kpis span {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:12px
}
.sr-kpis strong {
  font-size:28px;
  font-weight:650
}
.pricing-confirmed-results {
  margin-bottom:20px
}
.omni-tabs {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  padding:0 0 12px;
  border-bottom:1px solid var(--line);
  overflow-x:auto
}
.omni-tabs button {
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink);
  white-space:nowrap
}
.omni-tabs button[aria-selected=true] {
  border-color:var(--ink);
  background:var(--ink);
  color:var(--white)
}
.omni-tab-count {
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:11px;
  line-height:1
}
.omni-tab-panel[hidden],
[data-confirmed-panel][hidden] {
  display:none!important
}
.sr-tabs {
  display:flex;
  gap:6px;
  margin-bottom:14px;
  overflow-x:auto;
  padding:3px
}
.sr-tabs button {
  border:1px solid transparent;
  padding:12px 17px;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  white-space:nowrap;
  font-weight:600
}
.sr-tabs button[aria-selected=true] {
  background:var(--white);
  border-color:var(--line);
  color:var(--ink);
  box-shadow:0 3px 9px #19364508
}
.sr-heading {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center
}
.sr-heading h2 {
  margin:0
}
.sr-heading p {
  font-size:12px;
  color:var(--muted)
}
.sr-report-grid {
  margin-top:14px
}
.sr-switch {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.sr-legend {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:18px 0;
  color:var(--muted);
  font-size:12px
}
.sr-legend span {
  display:flex;
  align-items:center;
  gap:7px
}
.sr-legend i {
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:3px
}
.sr-current {
  background:#487fa5
}
.sr-previous {
  background:#a28aad
}
.sr-line {
  display:block;
  width:100%;
  height:auto;
  min-height:190px;
  overflow:visible
}
.sr-line-chart {
  position:relative;
  min-width:0
}
.sr-line text {
  fill:var(--muted);
  font-size:11px
}
.sr-line-point {
  cursor:pointer;
  stroke:var(--white);
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .08s ease,stroke-width .08s ease,filter .08s ease;
  outline:none
}
.sr-line-point:hover,.sr-line-point:focus,.sr-line-point.is-active {
  transform:scale(1.65);
  stroke-width:3;
  filter:drop-shadow(0 2px 3px #172b3a66)
}
.sr-line-tooltip {
  position:absolute;
  z-index:4;
  max-width:min(320px,calc(100% - 16px));
  padding:8px 11px;
  border-radius:7px;
  background:#263746;
  color:#fff;
  box-shadow:0 5px 16px #13273545;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  pointer-events:none
}
.sr-line-tooltip::after {
  content:"";
  position:absolute;
  left:var(--sr-line-tooltip-arrow-x,50%);
  bottom:-6px;
  width:12px;
  height:12px;
  border-radius:0 0 2px 0;
  background:#263746;
  transform:translateX(-50%) rotate(45deg)
}
.sr-grid,.sr-axis {
  stroke:var(--line);
  stroke-width:1
}
.sr-bars {
  display:grid;
  gap:15px;
  margin:24px 0
}
.sr-bar-row {
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(160px,2fr) 100px;
  gap:18px;
  align-items:center
}
.sr-bar-row svg {
  width:100%;
  height:28px
}
.sr-channel-bars {
  position:relative
}
.sr-channel-bars .sr-bar-row {
  grid-template-columns:minmax(180px,260px) minmax(480px,1fr) 100px
}
.sr-channel-segment {
  cursor:pointer;
  transform-box:fill-box;
  transform-origin:center;
  transition:filter .08s ease,opacity .08s ease;
  outline:none
}
.sr-channel-segment:hover,.sr-channel-segment:focus,.sr-channel-segment.is-active {
  filter:brightness(1.12) drop-shadow(0 2px 3px #172b3a55);
  opacity:.94
}
.sr-channel-tooltip {
  position:absolute;
  z-index:4;
  max-width:min(320px,calc(100% - 16px));
  padding:8px 11px;
  border-radius:7px;
  background:#263746;
  color:#fff;
  box-shadow:0 5px 16px #13273545;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  pointer-events:none
}
.sr-channel-tooltip::after {
  content:"";
  position:absolute;
  left:var(--sr-channel-tooltip-arrow-x,50%);
  bottom:-6px;
  width:12px;
  height:12px;
  border-radius:0 0 2px 0;
  background:#263746;
  transform:translateX(-50%) rotate(45deg)
}
.sr-bar-row strong {
  text-align:right;
  font-size:12px
}
.sr-bar-row small {
  display:block;
  color:var(--muted);
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:220px;
  margin-top:5px
}
.sr-data-link {
  border:0;
  padding:3px 0;
  background:none;
  color:var(--ink);
  font-weight:600;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer
}
.sr-data-link:hover {
  color:var(--green)
}
.sr-product-title {
  display:block;
  max-width:420px;
  margin-top:6px;
  color:var(--muted);
  font-size:11px
}
.sr-heatmap {
  white-space:nowrap!important
}
.sr-heatmap th,.sr-heatmap td {
  padding:12px 14px;
  text-align:center
}
.sr-heatmap th:first-child {
  text-align:left;
  min-width:160px
}
.sr-heatmap .sr-data-link {
  color:inherit
}
.sr-heat-0 {
  background:var(--paper);
  color:var(--muted)
}
.sr-heat-1 {
  background:#e4edf3;
  color:#274558
}
.sr-heat-2 {
  background:#bfd3e2;
  color:#274558
}
.sr-heat-3 {
  background:#91b4cf;
  color:#17364c
}
.sr-heat-4 {
  background:#608fb2;
  color:#fff
}
.sr-heat-5 {
  background:#386685;
  color:#fff
}
.sr-loading {
  padding:40px;
  text-align:center;
  color:var(--muted)
}
#sr-content table {
  white-space:normal
}
.sr-detail table {
  table-layout:auto!important
}
@media(max-width:760px) {
  .sr-kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .sr-kpis.shipping-kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .sr-heading {
    align-items:start;
    flex-direction:column
  }
  .sr-bar-row {
    grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) 65px;
    gap:10px
  }
  .sr-channel-bars .sr-bar-row {
    grid-template-columns:minmax(100px,1fr) minmax(180px,2fr) 65px
  }
  .sr-tabs button {
    padding:10px 12px
  }
  .sr-kpis article {
    padding:14px
  }
  .sr-kpis strong {
    font-size:24px
  }
  .shipping-coverage-visual {
    justify-content:flex-start
  }
}
.pt-chart {
  position:relative;
  overflow-x:auto
}
.pt-history-chart {
  display:block;
  width:100%;
  min-width:620px;
  height:auto;
  color:var(--ink)
}
.pt-history-chart text {
  fill:var(--muted);
  font-size:12px;
  stroke:none
}
.pt-chart-grid {
  stroke:var(--line);
  stroke-width:1
}
.pt-history-point {
  cursor:pointer;
  stroke:var(--white);
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .08s ease,stroke-width .08s ease,filter .08s ease;
  outline:none
}
.pt-history-point:hover,.pt-history-point:focus,.pt-history-point.is-active {
  transform:scale(1.65);
  stroke-width:3;
  filter:drop-shadow(0 2px 3px #172b3a66)
}
.pt-history-tooltip {
  position:absolute;
  z-index:4;
  max-width:min(320px,calc(100% - 16px));
  padding:8px 11px;
  border-radius:7px;
  background:#263746;
  color:#fff;
  box-shadow:0 5px 16px #13273545;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  pointer-events:none
}
.pt-history-tooltip::after {
  content:"";
  position:absolute;
  left:var(--pt-history-tooltip-arrow-x,50%);
  bottom:-6px;
  width:12px;
  height:12px;
  border-radius:0 0 2px 0;
  background:#263746;
  transform:translateX(-50%) rotate(45deg)
}
.pt-chart .pt-stock-strip {
  margin-left:6.5%;
  margin-right:2.5%
}
.pt-detail-layout {
  display:grid;
  gap:18px;
  min-width:0
}
.pt-detail-top {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start
}
.pt-detail-summary,.pt-detail-visual {
  min-width:0
}
.pt-detail-summary>p:first-child {
  margin-top:0
}
.pt-detail-summary .pt-metrics {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px
}
.pt-detail-summary p {
  font-size:13px;
  line-height:1.5;
  margin-bottom:14px
}
.pt-detail-visual .pt-chart {
  margin-top:10px
}
.pt-detail-visual .pt-history-chart {
  min-width:0
}
.pt-detail-visual>p {
  font-size:12px;
  line-height:1.5;
  margin-bottom:0
}
@media(max-width:900px) {
  .pt-detail-top {
    grid-template-columns:minmax(0,1fr);
    gap:18px
  }
}
.auth-page {
  display:grid;
  place-items:center;
  min-height:100vh
}
.auth-card {
  padding:28px;
  max-width:620px;
  margin:auto
}
.auth-card label {
  display:block;
  margin:12px 0
}
.auth-card input:not([type=checkbox]) {
  display:block;
  width:100%;
  padding:10px;
  margin-top:6px
}
.auth-card fieldset {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 18px;
  margin:18px 0
}
.auth-editor {
  max-height:90vh;
  overflow:auto;
  width:min(680px,95vw)
}
.sidebar [hidden] {
  display:none!important
}
/* Account and administration layout */ body.auth-page {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100dvh;
  padding:28px
}
.auth-page>main.auth-card {
  width:min(520px,100%);
  min-height:0;
  height:auto;
  margin:auto;
  padding:36px;
  flex:none
}
.auth-login-logo {
  display:block;
  width:min(250px,100%);
  height:auto;
  margin:0 0 20px
}
.auth-card input:not([type=checkbox]) {
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  min-height:44px
}
.auth-card label {
  line-height:1.5
}
.auth-card h2 {
  margin-bottom:22px
}
.auth-card [role=alert]:empty,#auth-error:empty {
  display:none
}
.auth-card fieldset {
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  gap:8px 20px
}
.auth-card fieldset label {
  margin:4px 0;
  display:flex;
  align-items:center;
  gap:8px
}
.auth-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--line)
}
dialog.auth-editor {
  position:fixed;
  inset:0;
  margin:auto;
  width:min(720px,calc(var(--app-viewport-width) - 32px));
  height:fit-content;
  max-height:calc(var(--app-viewport-height) - 40px);
  padding:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  color:var(--ink);
  overflow:auto
}
dialog.auth-password {
  width:min(520px,calc(var(--app-viewport-width) - 32px))
}
.auth-editor .auth-card {
  max-width:none;
  margin:0;
  padding:28px
}
.account-menu {
  position:relative;
  flex:none
}
.account-avatar {
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  background:var(--paper);
  color:var(--ink)
}
.account-avatar svg {
  width:21px;
  height:21px
}
.account-popover {
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:220px;
  padding:14px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 12px 35px #0002;
  z-index:30;
  color:var(--ink)
}
.account-popover[hidden] {
  display:none
}
.account-popover strong,.account-popover small {
  display:block;
  padding:4px 8px
}
.account-popover small {
  color:var(--muted);
  margin-bottom:12px
}
.account-popover button,.account-popover a {
  display:block;
  width:100%;
  padding:11px 8px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  font:inherit;
  cursor:pointer
}
.account-popover button:hover,.account-popover a:hover {
  background:var(--paper)
}
.account-popover .theme-quick {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  margin:8px 0;
  padding:12px 8px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:11px
}
.topbar .account-popover .theme-quick-label {
  margin:0;
  color:var(--muted);
  cursor:pointer
}
.account-popover .theme-quick select {
  width:100%;
  min-height:40px;
  padding:8px;
  border-color:var(--line);
  background:var(--white);
  color:var(--ink);
  font-size:11px
}
.account-popover .account-zoom {
  display:grid;
  gap:8px;
  padding:12px 8px;
  border-bottom:1px solid var(--line)
}
.topbar .account-popover .account-zoom>span {
  margin:0;
  color:var(--muted);
  font-size:11px
}
.account-zoom-options {
  display:flex;
  gap:4px
}
.account-popover .account-zoom-options button {
  display:inline-flex;
  align-items:center;
  width:auto;
  min-width:0;
  flex:1 1 0;
  justify-content:center;
  padding:0 4px!important;
  border:1px solid var(--line);
  text-align:center
}
.account-popover .account-zoom-options button[aria-pressed="true"] {
  border-color:var(--ink);
  background:var(--ink);
  color:var(--white)
}
.account-popover .account-zoom-options button[aria-pressed="true"]:hover {
  background:var(--ink)
}
@media(max-width:600px) {
  .auth-card fieldset {
    grid-template-columns:1fr
  }
  .auth-page>main.auth-card {
    padding:24px
  }
  dialog.auth-editor {
    max-height:calc(var(--app-viewport-height) - 24px)
  }
}
/* Tablet navigation starts as a compact rail; phones use a full overlay menu. */ #mobile-nav-toggle {
  display:none
}
.sidebar nav {
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain
}
.sidebar .brand,.sidebar .nav-label,.sidebar .sidebar-bottom {
  flex-shrink:0
}
.topbar .app-title {
  margin:0!important;
  color:inherit!important
}
.topbar-location {
  min-width:0
}
.top-right {
  flex-shrink:0
}
.sync-menu {
  position:relative;
  display:block;
  flex:none
}
#sync-menu-toggle {
  display:flex;
  align-items:center;
  white-space:nowrap
}
#sync-menu-toggle[hidden] {
  display:none
}
#sync-menu-toggle svg {
  width:var(--button-icon-size);
  height:var(--button-icon-size);
  flex:0 0 var(--button-icon-size);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.topbar #sync-menu-toggle .sync-menu-label {
  position:relative;
  display:inline-block;
  margin:0;
  color:inherit;
  font:inherit;
  line-height:1.5
}
.topbar #sync-menu-toggle>.schedule-summary-spinner {
  position:relative;
  display:grid;
  place-items:center;
  width:var(--button-icon-size);
  height:var(--button-icon-size);
  flex:0 0 var(--button-icon-size);
  margin:0;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  animation:none
}
.topbar #sync-menu-toggle>.schedule-summary-spinner::before {
  content:"";
  position:absolute;
  inset:0;
  border:3px solid #e1e5e8;
  border-top-color:#7c878f;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 2px #fff;
  animation:spin 3s linear infinite
}
#sync-menu-toggle[data-sync-state="running"]>.schedule-summary-spinner::before {
  border-color:#e5e7eb;
  border-top-color:#b74747;
  animation-duration:.72s
}
@media(prefers-reduced-motion:reduce) {
  .topbar .button>.spinner.schedule-spinner::before,.topbar #sync-menu-toggle>.schedule-summary-spinner::before {
    animation:none
  }
}
.sync-menu-panel {
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:30;
  display:grid;
  gap:8px;
  width:min(310px,calc(var(--app-viewport-width) - 32px));
  max-height:calc(var(--app-viewport-height) - 100px);
  overflow-y:auto;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
  box-shadow:0 12px 35px #0002
}
.sync-menu-panel[hidden] {
  display:none
}
.topbar .sync-menu-panel #shopify-schedule-button,.topbar .sync-menu-panel #amazon-schedule-button,.topbar .sync-menu-panel #gestionale-schedule-button,.topbar .sync-menu-panel #order-schedule-button {
  display:flex;
  width:100%;
  min-height:44px;
  justify-content:flex-start;
  padding:10px 12px;
  font-size:var(--button-font-size)
}
.topbar .sync-menu-panel .schedule-button-label {
  display:inline-block;
  min-width:0;
  font-size:var(--button-font-size)
}
.topbar .sync-menu-panel .schedule-stop-all {
  width:100%;
  margin-top:4px;
  border-color:#c9d0d5;
  background:#e1e5e8;
  color:#34495a
}
.topbar .sync-menu-panel .schedule-stop-all[hidden] {
  display:none!important
}
.topbar .sync-menu-panel .schedule-stop-all:hover {
  border-color:#aeb8bf;
  background:#d2d8dc;
  color:#263947
}
.theme-dark .topbar .sync-menu-panel .schedule-stop-all {
  border-color:#526573;
  background:#3d4d59;
  color:#e5edf2
}
.theme-dark .topbar .sync-menu-panel .schedule-stop-all:hover {
  border-color:#71818c;
  background:#4a5c69;
  color:#fff
}
@media(max-width:1366px) {
  .topbar-location {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .topbar-location .app-title,.topbar-location .crumb-divider {
    display:none
  }
  .topbar .top-right {
    gap:8px
  }
  #sync-menu-toggle {
    max-width:190px
  }
}
@media(max-width:760px), (max-width:1100px) and (max-height:500px) {
  body.mobile-nav-open {
    overflow:hidden
  }
  .sidebar,body.sidebar-collapsed .sidebar {
    position:fixed;
    inset:0 auto 0 0;
    width:min(310px,86vw);
    height:var(--app-viewport-height);
    padding:24px 18px;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    border-right:1px solid var(--line);
    border-bottom:0;
    transform:translateX(-105%);
    visibility:hidden;
    transition:transform .2s ease,visibility .2s ease;
    z-index:101
  }
  body.mobile-nav-open .sidebar,body.mobile-nav-open.sidebar-collapsed .sidebar {
    transform:translateX(0);
    visibility:visible
  }
  .sidebar .brand,body.sidebar-collapsed .sidebar .brand,.sidebar .nav-label,body.sidebar-collapsed .sidebar .nav-label,.sidebar .sidebar-bottom,body.sidebar-collapsed .sidebar .sidebar-bottom,.sidebar nav a>.nav-item-label,body.sidebar-collapsed .sidebar nav a>.nav-item-label {
    display:flex
  }
  .sidebar .brand,body.sidebar-collapsed .sidebar .brand {
    display:flex
  }
  .sidebar .nav-label,body.sidebar-collapsed .sidebar .nav-label {
    display:block
  }
  .sidebar .sidebar-bottom,body.sidebar-collapsed .sidebar .sidebar-bottom {
    display:block
  }
  .sidebar nav,body.sidebar-collapsed .sidebar nav,.sidebar nav:last-of-type {
    display:grid;
    gap:4px;
    margin:18px 0;
    flex-shrink:0;
    overflow:visible
  }
  .sidebar .brand img {
    max-width:calc(100% - 48px)
  }
  .sidebar nav a,body.sidebar-collapsed .sidebar nav a {
    justify-content:flex-start;
    gap:10px;
    min-height:44px;
    padding:11px 12px;
    font-size:13px
  }
  .sidebar nav a>svg {
    flex:0 0 20px
  }
  #sidebar-toggle {
    position:absolute;
    top:18px;
    right:18px;
    width:44px;
    height:44px;
    box-shadow:none
  }
  body.sidebar-collapsed #sidebar-toggle svg {
    transform:none
  }
  .shell,body.sidebar-collapsed .shell {
    margin-left:0
  }
  .topbar {
    height:58px;
    padding:0 12px;
    gap:8px;
    justify-content:flex-start
  }
  .topbar-location {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .topbar .top-right {
    margin-left:auto;
    gap:8px
  }
  .sync-menu-panel,.account-popover {
    position:fixed;
    top:68px;
    right:12px;
    left:12px;
    width:auto;
    max-height:calc(var(--app-viewport-height) - 80px);
    overflow-y:auto
  }
  #notification-center {
    top:68px;
    left:12px;
    right:12px;
    width:auto;
    max-height:calc(var(--app-viewport-height) - 80px)
  }
  #notification-center>header {
    flex-wrap:wrap;
    gap:8px
  }
  #notification-center>header>div {
    margin-left:auto
  }
  #mobile-nav-toggle {
    display:grid;
    place-items:center;
    flex:none;
    width:44px;
    height:44px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--white);
    color:var(--ink)
  }
  #mobile-nav-toggle svg {
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round
  }
  #mobile-nav-backdrop:not([hidden]) {
    position:fixed;
    inset:0;
    display:block;
    background:#14232c80;
    z-index:100
  }
}
@media(prefers-reduced-motion:reduce) {
  .sidebar {
    transition:none!important
  }
}
@media(prefers-reduced-motion:reduce) {
  #sync-menu-toggle .schedule-summary-spinner {
    animation:none
  }
}
/* The bubble can shift at screen edges while its pointer stays on the icon. */ #sync-menu-panel.header-bubble,#account-popover.header-bubble,#notification-center.header-bubble {
  position:fixed;
  inset:auto;
  left:var(--bubble-left);
  top:var(--bubble-top);
  width:var(--bubble-width);
  max-height:var(--bubble-height);
  overflow-y:auto;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 12px 35px #0003;
  z-index:90
}
#notification-center.header-bubble::before {
  display:none
}
.header-bubble-arrow {
  position:fixed;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:var(--white);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  pointer-events:none;
  z-index:90
}
.header-bubble-arrow[hidden] {
  display:none
}
/* Reports retain a compact tablet layout. */ @media(min-width:701px) and (max-width:900px) {
  .sr-kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .sr-kpis.shipping-kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:900px) {
  #sr-content .sr-list-cards {
    display:block;
    width:100%;
    table-layout:auto
  }
  #sr-content .sr-list-cards thead {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap
  }
  #sr-content .sr-list-cards tbody {
    display:grid;
    gap:10px
  }
  #sr-content .sr-list-cards tbody tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 14px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white)
  }
  #sr-content .sr-list-cards td {
    display:block;
    min-width:0;
    padding:8px 0;
    border:0;
    overflow:visible;
    white-space:normal;
    overflow-wrap:anywhere
  }
  #sr-content .sr-list-cards td::before {
    content:attr(data-column-label);
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:9px;
    font-weight:650;
    letter-spacing:.55px
  }
  #sr-content .sr-list-cards td:first-child {
    grid-column:1/-1;
    border-bottom:1px solid var(--line);
    padding-top:0;
    padding-bottom:11px
  }
  #sr-content .sr-list-cards td:first-child::before {
    display:none
  }
  #sr-content .sr-list-cards td.empty {
    grid-column:1/-1;
    border:0
  }
  #sr-content .sr-list-cards .sr-product-title {
    max-width:none
  }
  .oh-dialog {
    width:calc(var(--app-viewport-width) - 24px);
    max-width:calc(var(--app-viewport-width) - 24px);
    max-height:calc(var(--app-viewport-height) - 24px)
  }
  .oh-dialog-heading {
    padding:16px
  }
  .oh-dialog-body {
    padding:16px
  }
  .oh-dialog .oh-pagination {
    align-items:flex-start;
    flex-wrap:wrap
  }
}
/* Select menus are shared template controls: larger than a native picker and visually consistent. */ select:not([multiple]) {
  min-height:44px;
  padding:10px 40px 10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background-color:var(--white);
  color:var(--ink);
  font-size:14px;
  line-height:1.25;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a89a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px;
  box-shadow:inset 0 1px 0 #fff8
}
select:not([multiple]):focus {
  outline:3px solid color-mix(in srgb,var(--blue,var(--green)) 35%,transparent);
  outline-offset:1px;
  border-color:var(--blue,var(--green))
}
/* Standard form fields keep the same outer height regardless of native control metrics. */
.field input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.field select:not([multiple]) {
  height:44px;
  min-height:44px;
  padding-top:0;
  padding-bottom:0;
  line-height:normal
}
@media(max-width:700px) {
  select:not([multiple]) {
    font-size:16px
  }
  .field input,.field textarea {
    font-size:16px
  }
}
@media(max-width:900px) {
  #sr-content .sr-product-bars .sr-bar-row {
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 14px;
    padding:13px 0;
    border-bottom:1px solid var(--line)
  }
  #sr-content .sr-product-bars .sr-bar-row>div {
    grid-column:1/-1
  }
  #sr-content .sr-product-bars .sr-bar-row svg {
    grid-column:1;
    width:100%;
    min-width:0
  }
  #sr-content .sr-product-bars .sr-bar-row strong {
    grid-column:2;
    min-width:68px;
    text-align:right;
    white-space:nowrap
  }
  #sr-content .sr-product-bars .sr-bar-row small {
    max-width:none
  }
}
.sr-heat-cell {
  display:block;
  padding:7px 9px;
  border-radius:6px
}
.sr-heat-cell .sr-data-link {
  color:inherit
}
/* Hidden channel-specific controls must remain absent from layout and focus. */ .channel-sync-controls label[hidden] {
  display:none
}
.omni-config-stack {
  display:grid;
  gap:12px
}
.panel.omni-config-section {
  padding:0;
  margin:0;
  overflow:visible
}
.omni-config-section>summary {
  display:flex;
  align-items:center;
  gap:16px;
  min-height:76px;
  padding:16px 24px;
  cursor:pointer;
  color:var(--ink)
}
.omni-config-section>summary>span {
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
  gap:4px
}
.omni-config-section>summary strong {
  color:var(--ink);
  font-size:18px
}
.omni-config-section>summary small {
  color:var(--muted);
  font-size:13px;
  line-height:1.4
}
.omni-config-section[open]>summary {
  border-bottom:1px solid var(--line)
}
.omni-config-body {
  padding:0 24px 24px
}
.omni-config-section {
  position:relative
}
.omni-config-section:has(.ord-help-bubble:not([hidden])) {
  z-index:20
}
.omni-config-help {
  display:grid;
  flex:0 0 auto;
  margin-left:auto;
  place-items:center
}
.omni-config-section-actions {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:8px;
  margin-left:auto
}
.omni-config-section-actions+.omni-config-help {
  margin-left:0
}
.omni-config-transfer {
  display:grid;
  place-items:center
}
.setup-transfer-dialog textarea {
  width:100%;
  min-height:180px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  background:var(--paper);
  color:var(--ink);
  font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace
}
.omni-config-help svg {
  width:var(--button-icon-size);
  height:var(--button-icon-size)
}
.omni-config-body>.notice {
  margin-top:18px
}
.omni-config-body .form-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))
}
.omni-config-groups {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:16px;
  width:100%;
  margin-top:20px
}
.omni-config-group.ord-group {
  min-width:0;
  background:var(--paper)
}
.omni-config-group-wide {
  grid-column:1/-1
}
.omni-config-group-content.form-grid {
  grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),280px));
  justify-content:start;
  gap:16px;
  margin-top:16px
}
.omni-config-group-content.form-grid>.ord-group-description {
  grid-column:1/-1
}
.omni-config-group-content.form-grid>.full {
  grid-column:auto
}
.omni-config-group-content.form-grid>[role="status"] {
  grid-column:1/-1;
  margin:0;
  color:var(--muted);
  font-size:12px
}
.omni-config-group-stack {
  display:grid;
  gap:14px;
  margin-top:16px
}
.omni-config-body>:is(.notice,.inline-error,.form-actions),
.omni-config-body>form>:is(.notice,.inline-error,.form-actions) {
  width:100%
}
.omni-config-grid-block {
  min-width:0;
  margin:0
}
@media(max-width:1050px) {
  .omni-config-groups {
    grid-template-columns:minmax(0,560px)
  }
}
@media(max-width:700px) {
  .omni-config-section>summary {
    min-height:68px;
    padding:14px 18px
  }
  .omni-config-body {
    padding:0 18px 18px
  }
  .omni-config-group {
    width:100%
  }
  .omni-config-group-content.form-grid {
    grid-template-columns:minmax(0,1fr)
  }
}
@media(prefers-reduced-motion:reduce) {
  :where(details)>summary::before,.omni-disclosure-chevron {
    transition:none
  }
}
/* Desktop density: preserve viewport geometry and pointer coordinates. */ html[data-ui-density="compact"] {
  font-size:14px
}
html[data-ui-density="compact"] body {
  font-size:12px
}
html[data-ui-density="compact"] .odg-heading {
  padding:14px 16px;
  gap:12px
}
html[data-ui-density="compact"] .odg-heading h2 {
  font-size:18px
}
html[data-ui-density="compact"] .odg-heading small {
  font-size:12px
}
html[data-ui-density="compact"] :is(.odg-toolbar,.odg-footer) {
  padding:9px 16px;
  gap:8px
}
html[data-ui-density="compact"] .odg-panel {
  padding:12px 16px
}
html[data-ui-density="compact"] .odg-fields {
  gap:9px;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))
}
html[data-ui-density="compact"] :is(.odg-search,.odg-fields input:not([type="checkbox"]),.odg-fields select,.odg-footer select,.odg-view-body select) {
  height:36px;
  min-height:36px;
  font-size:12px
}
html[data-ui-density="compact"] :is(.odg-scroll th,.odg-scroll td) {
  padding:8px 11px;
  font-size:12px
}
html[data-ui-density="compact"] .odg-scroll th {
  height:44px
}
html[data-ui-density="compact"] .odg-scroll th>button[data-sort] {
  min-height:29px
}
html[data-ui-density="compact"] :is(.odg-scroll td.odg-command,.odg-scroll th.odg-command) {
  padding:4px
}
html[data-ui-density="compact"] :is(.audit-dialog,dialog.stock-report-dialog) {
  padding:20px
}
html[data-ui-density="compact"] :is(.audit-dialog>header,.stock-report-dialog>.stock-report-heading) {
  margin-bottom:14px
}
html[data-ui-density="compact"] :is(.module-group-button,.sidebar nav.module-nav a.module-page,.module-nav-search input) {
  min-height:36px;
  padding:7px 10px;
  font-size:12px
}
html[data-ui-density="compact"] :is(.module-group-button,.sidebar nav.module-nav a.module-page)>svg {
  width:18px;
  height:18px
}
html[data-ui-density="compact"] .topbar {
  padding-top:0;
  padding-bottom:0
}
html[data-ui-density="compact"] .topbar #sidebar-toggle {
  width:36px;
  height:36px;
  padding:6px
}
html[data-ui-density="compact"] .topbar-location {
  font-size:12px
}
/* Canonical action metrics. Legacy/component colors stay local; geometry does not. Important declarations deliberately prevent later module rules from splitting primary/secondary/icon dimensions. Change the tokens,never a local height. */ :root {
  --button-height:44px;
  --button-padding-x:16px;
  --button-font-size:12px;
  --button-radius:8px;
  --button-icon-size:20px;
  --modal-header-action-size:44px;
  --modal-header-action-icon-size:20px;
}
html[data-ui-density="compact"] {
  --button-height:36px;
  --button-padding-x:13px;
  --button-font-size:11px;
  --button-icon-size:18px;
}
@media(hover:hover) and (pointer:fine) {
  html[data-ui-density="compact"] {
    --modal-header-action-size:36px;
    --modal-header-action-icon-size:18px;
  }
}
:where( .button,.icon-button,.modal-close,.odg-header-primary,.odg-header-square, .odg-tool,.odg-open,.odg-menu-trigger,.odg-view-close, .odg-view-actions button,.odg-panel-actions button,.odg-selection button, .odg-pages>button,.odg-row-menu button,.odg-copy-preview button, .odg-card button[data-action],.odg-command button[data-action],.omni-data-grid button[data-retry],.sheet-adjust-actions button,.seasonal-column-menu-section button, .seasonal-column-menu-button,.catalog-sheet-modal button[data-sheet-close], .auth-actions button,.account-popover button, .notification-clear-all,.notification-system,.notification-pin,.notification-panel-close,.schedule-notification-close, .omni-tabs button,.sr-tabs button,#import-log-prev,#import-log-next, #sidebar-toggle,#mobile-nav-toggle,#sync-menu-toggle,#notification-bell,.account-avatar, .module-group-button,.module-compact-search,.module-mobile-head button ) {
  box-sizing:border-box!important;
  height:var(--button-height)!important;
  min-height:var(--button-height)!important;
  padding:0 var(--button-padding-x)!important;
  border-radius:var(--button-radius)!important;
  font-family:inherit!important;
  font-size:var(--button-font-size)!important;
  font-weight:600!important;
  line-height:1.25!important;
}
:is( .icon-button,.modal-close,.odg-header-square,.odg-tool,.odg-open,.odg-menu-trigger, .odg-view-close,.odg-pages>button,.catalog-excel-launch, .seasonal-column-menu-button,.catalog-sheet-modal button[data-sheet-close], .notification-panel-close,.schedule-notification-close, #sidebar-toggle,#mobile-nav-toggle,#notification-bell,.account-avatar, .module-compact-search,.module-mobile-head button ) {
  width:var(--button-height)!important;
  min-width:var(--button-height)!important;
  padding:0!important;
  flex-shrink:0;
}
:is(.modal-close,.odg-view-close,.notification-panel-close,.schedule-notification-close, .catalog-sheet-modal button[data-sheet-close],.module-mobile-head button) {
  font-size:24px!important;
}
:is(.button,.icon-button,.odg-header-primary,.odg-header-square,.odg-tool,.odg-open, .module-group-button,.module-compact-search)>svg {
  width:var(--button-icon-size);
  height:var(--button-icon-size);
  flex-shrink:0;
}
/* Icon-only header commands in compact containers retain square geometry. */ @container (max-width:900px) {
  .odg-header-primary {
    width:var(--button-height)!important;
    min-width:var(--button-height)!important;
    padding:0!important
  }
}
body.sidebar-collapsed .module-group-button {
  width:var(--button-height)!important;
  padding:0!important
}
@media(max-width:600px) {
  .field-range-controls {
    gap:8px
  }
}
/* Configuration saves stay right-aligned,including wrapped tablet/phone rows. */ .form-actions.config-actions {
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center
}
.config-actions>.pill {
  margin-right:auto
}
.config-actions>.button,.config-actions>.heading-actions {
  margin-left:auto
}
.config-actions>.heading-actions {
  align-items:flex-end
}
/* Canonical action placement: secondary actions first,primary action at the far right. */ :where(.action-bar,.auth-actions,.drawer-actions,.catalog-reset-dialog-actions,.close-confirm-actions,.odg-view-actions,.odg-panel-actions,.sheet-adjust-actions,.oh-actions) {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.heading-actions,.seasonal-excel-actions>div {
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  margin-left:auto
}
#login-form>.button {
  display:flex;
  margin-left:auto
}
.source-card>.button {
  margin-left:auto
}
/* Personal work dashboard */
.task-overview{position:relative;display:grid;gap:16px;margin-bottom:20px}
.task-dashboard-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(360px,4fr);gap:16px;align-items:stretch}
.task-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.task-kpi-card{display:grid;align-content:center;justify-items:center;gap:3px;height:176px;min-width:0;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-align:center;font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.task-kpi-card:hover{border-color:color-mix(in srgb,var(--blue) 58%,var(--line));box-shadow:0 8px 20px rgba(30,48,63,.1);transform:translateY(-1px)}.task-kpi-card:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 38%,transparent);outline-offset:2px}.task-kpi-card[aria-pressed="true"]{border-color:var(--blue);background:color-mix(in srgb,var(--white) 92%,var(--blue) 8%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--blue) 18%,transparent),0 8px 20px rgba(30,48,63,.1)}
.task-kpi-card>span{color:var(--ink);font-size:12px;font-weight:650}
.task-kpi-card>small{color:var(--muted);font-size:10px;line-height:1.2}
.task-kpi-ring{position:relative;width:72px;height:72px;margin-bottom:2px}
.task-kpi-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.task-kpi-ring circle{fill:none;stroke-width:5}
.task-kpi-ring-track{stroke:var(--line)}
.task-kpi-ring-value{stroke:var(--blue);stroke-linecap:butt}
.task-kpi-ring>strong{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}
.task-kpi-count{color:var(--ink);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.task-kpi-urgent .task-kpi-ring-value{stroke:#b74747}.task-kpi-overdue .task-kpi-ring-value{stroke:#d06c45}.task-kpi-blocked .task-kpi-ring-value{stroke:#9976b0}.task-kpi-due-soon .task-kpi-ring-value{stroke:#d4a13d}
.task-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.task-chart-card{position:relative;min-height:250px;overflow:visible}
.task-donut{position:relative;width:min(210px,70%);margin:18px auto 0}
.task-chart-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.task-chart-grid-compact .task-chart-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;height:176px;min-height:176px;padding:14px;border-left:4px solid var(--blue)}
.task-chart-grid-compact .task-chart-card{transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.task-chart-grid-compact .task-chart-card:hover{box-shadow:0 8px 20px rgba(30,48,63,.1);transform:translateY(-1px)}.task-chart-grid-compact .task-chart-card:has(.task-chart-card-action:focus-visible){outline:3px solid color-mix(in srgb,var(--blue) 38%,transparent);outline-offset:2px}.task-chart-grid-compact .task-chart-card:has(.task-chart-card-action[aria-pressed=true]){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--blue) 22%,transparent),0 8px 20px rgba(30,48,63,.1)}.task-chart-card-action{position:absolute;z-index:0;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.task-chart-card>.task-donut,.task-chart-card>.task-chart-copy{position:relative;z-index:1;pointer-events:none}.task-chart-card .task-donut-slice{pointer-events:auto}
.task-chart-grid-compact .task-donut{width:88px;margin:0}
.task-donut svg{display:block;width:100%;transform:rotate(-90deg)}
.task-donut-track,.task-donut-slice{fill:none;stroke-width:6}
.task-donut-track{stroke:var(--line)}
.task-donut-slice{cursor:pointer;transition:stroke-width .12s ease,filter .12s ease}
.task-donut-slice:hover,.task-donut-slice:focus,.task-donut-slice.is-active,.task-donut-slice.is-selected{stroke-width:8;filter:drop-shadow(0 2px 3px rgba(35,55,73,.3));outline:none}.task-donut-slice.is-selected{filter:drop-shadow(0 0 3px rgba(35,55,73,.48))}
.task-donut>[data-task-chart-percent]{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums;pointer-events:none}
.task-chart-copy{display:grid;align-content:center;min-width:0}.task-chart-copy>span{margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.task-chart-copy p{min-height:32px;margin:0;color:var(--ink);font-size:11px;line-height:1.35}.task-chart-copy p strong{font-weight:650}.task-chart-count{margin-top:5px;color:var(--ink);font-size:25px;line-height:1;font-variant-numeric:tabular-nums}.task-chart-copy small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.25}
.task-chart-card.task-chart-urgent,.task-chart-card.task-chart-todo{border-left-color:#b74747}.task-chart-card.task-chart-high,.task-chart-card.task-chart-in_progress{border-left-color:#d08e39}.task-chart-card.task-chart-waiting{border-left-color:#9976b0}.task-chart-card.task-chart-normal{border-left-color:#548bae}.task-chart-card.task-chart-low{border-left-color:#8fa2b1}
.task-chart-grid-compact .task-chart-card.task-chart-assigned{border-color:color-mix(in srgb,#b74747 48%,var(--line));border-left-color:#b74747;background:color-mix(in srgb,#b74747 7%,var(--white))}.task-chart-assigned .task-chart-copy>span{color:#a63838}
.task-todo{stroke:#6d9dca}.task-in_progress{stroke:#d4a13d}.task-waiting{stroke:#9976b0}.task-blocked{stroke:#c46d6d}.task-completed{stroke:#58a082}
.task-urgent{stroke:#b74747}.task-high{stroke:#d08e39}.task-normal{stroke:#548bae}.task-low{stroke:#8fa2b1}
.task-chart-bubble{position:absolute;z-index:4;padding:8px 11px;border-radius:7px;background:#293b4b;color:#fff;font-size:12px;font-weight:650;white-space:nowrap;box-shadow:0 8px 20px rgba(24,38,51,.24)}
.task-chart-bubble::after{content:"";position:absolute;left:var(--task-bubble-arrow,50%);top:100%;border:6px solid transparent;border-top-color:#293b4b;transform:translateX(-50%)}
.task-week-picker{position:absolute;z-index:40;width:360px;max-width:calc(100vw - 16px);border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:0 16px 38px rgba(24,38,51,.24)}.task-week-picker::before{content:"";position:absolute;left:24px;bottom:100%;border:8px solid transparent;border-bottom-color:var(--line)}.task-week-picker::after{content:"";position:absolute;left:25px;bottom:100%;border:7px solid transparent;border-bottom-color:var(--white)}.task-week-picker.is-above::before{top:100%;bottom:auto;border-top-color:var(--line);border-bottom-color:transparent}.task-week-picker.is-above::after{top:100%;bottom:auto;border-top-color:var(--white);border-bottom-color:transparent}.task-week-picker>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.task-week-picker>header>div{display:grid;gap:3px;min-width:0}.task-week-picker>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-week-picker-list{display:grid;max-height:min(360px,52vh);overflow:auto;padding:6px}.task-week-picker-list>button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.task-week-picker-list>button:hover,.task-week-picker-list>button:focus-visible{background:var(--paper);outline:2px solid var(--blue);outline-offset:-2px}.task-week-picker-list>button.is-current{background:color-mix(in srgb,var(--blue) 9%,var(--white))}.task-week-picker-list>button span{min-width:0;font-size:12px;line-height:1.3}.task-week-picker-list>button strong{flex:0 0 auto;color:var(--muted);font-size:11px}.task-week-picker-list>p{margin:12px;color:var(--muted);font-size:12px;line-height:1.4}
[data-task-week]{position:relative;overflow:visible}.task-weekly-panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--white)}.task-weekly-panel.is-week-staged{position:absolute;inset:0;width:100%;z-index:2}
@keyframes task-week-leave-next{to{opacity:.35;transform:translateX(-100%)}}@keyframes task-week-enter-next{from{opacity:.35;transform:translateX(100%)}to{opacity:1;transform:none}}@keyframes task-week-leave-previous{to{opacity:.35;transform:translateX(100%)}}@keyframes task-week-enter-previous{from{opacity:.35;transform:translateX(-100%)}to{opacity:1;transform:none}}
.task-weekly-panel.is-week-leaving-next{animation:task-week-leave-next .18s ease-in forwards}.task-weekly-panel.is-week-entering-next{animation:task-week-enter-next .18s ease-out}.task-weekly-panel.is-week-leaving-previous{animation:task-week-leave-previous .18s ease-in forwards}.task-weekly-panel.is-week-entering-previous{animation:task-week-enter-previous .18s ease-out}
.task-week-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.task-week-heading>div:first-child{display:grid;gap:2px}.task-week-heading h2{margin:0;font-size:17px}.task-week-heading small{color:var(--muted)}.task-week-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.task-week-filter{display:inline-flex;align-items:center;align-self:center;gap:6px;min-height:28px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--blue) 46%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--blue) 9%,var(--white));color:var(--ink);font:inherit;font-size:11px;cursor:pointer}.task-week-filter:hover,.task-week-filter:focus-visible{border-color:var(--blue);outline:2px solid color-mix(in srgb,var(--blue) 24%,transparent);outline-offset:1px}.task-week-filter>span:last-child{font-size:17px;line-height:1}
.task-week-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.task-week-mode,.task-week-actions{display:flex;align-items:center}.task-week-mode>*{margin:0!important}.task-week-mode>*+*,.task-week-actions>*+*{margin-left:-1px!important}.task-week-mode>*:first-child,.task-week-actions>*:first-child{border-radius:8px 0 0 8px!important}.task-week-mode>*:last-child,.task-week-actions>*:last-child{border-radius:0 8px 8px 0!important}.task-week-mode [aria-pressed=true]{position:relative;z-index:1;border-color:var(--ink)!important;background:var(--ink)!important;color:var(--white)!important}.task-week-navigation{position:relative}.task-week-date{min-width:150px;border-radius:0!important;white-space:nowrap}.task-week-actions{border-radius:8px;box-shadow:0 0 0 1px var(--line)}.task-week-actions>*{border-color:transparent!important;background:var(--white)!important}.task-week-actions>*+*{border-left-color:var(--line)!important}.task-week-actions>*:hover,.task-week-actions>*:focus-visible{position:relative;z-index:1;background:var(--paper)!important}
.task-week-grid{display:grid;min-height:360px}.task-week-grid.is-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.task-week-grid.is-working{grid-template-columns:repeat(5,minmax(0,1fr))}
.task-week-day{min-width:0;padding:10px 8px 14px;border-right:1px solid var(--line)}.task-week-day:last-child{border-right:0}.task-week-day.is-today{background:color-mix(in srgb,var(--blue) 6%,var(--white))}.task-week-day.is-weekend{background:var(--paper)}
.task-week-day>header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 6px;margin-bottom:10px;padding:0 3px 8px;border-bottom:1px solid var(--line)}.task-week-day>header.has-create{grid-template-columns:1fr auto auto}.task-week-day>header span,.task-week-day>header strong{font-weight:650}.task-week-day>header strong{font-size:18px}.task-week-day>header small{grid-column:1/-1;color:var(--muted)}
.task-week-create{display:grid;visibility:hidden;place-items:center;width:44px;height:44px;margin:-5px 0;padding:0;border:0;background:transparent;color:var(--positive);opacity:0;pointer-events:none;transform:scale(.88);transition:opacity .12s ease,transform .12s ease;font:inherit;cursor:pointer}.task-week-create>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--positive) 55%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--positive) 16%,var(--white));transition:background .12s ease,color .12s ease,border-color .12s ease}.task-week-create:hover>span{border-color:var(--positive);background:var(--positive);color:var(--white)}.task-week-create svg{display:block;width:22px;height:22px}
@media(hover:hover) and (pointer:fine){.task-week-day:hover .task-week-create{visibility:visible;opacity:1;pointer-events:auto;transform:none}}
.task-week-day.is-create-visible .task-week-create{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.task-week-day.is-today>header strong{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--ink);color:var(--white)}
.task-week-day>p{margin:16px 3px;color:var(--muted);font-size:11px}.task-week-module{display:grid;gap:5px;margin-top:8px}.task-week-module-toggle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:7px 6px;border:0;border-radius:7px;background:transparent;color:var(--muted);text-align:left;font:inherit;cursor:pointer}.task-week-module-toggle:hover,.task-week-module-toggle:focus-visible{background:var(--paper);color:var(--ink)}.task-week-module-toggle>strong{min-width:0;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.task-week-module-toggle>span:last-child{font-size:11px;font-variant-numeric:tabular-nums}.task-week-module.is-completed-group .task-week-module-toggle{color:var(--muted)}.task-week-module-content{display:grid;gap:5px}.task-week-module-content[hidden]{display:none}
.task-week-item{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:7px;background:var(--white);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.task-week-item:hover,.task-week-item:focus-visible{background:var(--paper);outline:2px solid var(--blue);outline-offset:-2px}.task-week-item-copy{display:grid;gap:4px;min-width:0}.task-week-item-priority{display:grid;place-items:center;width:20px;height:20px;margin-top:1px;color:#548bae}.task-week-item-priority svg{display:block;width:20px;height:20px}.task-week-item strong{font-size:11px;overflow-wrap:anywhere}.task-week-item small,.task-week-more{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.task-week-item.priority-urgent{border-left-color:#b74747}.task-week-item.priority-high{border-left-color:#d08e39}.task-week-item.priority-low{border-left-color:#8fa2b1}.task-week-item.priority-urgent .task-week-item-priority{color:#b74747}.task-week-item.priority-high .task-week-item-priority{color:#d08e39}.task-week-item.priority-normal .task-week-item-priority{color:#548bae}.task-week-item.priority-low .task-week-item-priority{color:#8fa2b1}.task-week-item.assigned{background:#fff8e7}
.task-week-item.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.task-week-item.is-draggable *{-webkit-user-select:none;user-select:none;pointer-events:none}.task-week-item.is-dragging{position:relative;z-index:3;opacity:.35;cursor:grabbing;box-shadow:0 8px 18px rgba(30,48,63,.22)}.task-week-drag-ghost{position:fixed!important;z-index:10020!important;margin:0!important;pointer-events:none;opacity:.92;cursor:grabbing!important;box-shadow:0 12px 28px rgba(30,48,63,.3)!important;transform:rotate(1deg)}.task-week-drag-active,.task-week-drag-active *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.task-week-day.is-drop-target{background:color-mix(in srgb,var(--positive) 10%,var(--white));box-shadow:inset 0 0 0 2px var(--positive)}
.task-week-edge-zones{position:absolute;z-index:14;inset:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .16s ease,visibility 0s linear .16s}.task-week-drag-active .task-week-edge-zones{visibility:visible;opacity:1;transition-delay:0s}
.task-week-edge-zone,.task-week-status-zone{--task-week-drop-tone:var(--blue);display:grid;place-items:center;align-content:center;gap:7px;width:clamp(98px,10vw,124px);aspect-ratio:1;padding:13px;border:2px solid color-mix(in srgb,var(--task-week-drop-tone) 46%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--white) 91%,var(--task-week-drop-tone) 9%);color:var(--task-week-drop-tone);opacity:.9;pointer-events:auto;transition:opacity .14s ease,transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;box-shadow:0 12px 30px rgba(30,48,63,.18),inset 0 0 0 6px color-mix(in srgb,var(--white) 72%,transparent);backdrop-filter:blur(6px)}
.task-week-edge-zone{position:absolute;top:50%;transform:translateY(-50%) scale(.92)}.task-week-edge-zone.is-previous{left:-10px}.task-week-edge-zone.is-next{right:-10px}.task-week-edge-zone>span,.task-week-status-zone>span{display:grid;place-items:center;width:34px;height:34px}.task-week-edge-zone svg,.task-week-status-zone svg{display:block;width:30px;height:30px}.task-week-edge-zone strong,.task-week-status-zone strong{color:var(--ink);text-align:center;font-size:11px;line-height:1.25}.task-week-edge-zone.is-drop-target,.task-week-status-zone.is-drop-target{opacity:1;border-color:var(--task-week-drop-tone);background:color-mix(in srgb,var(--white) 78%,var(--task-week-drop-tone) 22%);box-shadow:0 16px 38px rgba(30,48,63,.24),0 0 0 5px color-mix(in srgb,var(--task-week-drop-tone) 16%,transparent)}.task-week-edge-zone.is-drop-target{transform:translateY(-50%) scale(1.05)}.task-week-status-zone.is-drop-target{transform:scale(1.05)}.task-week-edge-zone.is-edge-arming::after{content:"";position:absolute;inset:-7px;border:3px solid color-mix(in srgb,var(--task-week-drop-tone) 28%,transparent);border-top-color:var(--task-week-drop-tone);border-right-color:var(--task-week-drop-tone);border-radius:50%;animation:task-week-edge-wait 1s linear forwards}
@keyframes task-week-edge-wait{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
.task-week-status-zones{position:absolute;z-index:12;left:50%;bottom:42px;display:grid;visibility:hidden;grid-template-columns:repeat(2,clamp(98px,10vw,124px));gap:12px;width:max-content;max-width:calc(100% - 24px);opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.task-week-drag-active .task-week-status-zones,.task-week-status-committing .task-week-status-zones{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}.task-week-status-zone.is-cancelled{--task-week-drop-tone:#a84d4d}.task-week-status-zone.is-completed{--task-week-drop-tone:var(--positive)}
@keyframes task-week-status-drop{to{opacity:.08;transform:translate(var(--task-drop-x),var(--task-drop-y)) scale(.08) rotate(12deg)}}@keyframes task-week-status-arrive{from{opacity:0;transform:scale(.18) translateY(-18px)}70%{transform:scale(1.06)}to{opacity:1;transform:none}}@keyframes task-week-status-return{from{opacity:.2;transform:scale(.5)}60%{transform:scale(1.05)}to{opacity:1;transform:none}}
.task-week-drag-ghost.is-status-dropping{animation:task-week-status-drop .36s cubic-bezier(.4,0,.8,.2) forwards}.task-week-item.is-status-arriving{animation:task-week-status-arrive .42s cubic-bezier(.2,.8,.25,1)}.task-week-item.is-status-returning{animation:task-week-status-return .32s ease-out}
.task-week-item.is-completed{border-color:color-mix(in srgb,var(--muted) 35%,var(--line));border-left-color:var(--muted);background:color-mix(in srgb,var(--muted) 7%,var(--white));color:var(--muted);box-shadow:none}.task-week-item.is-completed .task-week-item-priority{color:var(--muted)}.task-week-item.is-completed:hover,.task-week-item.is-completed:focus-visible{background:color-mix(in srgb,var(--muted) 12%,var(--white));outline-color:var(--muted)}
.task-week-item.is-cancelled{border-style:dashed;text-decoration-color:var(--muted)}
.task-week-more{padding:3px}.task-weekly-panel>footer{display:flex;justify-content:flex-end;padding:9px 14px;border-top:1px solid var(--line);background:var(--paper);color:var(--muted)}.task-weekly-panel>footer strong{color:var(--ink);font-variant-numeric:tabular-nums}
.task-priority-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:650}.task-priority-icon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px}.task-priority-icon svg{display:block;width:20px;height:20px}.task-priority-urgent .task-priority-icon{color:#b74747}.task-priority-high .task-priority-icon{color:#d08e39}.task-priority-normal .task-priority-icon{color:#548bae}.task-priority-low .task-priority-icon{color:#8fa2b1}
.margin-control-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.margin-control-summary span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--paper);color:var(--muted)}
.margin-control-summary strong{color:var(--ink)}
.task-dialog textarea,.task-detail-dialog textarea{min-height:90px;resize:vertical}
@media(max-width:900px){.task-dashboard-top{grid-template-columns:1fr}.task-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.task-chart-grid{grid-template-columns:1fr}.task-chart-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.task-week-grid.is-calendar,.task-week-grid.is-working{grid-template-columns:1fr;min-height:0}.task-week-day{border-right:0;border-bottom:1px solid var(--line)}.task-week-day:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.task-weekly-panel.is-week-leaving-next,.task-weekly-panel.is-week-entering-next,.task-weekly-panel.is-week-leaving-previous,.task-weekly-panel.is-week-entering-previous,.task-week-drag-ghost.is-status-dropping,.task-week-item.is-status-arriving,.task-week-item.is-status-returning,.task-week-edge-zone.is-edge-arming::after{animation:none}.task-week-status-zones,.task-week-edge-zones,.task-week-edge-zone{transition:none}}
@media(max-width:560px){.task-kpis{grid-template-columns:1fr 1fr}.task-kpi-card{padding:10px}.task-kpi-count{font-size:23px}.task-week-status-zones{grid-template-columns:repeat(2,96px);gap:8px}.task-week-edge-zone,.task-week-status-zone{width:96px}.task-week-edge-zone.is-previous{left:-10px}.task-week-edge-zone.is-next{right:-10px}}
@media(max-width:560px){.task-chart-grid-compact{grid-template-columns:1fr}.task-chart-grid-compact .task-chart-card{height:auto}.task-week-heading{align-items:flex-start;flex-direction:column}.task-week-controls{align-items:stretch;justify-content:stretch;width:100%;flex-direction:column}.task-week-mode,.task-week-navigation,.task-week-actions{width:100%}.task-week-mode>*{flex:1 1 50%}.task-week-date{flex:1 1 auto;min-width:0}}
@media(max-width:560px){.task-week-picker{position:fixed;z-index:10030;left:8px!important;right:8px;bottom:8px;top:auto!important;width:auto!important;max-width:none;border-radius:12px}.task-week-picker::before,.task-week-picker::after{display:none}.task-week-picker-list{max-height:50vh}}

/* iPhone action density: standard actions that already have an SVG keep the
   accessible label but render as icon-only controls. Text-only actions remain
   visible, so save/cancel and other commands without an icon never disappear. */
@media(max-width:760px) {
  :where(button.button,a.button,.odg-header-primary,.notification-pin):has(svg) {
    width:var(--button-height)!important;
    min-width:var(--button-height)!important;
    max-width:var(--button-height)!important;
    padding:0!important;
    gap:0!important;
    overflow:hidden;
    white-space:nowrap;
    font-size:0!important;
    flex:0 0 var(--button-height)
  }
  :where(button.button,a.button,.odg-header-primary,.notification-pin):has(svg)>span {
    font-size:0!important
  }
  :where(button.button,a.button,.odg-header-primary,.notification-pin):has(svg) svg {
    display:block;
    width:var(--button-icon-size)!important;
    height:var(--button-icon-size)!important;
    margin:0!important;
    flex:none
  }
  #sync-menu-toggle.sync-active {
    width:var(--button-height)!important;
    min-width:var(--button-height)!important;
    max-width:var(--button-height)!important;
    padding:0!important;
    justify-content:center;
    flex:0 0 var(--button-height)
  }
  #sync-menu-toggle.sync-active .sync-menu-label {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap
  }
  .topbar .sync-menu-panel :where(#shopify-schedule-button,#amazon-schedule-button,#gestionale-schedule-button,#order-schedule-button) {
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:10px 12px!important;
    gap:8px!important;
    justify-content:flex-start!important;
    font-size:var(--button-font-size)!important;
    flex:0 0 auto
  }
  .topbar .sync-menu-panel :where(#shopify-schedule-button,#amazon-schedule-button,#gestionale-schedule-button,#order-schedule-button)>.schedule-button-label {
    display:inline-block!important;
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
    font-size:var(--button-font-size)!important;
    clip-path:none!important;
    white-space:nowrap
  }
  :where(.ord-heading,.drawer-heading,.oh-dialog-heading,.stock-report-heading,.odg-view-heading) {
    align-items:flex-start!important;
    gap:10px
  }
  :where(.ord-heading,.drawer-heading,.oh-dialog-heading,.stock-report-heading,.odg-view-heading)>:first-child {
    min-width:0;
    flex:1 1 auto
  }
  :where(.ord-heading h2,.drawer-heading h2,.oh-dialog-heading h2,.stock-report-heading h2,.odg-view-heading h2,.modal-title-with-icon h2) {
    display:-webkit-box;
    max-width:100%;
    max-height:2.44em;
    margin-block:4px!important;
    overflow:hidden;
    overflow-wrap:anywhere;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:16px!important;
    line-height:1.22!important
  }
}
