@font-face {
  font-family: Inter;
  src: url('/app/fonts/InterVariable.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap
}
.seller-sale-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;background:var(--bg,#f4f7f8);border:1px solid var(--line,#dce5e8);border-radius:12px;margin-bottom:22px}.seller-sale-modes button{min-height:55px;text-align:left;padding:10px 13px;background:transparent;border:0;border-radius:8px;font-weight:650;color:var(--muted,#61747b)}.seller-sale-modes button span{display:block;font-size:12px;font-weight:500;margin-top:3px}.seller-sale-modes button[aria-pressed=true]{background:var(--primary,#087d70);color:#fff}.free-sale-input{display:flex;gap:10px;margin-top:8px}.free-sale-input input{min-width:0;flex:1}.free-sale-input button{flex:0 0 auto;min-height:44px}.free-stock-summary{padding:18px;background:#eef8f4;border:1px solid #d0e9dd;border-radius:12px;margin-bottom:20px}.free-stock-summary>span{font-size:12px;color:#437462;font-weight:650}.free-stock-summary>strong{display:block;font-size:36px;letter-spacing:-1px;color:#176348;font-variant-numeric:tabular-nums;line-height:1.4}.free-stock-summary p{margin:5px 0 0;font-size:12px;color:#426355;line-height:1.6}.pending-sale{padding:16px;margin-top:16px;border:1px solid #d9bc72;border-radius:12px;background:#fff8e6}.pending-sale p{font-size:13px;overflow-wrap:anywhere}.pending-sale .btnrow{display:flex;gap:8px;flex-wrap:wrap}.pending-sale button{min-height:44px}.stat .money-total{font-size:22px;line-height:1.5;overflow-wrap:anywhere}.sale-title+small{display:block;color:var(--muted,#61747b);font-size:12px}.sale-summary strong{display:block}.code-out .note{overflow-wrap:anywhere}#ackMessage{color:#9d372d;font-size:13px;margin-top:10px}#freeSaleQuote{font-size:14px;font-weight:600;margin:10px 0 15px}@media(max-width:600px){.free-sale-input{flex-direction:column}.seller-sale-modes{gap:4px}.seller-sale-modes button{padding:9px}.code-out .code{font-size:20px}.stat .money-total{font-size:20px}}

:root {
  color-scheme: light;
  --bg: #f3f6f6;
  --surface: #fff;
  --surface-2: #f7f9f9;
  --ink: #17343c;
  --muted: #61747a;
  --line: #dce5e8;
  --brand: #0c887b;
  --brand-ink: #fff;
  --brand-text: #096d63;
  --brand-soft: #e8f5f1;
  --hero: linear-gradient(135deg,#163c43,#132b36);
  --hero-ink: #fff;
  --ok: #096d63;
  --warn: #a72d3d;
  --warn-soft: #fff0f2;
  --shadow: 0 3px 18px #132b3605
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 15px/1.55 Inter,system-ui,sans-serif
}

button,input,select {
  font: inherit
}

button,a,input,select {
  -webkit-tap-highlight-color: transparent
}

button,a {
  touch-action: manipulation
}

button {
  cursor: pointer
}

a {
  color: inherit;
  text-decoration: none
}

button:disabled {
  cursor: not-allowed;
  opacity: .5
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline: 3px solid #159e90;
  outline-offset: 3px
}

[hidden] {
  display: none!important
}

svg {
  display: block
}

button svg,a svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0
}

h1,h2,h3,p {
  margin-top: 0
}

button {
  transition: background .16s,border-color .16s
}

button:hover:not(:disabled) {
  filter: brightness(.98)
}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 232px;
  background: #132b36;
  color: #d5e3e6;
  padding: 30px 20px 24px;
  display: flex;
  flex-direction: column;
  z-index: 20
}

[data-seller-screen][hidden] { display: none !important; }
.seller-sale-screen { max-width: 760px; margin-inline: auto; }
.overview-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.overview-actions a { display: grid; gap: 12px; padding: 24px; text-decoration: none; color: inherit; }
.overview-actions strong { font-size: 18px; }
.overview-actions span { color: var(--muted); font-size: 14px; line-height: 1.6; }
.overview-actions a:hover { border-color: var(--brand); }
.sale-return { display: block; padding: 14px 18px; margin-bottom: 20px; border: 1px solid var(--brand); border-radius: 12px; color: var(--brand-text); background: var(--surface); font-weight: 650; }
.credit-details { margin-block: 16px; }
.credit-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--muted); font-size: 14px; }
.credit-details input { width: 100%; margin-top: 8px; }
.step[aria-current="step"] { color: var(--brand-text); font-weight: 650; }
.step[aria-current="step"] b { background: var(--brand); color: var(--brand-ink); }
[data-seller-screen="stock"] > .help-card { margin-top: 20px; }
@media(max-width:720px) { .overview-actions { grid-template-columns: 1fr; } .free-sale-input { flex-wrap: wrap; } .free-sale-input input { flex-basis: 100%; } .free-sale-input button { width: 100%; } }

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-weight: 690;
  font-size: 26px;
  letter-spacing: -1px
}

.brand-mark {
  display: block;
  width: 29px;
  height: 42px;
  flex-shrink: 0;
}

.workspace-label {
  margin: 19px 0 32px;
  border: 1px solid #ffffff20;
  border-radius: 7px;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #b8d0d3;
  font-size: 12px;
  letter-spacing: .02em
}

.workspace-label i {
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background: #76d9c4
}

.nav-label {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #90aab1;
  padding: 0 13px;
  margin-bottom: 10px
}

.sidebar nav {
  display: grid;
  gap: 5px
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 9px;
  padding: 12px 13px;
  min-height: 46px;
  font-size: 14px;
  color: #c0d1d6
}

button.nav-link {
  width: 100%;
  border: 0;
  background: transparent;
  font-family: inherit;
  text-align: start;
  cursor: pointer
}

html[data-ui-shell] body .sidebar button.nav-link {
  font-weight: 400;
  line-height: inherit;
  padding: 12px 13px;
  border-radius: 9px
}

@media(max-width:720px) {
  html[data-ui-shell] body .sidebar button.nav-link {
    padding: 10px 12px
  }
}

.nav-link.active {
  background: #ffffff12;
  color: #fff
}

.nav-link.active svg {
  color: #75d9c4
}

.nav-link:hover {
  background: #ffffff0a;
  color: #fff
}

.sidebar-bottom {
  margin-top: auto;
  padding-top: 42px
}

.sidebar-tip {
  border-top: 1px solid #ffffff17;
  padding: 23px 13px 14px;
  font-size: 12px;
  line-height: 1.75;
  color: #a8c0c6
}

.sidebar-tip strong {
  display: block;
  color: #e2eeee;
  font-weight: 550;
  font-size: 13px;
  margin-bottom: 5px
}

.back-link {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 13px;
  color: #c0d1d6;
  min-height: 44px;
  font-size: 13px
}

.workspace {
  margin-left: 232px;
  min-width: 0
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fdfefeee;
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
  height: 82px;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--muted)
}

.breadcrumb strong {
  font-weight: 550;
  color: var(--ink)
}

.breadcrumb span+span {
  opacity: .55
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px
}

.status-pill {
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--brand-text);
  font-size: 12px;
  background: var(--brand-soft);
  padding: 7px 10px;
  border-radius: 50px;
  white-space: nowrap
}

.status-pill:before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand)
}

.icon-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center
}

.icon-button svg {
  width: 19px;
  height: 19px
}

.wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 38px 40px 56px
}

.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px
}

.eyebrow {
  font-size: 11px;
  letter-spacing: .12em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--brand-text);
  margin: 0 0 9px
}

.page-heading h1 {
  font-size: 32px;
  font-weight: 630;
  line-height: 1.2;
  letter-spacing: -1.3px;
  margin: 0 0 10px
}

.page-heading p {
  color: var(--muted);
  margin: 0;
  font-size: 14px
}

.heading-date {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
  padding-bottom: 3px
}

.stats {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin: 0 0 26px
}

.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 23px;
  box-shadow: var(--shadow);
  position: relative
}

.stat .stat-icon {
  position: absolute;
  right: 21px;
  top: 22px;
  border-radius: 9px;
  background: var(--surface-2);
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  color: var(--brand-text)
}

.stat-icon svg {
  width: 19px;
  height: 19px
}

.stat span {
  display: block;
  font-size: 13px;
  color: var(--muted);
  padding-right: 36px
}

.stat strong {
  display: block;
  font-size: 32px;
  font-weight: 650;
  letter-spacing: -1px;
  line-height: 1.2;
  margin: 14px 0 9px;
  font-variant-numeric: tabular-nums
}

.stat em {
  font-style: normal;
  font-size: 12px;
  color: var(--muted)
}

.stat:first-child {
  background: var(--hero);
  border-color: transparent;
  color: #fff
}

.stat:first-child span,.stat:first-child em {
  color: #b6d5d7
}

.stat:first-child .stat-icon {
  background: #ffffff10;
  color: #9be5d4
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);
  gap: 24px;
  align-items: start
}

.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  overflow: hidden;
  min-width: 0
}

.card-heading {
  padding: 24px 26px 0;
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 18px
}

.card h2 {
  margin: 0 0 5px;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: -.4px;
  font-weight: 650
}

.card p.hint {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65
}

.card-content {
  padding: 22px 26px 26px
}

.card-label {
  color: var(--brand-text);
  background: var(--brand-soft);
  border-radius: 6px;
  font-size: 11px;
  padding: 4px 8px;
  white-space: nowrap;
  font-weight: 550
}

.section-number {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--brand-text);
  font-size: 13px;
  flex-shrink: 0
}

.steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding-bottom: 21px;
  margin-bottom: 23px;
  gap: 10px
}

.step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--muted)
}

.step b {
  display: grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--surface-2);
  border: 1px solid var(--line);
  font-size: 11px;
  font-weight: 600
}

.step:first-child {
  color: var(--brand-text)
}

.step:first-child b {
  background: var(--brand-soft);
  border-color: #bce3d9
}

.step-divider {
  height: 1px;
  background: var(--line);
  flex: 1;
  min-width: 8px;
  margin-top: 11px
}

label {
  display: block;
  font-size: 13px;
  font-weight: 550;
  color: var(--ink);
  margin-bottom: 9px
}

input,select {
  width: 100%;
  padding: 12px 13px;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  color: var(--ink);
  min-width: 0
}

input::placeholder {
  color: #87989c
}

.valeurs {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 11px
}

.valeur {
  border: 1.5px solid var(--line);
  border-radius: 11px;
  background: #fff;
  padding: 16px 13px;
  text-align: left;
  color: var(--ink);
  min-height: 93px;
  position: relative
}

.valeur strong {
  display: block;
  font-size: 23px;
  letter-spacing: -.7px;
  font-weight: 640;
  font-variant-numeric: tabular-nums
}

.valeur span {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 6px;
  line-height: 1.55
}

.valeur.sel {
  border-color: var(--brand);
  background: #f1faf7
}

.valeur.sel:after {
  content: '✓';
  position: absolute;
  right: 13px;
  top: 13px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 750
}

.sale-summary {
  border-radius: 10px;
  background: var(--surface-2);
  padding: 13px 15px;
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  color: var(--muted)
}

.sale-summary strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 600
}

.sale-summary .summary-margin {
  text-align: right;
  color: var(--brand-text)
}

.sale-summary .summary-margin small {
  display: block;
  color: var(--muted);
  font-size: 11px
}

.btn {
  padding: 12px 17px;
  min-height: 46px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: var(--brand);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px
}

.btn.sec {
  background: #fff;
  color: var(--ink);
  border-color: var(--line);
  font-weight: 500
}

.btn.wide {
  width: 100%
}

.sale-submit {
  margin-top: 18px
}

.once-note {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  font-size: 11px;
  line-height: 1.7;
  color: var(--muted);
  margin: 12px 0 0
}

.once-note svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px
}

.once-note strong {
  color: var(--ink);
  font-weight: 550
}

.right-stack {
  display: grid;
  gap: 20px
}

.stock-card .card-content {
  padding-top: 20px
}

.alloc {
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 15px 16px;
  margin-bottom: 12px
}

.alloc:last-child {
  margin-bottom: 0
}

.alloc .top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline
}

.alloc h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere
}

.alloc .price {
  font-size: 12px;
  white-space: nowrap;
  font-weight: 600;
  font-variant-numeric: tabular-nums
}

.alloc .meta {
  color: var(--muted);
  font-size: 11px;
  margin: 8px 0 12px;
  line-height: 1.7
}

.alloc .stock-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  color: var(--muted);
  margin-top: 9px
}

.stock-row strong {
  font-size: 12px;
  color: var(--ink);
  font-weight: 600
}

.bar {
  height: 5px;
  border-radius: 99px;
  background: var(--line);
  overflow: hidden
}

.bar i {
  display: block;
  height: 100%;
  background: var(--brand);
  border-radius: 99px
}

.help-card {
  padding: 22px 25px;
  background: #eaf2f0;
  border: 1px solid #d5e5e0;
  border-radius: 14px;
  display: flex;
  align-items: flex-start;
  gap: 13px
}

.help-card>svg {
  color: var(--brand-text);
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 2px
}

.help-card h3 {
  font-size: 13px;
  margin: 0 0 5px;
  font-weight: 600
}

.help-card p {
  font-size: 12px;
  color: #536e70;
  line-height: 1.75;
  margin: 0
}

.sales-card {
  margin-top: 26px
}

.sales-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  max-width: 440px;
  width: 100%
}

.search-field {
  position: relative;
  flex: 1;
  min-width: 0
}

.search-field svg {
  position: absolute;
  left: 13px;
  top: 14px;
  width: 17px;
  height: 17px;
  color: var(--muted)
}

.search-field input {
  padding-left: 39px;
  font-size: 12px;
  min-height: 44px
}

.sales-toolbar select {
  width: 135px;
  min-height: 44px;
  font-size: 12px
}

.sales-card .card-heading {
  align-items: center;
  flex-wrap: wrap
}

.tablewrap {
  overflow: auto;
  margin-top: 22px
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px
}

th,td {
  text-align: left;
  padding: 16px 25px;
  border-bottom: 1px solid #eaf0f1;
  white-space: nowrap
}

th {
  background: #f8fafa;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 600;
  padding-top: 12px;
  padding-bottom: 12px
}

tbody tr:last-child td {
  border-bottom: 0
}

td.num,th.num {
  text-align: right;
  font-variant-numeric: tabular-nums
}

td .sale-title {
  font-weight: 550
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 6px;
  background: #f0f3f5;
  color: #52656d
}

.badge:before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor
}

.badge.used {
  background: var(--brand-soft);
  color: var(--brand-text)
}

.table-footer {
  padding: 15px 25px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  display: flex;
  justify-content: space-between;
  gap: 15px
}

.empty {
  text-align: center;
  color: var(--muted);
  padding: 30px 16px;
  font-size: 13px;
  white-space: normal
}

.empty strong {
  display: block;
  color: var(--ink);
  font-weight: 550;
  font-size: 14px;
  margin-bottom: 5px
}

.workspace-footer {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: var(--muted);
  font-size: 11px;
  margin-top: 27px
}

.workspace-footer a {
  text-decoration: underline;
  text-underline-offset: 3px
}

.code-out {
  margin-top: 22px;
  padding: 24px 20px;
  border-radius: 13px;
  background: var(--hero);
  color: #fff;
  text-align: center
}

.code-out .qr {
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  width: min(200px,60vw);
  margin: 18px auto
}

.code-out .qr svg {
  display: block;
  width: 100%;
  height: auto
}

.code-out small {
  font-size: 11px;
  color: #b9ded6;
  text-transform: uppercase;
  letter-spacing: .08em
}

.code-out .code {
  font-family: ui-monospace,Consolas,monospace;
  font-size: clamp(17px,2vw,24px);
  letter-spacing: .04em;
  font-weight: 600;
  margin: 10px 0;
  overflow-wrap: normal;
  word-break: normal;
  line-height: 1.4
}

.code-out .note {
  font-size: 12px;
  color: #cee3e2;
  margin-top: 8px;
  line-height: 1.65
}

.code-out .note strong {
  color: #fff
}

.code-out .btnrow {
  display: flex;
  gap: 8px;
  margin-top: 18px;
  flex-wrap: wrap
}

.code-out .btnrow button {
  flex: 1;
  min-width: 95px;
  padding: 11px 8px;
  min-height: 44px;
  border-radius: 8px;
  border: 1px solid #ffffff35;
  background: transparent;
  color: #fff;
  font-size: 12px
}

.msg {
  padding: 12px 14px;
  border-radius: 9px;
  font-size: 13px;
  margin-top: 14px;
  line-height: 1.6
}

.msg.ok {
  background: var(--brand-soft);
  color: var(--brand-text)
}

.msg.err {
  background: var(--warn-soft);
  color: var(--warn)
}

.spin {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: rot .7s linear infinite
}

@keyframes rot {
  to {
    transform: rotate(360deg)
  }
}

.refreshing svg {
  animation: rot .8s linear infinite
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0
}

.login-layout {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(330px,1fr);
  gap: 55px;
  align-items: center;
  min-height: calc(100vh - 220px);
  max-width: 1020px;
  margin: auto
}

.login-intro .eyebrow {
  margin-bottom: 21px
}

.login-intro h1 {
  font-size: clamp(32px,3.5vw,48px);
  line-height: 1.14;
  letter-spacing: -2px;
  font-weight: 600;
  max-width: 420px;
  margin-bottom: 21px
}

.login-intro h1 span {
  color: var(--brand)
}

.login-intro>p {
  color: var(--muted);
  font-size: 15px;
  max-width: 380px;
  line-height: 1.8
}

.login-benefits {
  display: grid;
  gap: 17px;
  margin-top: 31px
}

.login-benefit {
  display: flex;
  gap: 13px;
  align-items: center;
  font-size: 13px;
  color: var(--ink)
}

.login-benefit b {
  width: 33px;
  height: 33px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--brand-text);
  background: #e6f1ed
}

.login-benefit svg {
  width: 17px;
  height: 17px
}

.login-card {
  padding: 32px
}

.login-lock {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  background: var(--brand-soft);
  color: var(--brand-text);
  border-radius: 12px;
  margin-bottom: 22px
}

.login-lock svg {
  width: 21px;
  height: 21px
}

.login-card h2 {
  font-size: 23px;
  letter-spacing: -.7px
}

.login-card .hint {
  margin: 10px 0 24px!important;
  font-size: 13px!important
}

.key-wrap {
  display: flex;
  position: relative
}

.key-wrap input {
  padding-right: 48px
}

.key-toggle {
  position: absolute;
  right: 1px;
  top: 1px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--muted);
  border: 0;
  border-radius: 8px
}

.key-toggle svg {
  width: 18px;
  height: 18px
}

.login-help {
  padding-top: 20px;
  margin: 22px 0 0;
  border-top: 1px solid var(--line);
  font-size: 12px;
  color: var(--muted);
  line-height: 1.75
}

.login-help strong {
  color: var(--ink);
  font-weight: 550
}

.login-submit {
  margin-top: 17px
}

.login-caption {
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 17px 0 0;
  color: var(--muted)
}

.login-caption svg {
  width: 13px;
  height: 13px
}

.mobile-brand {
  display: none
}

@media(min-width:1600px) {
  .wrap {
    padding-top: 46px
  }
  .dashboard-grid {
    grid-template-columns: minmax(0,1.35fr) minmax(0,1fr)
  }
}

@media(max-width:1180px) {
  .sidebar {
    width: 205px;
    padding-right: 16px;
    padding-left: 16px
  }
  .workspace {
    margin-left: 205px
  }
  .topbar {
    padding: 0 28px
  }
  .wrap {
    padding: 30px 28px 40px
  }
  .dashboard-grid {
    gap: 20px;
    grid-template-columns: minmax(0,1.2fr) minmax(0,1fr)
  }
  .card-heading {
    padding: 21px 20px 0
  }
  .card-content {
    padding: 20px
  }
  .steps {
    gap: 5px
  }
  .step {
    gap: 5px;
    font-size: 10px
  }
  .stat {
    padding: 20px
  }
  .stat .stat-icon {
    right: 15px;
    top: 18px
  }
  .login-layout {
    gap: 28px
  }
  .login-card {
    padding: 25px
  }
  .login-intro h1 {
    font-size: 38px
  }
  .heading-date {
    display: none
  }
  .sales-toolbar {
    max-width: 100%
  }
}

@media(max-width:980px) {
  .dashboard-grid {
    grid-template-columns: 1fr
  }
  .right-stack {
    grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
    align-items: start
  }
  .help-card {
    padding: 20px
  }
  .valeurs {
    grid-template-columns: repeat(auto-fit,minmax(135px,1fr))
  }
  .login-layout {
    grid-template-columns: 1fr;
    max-width: 560px;
    gap: 28px;
    padding: 10px 0
  }
  .login-intro h1 {
    max-width: 100%;
    font-size: 36px
  }
  .login-intro>p {
    max-width: 100%
  }
  .login-benefits {
    display: none
  }
  .stats {
    gap: 10px
  }
  .stat {
    padding: 17px
  }
  .stat strong {
    font-size: 27px
  }
  .stat .stat-icon {
    display: none
  }
  .stat span {
    padding-right: 0;
    font-size: 11px
  }
  .stat em {
    font-size: 10px
  }
  .page-heading h1 {
    font-size: 28px
  }
  .topbar .status-pill {
    display: none
  }
}

@media(max-width:720px) {
  html {
    scroll-padding-top: 12px
  }
  .sidebar {
    position: static;
    width: auto;
    padding: 15px 20px 0;
    display: block
  }
  .brand {
    font-size: 23px;
    gap: 9px
  }
  .brand-mark {
    width: 23px;
    height: 33px
  }
  .workspace-label {
    position: absolute;
    right: 19px;
    top: 17px;
    margin: 0;
    font-size: 10px;
    padding: 5px 8px
  }
  .nav-label,.sidebar-bottom {
    display: none
  }
  .sidebar nav {
    display: flex;
    overflow-x: auto;
    gap: 4px;
    margin-top: 16px;
    padding-bottom: 10px
  }
  .nav-link {
    font-size: 12px;
    padding: 10px 12px;
    min-height: 44px;
    gap: 7px;
    white-space: nowrap
  }
  .nav-link svg {
    width: 16px;
    height: 16px
  }
  .workspace {
    margin-left: 0
  }
  .topbar {
    height: auto;
    min-height: 63px;
    padding: 8px 20px;
    flex-wrap: wrap;
    row-gap: 8px;
    position: static
  }
  .breadcrumb {
    font-size: 11px;
    gap: 8px
  }
  .topbar-actions {
    gap: 6px
  }
  .icon-button {
    width: 39px;
    height: 39px
  }
  .wrap {
    padding: 25px 20px 35px
  }
  .page-heading {
    gap: 12px;
    margin-bottom: 22px
  }
  .page-heading h1 {
    font-size: 28px
  }
  .page-heading p {
    font-size: 12px
  }
  .eyebrow {
    font-size: 10px
  }
  .stats {
    margin-bottom: 20px;
    gap: 9px
  }
  .stat {
    padding: 15px 12px;
    border-radius: 11px
  }
  .stat strong {
    font-size: 25px;
    margin: 10px 0 7px
  }
  .stat span {
    font-size: 10px;
    line-height: 1.4;
    min-height: 28px
  }
  .stat em {
    font-size: 10px
  }
  .right-stack {
    grid-template-columns: 1fr
  }
  .card-heading {
    padding: 21px 20px 0
  }
  .card-content {
    padding: 20px
  }
  .card h2 {
    font-size: 17px
  }
  .sales-card {
    margin-top: 20px
  }
  .sales-toolbar {
    flex-wrap: wrap
  }
  .sales-toolbar select {
    width: 120px
  }
  .sales-toolbar .search-field {
    min-width: 140px
  }
  th,td {
    padding: 14px 17px
  }
  .table-footer {
    padding: 14px 20px;
    flex-wrap: wrap;
    gap: 4px
  }
  .workspace-footer {
    font-size: 10px;
    align-items: start
  }
  .login-layout {
    padding-top: 0;
    min-height: 0;
    gap: 24px
  }
  .login-intro h1 {
    font-size: 35px;
    letter-spacing: -1.5px;
    margin-bottom: 15px
  }
  .login-intro .eyebrow {
    margin-bottom: 12px
  }
  .login-intro>p {
    font-size: 13px;
    margin-bottom: 0
  }
  .login-card {
    padding: 25px
  }
  .login-lock {
    margin-bottom: 17px
  }
  .login-card h2 {
    font-size: 22px
  }
  .login-card .hint {
    margin-bottom: 20px!important
  }
}

@media(max-width:380px) {
  .wrap {
    padding: 22px 14px 32px
  }
  .sidebar {
    padding-left: 14px;
    padding-right: 14px
  }
  .workspace-label {
    right: 14px;
    font-size: 9px
  }
  .topbar {
    padding: 0 14px
  }
  .breadcrumb>span:first-child,.breadcrumb>span:nth-child(2) {
    display: none
  }
  .stats {
    gap: 6px
  }
  .stat {
    padding: 13px 9px
  }
  .stat strong {
    font-size: 22px
  }
  .card-heading {
    padding: 19px 16px 0
  }
  .card-content {
    padding: 18px 16px
  }
  .step {
    font-size: 9px;
    gap: 4px
  }
  .steps {
    gap: 4px
  }
  .valeurs {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px
  }
  .valeur {
    padding: 15px 10px
  }
  .valeur strong {
    font-size: 21px
  }
  .valeur span {
    font-size: 10px
  }
  .sale-summary {
    padding: 11px
  }
  .sale-summary strong {
    font-size: 12px
  }
  .nav-link {
    padding: 9px 10px;
    font-size: 11px
  }
  .login-card {
    padding: 22px
  }
  .login-intro h1 {
    font-size: 31px
  }
  .sales-toolbar select {
    width: 100%
  }
  .sales-toolbar .search-field {
    min-width: 100%
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
  *,*:before,*:after {
    animation-duration: .001ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .001ms!important
  }
}

.sidebar {
  overflow-y: auto
}

.page-heading h1,.stat strong {
  overflow-wrap: anywhere
}

.brand-mark {
  --deepilm-logo-color: #76d9c4
}

@media (max-width: 720px) {
  .sidebar nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow-x: visible; gap: 8px; }
  .sidebar .nav-link { white-space: normal; }
  .nav-link { font-size: 14px; }
  .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .step { flex-direction: column; align-items: center; gap: 8px; font-size: 14px; text-align: center; }
  .step b { min-width: 27px; height: 27px; font-size: 13px; }
  .step-divider { display: none; }
  .alloc h3, .alloc .price, .alloc .meta, .alloc .stock-row, .stock-row strong { font-size: 14px; }
  .alloc .top { flex-wrap: wrap; gap: 4px; }
  .valeur span, .sale-summary, .sale-summary .summary-margin small { font-size: 14px; }
  .sale-summary strong { font-size: 16px; }
  .once-note, .help-card p, .card p.hint { font-size: 14px; }
  .help-card h3 { font-size: 15px; }
  .stat span, .stat em { font-size: 14px; }
  .stat span { min-height: 0; }
  .stat strong { font-size: 28px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat:first-child { grid-column: 1 / -1; }
}

.report-filters {display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin:20px 0}
.report-filters label {display:grid;gap:6px;min-width:160px}
.report-filters select {min-height:44px}
.report-totals {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0}
.report-total {padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.report-total span,.report-total strong,.report-total small {display:block;margin-top:8px}
.report-total strong {font-size:24px;font-variant-numeric:tabular-nums}
.sale-summary strong {overflow-wrap:anywhere}

.report-content{padding:0 24px 28px}.report-filters{margin:0 0 20px}.report-filters label{min-width:160px;flex:0 1 220px}
#reportMessage{color:var(--muted);font-size:13px;line-height:1.6;max-width:85ch}
.report-empty{padding:32px 24px;text-align:center;background:#f5f9f9;border:1px dashed #cadcdd;border-radius:14px;grid-column:1/-1}
.report-empty strong{font-size:18px}.report-empty p{margin:8px 0 20px;color:var(--muted)}
.report-empty .btn{display:inline-flex;width:auto;min-width:190px;justify-content:center}
#lots .card-content>.btn{margin-top:18px}
.report-divider{border-top:1px solid #dce6e9}.report-total{background:#f7fbfa;border-color:#dce6e9}.report-total h3{margin-top:0}
.lot-howto{padding:24px;margin-bottom:24px;border-radius:14px;background:#f2f8f7;border:1px solid #dce6e9}.lot-howto h3{margin:0 0 16px}.lot-howto ol{padding-left:22px;display:grid;gap:14px}.lot-howto li{line-height:1.6}
@media(max-width:600px){.report-content{padding:0 20px 24px}.report-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-filters label{min-width:0}.report-filters button{grid-column:1/-1}.lot-howto{padding:18px}.sidebar .nav-link:last-child{grid-column:1/-1}}

#lots .lot-howto{margin-top:24px;margin-bottom:0}

/* Shared palette roles across the seller portal. */
html[data-ui-shell=reseller] body .workspace{background:var(--ui-bg)}
html[data-ui-shell=reseller] body .login-benefit b{background:var(--ui-surface-raised);color:var(--ui-link);border:1px solid var(--ui-divider)}
html[data-ui-shell=reseller] body .login-intro h1 span{color:var(--ui-action)}
html[data-ui-shell=reseller] body .workspace-label i{background:var(--ui-action)}
html[data-ui-shell=reseller] body :is(.status-pill,.card-label){background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-divider)}
html[data-ui-shell=reseller] body .status-pill:before{background:var(--ui-success)}
html[data-ui-shell=reseller] body :is(.btn,button[type=submit]):not(.secondary,.sec,.ghost,.danger):hover:not(:disabled){background:var(--reseller-action-hover);color:var(--ui-on-action);filter:none}
html[data-ui-shell=reseller] body :is(.btn,.act,button){box-shadow:none}
html[data-ui-shell=reseller] body :is(.btn.secondary,.key-toggle){background:var(--ui-surface);color:var(--ui-link)}
html[data-ui-shell=reseller] body :is(.badge.used,.badge.ok){color:var(--ui-success);background:var(--ui-surface-raised);border:1px solid var(--ui-success)}
html[data-ui-shell=reseller] body .badge.pending{color:var(--ui-warning);background:var(--ui-surface-raised);border:1px solid var(--ui-warning)}
html[data-ui-shell=reseller] body :is(.badge.revoked,.badge.bad){color:var(--ui-danger);background:var(--ui-surface-raised);border:1px solid var(--ui-danger)}
html[data-ui-shell=reseller] body .step b{color:var(--ui-text);background:var(--ui-surface-raised);border-color:var(--ui-control-border)}
html[data-ui-shell=reseller] body .step[aria-current=step] b{background:var(--ui-action);color:var(--ui-on-action);border-color:var(--ui-action)}
html[data-ui-shell=reseller] body .valeur.sel{background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-action);box-shadow:inset 0 -3px var(--ui-action)}
html[data-ui-shell=reseller] body .valeur.sel:after{background:var(--ui-action);color:var(--ui-on-action)}
html[data-ui-shell=reseller] body .sale-summary{background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-divider)}
html[data-ui-shell=reseller] body :is(.code-out,.free-stock-summary,.pending-sale,.msg){background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-divider)}
html[data-ui-shell=reseller] body .pending-sale{border-inline-start:3px solid var(--ui-warning)}
html[data-ui-shell=reseller] body .msg{padding:14px 18px;border:1px solid var(--ui-divider);border-radius:10px}
html[data-ui-shell=reseller] body .msg.error{color:var(--ui-danger);border-inline-start:3px solid var(--ui-danger)}
html[data-ui-shell=reseller] body :is(input,select,textarea):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
html[data-ui-shell=reseller] body .card-tracking{--ct-line:var(--ui-control-border);--ct-muted:var(--ui-text-muted);--ct-bg:var(--ui-surface);--ct-accent:var(--ui-action)}
html[data-ui-shell=reseller] body .ct-badge[data-state=redeemed]{color:var(--ui-success);border-color:var(--ui-success)}
html[data-ui-shell=reseller] body .ct-badge[data-state=active]{color:var(--ui-warning);border-color:var(--ui-warning)}
html[data-ui-shell=reseller] body .ct-badge[data-state=revoked]{color:var(--ui-danger);border-color:var(--ui-danger)}

html[data-ui-shell=reseller] body .msg.err{color:var(--ui-danger)}
html[data-ui-shell=reseller] body .ct-error{color:var(--ui-danger)}
