/* Project typography: self-hosted Finlandica, normal and italic, weights 400–700. */
@font-face{font-family:'Finlandica';font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/finlandica/Finlandica-Regular-Variable.275d811ef623.ttf") format('truetype')}
@font-face{font-family:'Finlandica';font-style:italic;font-weight:400 700;font-display:swap;src:url("fonts/finlandica/Finlandica-Italic-Variable.2d8715501ef4.ttf") format('truetype')}
:root{--font:'Finlandica',Arial,'Helvetica Neue',sans-serif}
code,pre,kbd,samp{font-family:var(--font)}
/* Shared layouts used by server templates. Visual tokens are defined in v2.css. */
.app-message{margin-bottom:20px}.app-form{max-width:680px}.app-form p{margin:0}.errorlist{color:var(--danger);padding-left:20px}.catalog-filter{margin-bottom:28px}.catalog-filter .row>label{flex:1;min-width:150px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin:32px 0}.hash{overflow-wrap:anywhere}.pdp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}.pdp-image{height:420px;border-radius:var(--radius)}.variant-list{display:flex;gap:8px;flex-wrap:wrap;max-height:360px;overflow:auto}.variant-list a{text-decoration:none}.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.checkout-summary{position:sticky;top:112px}.cart-item,.shipment-block{border-bottom:1px solid var(--border);padding:16px 0}.cart-item label{max-width:120px}.payer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.info-copy{max-width:900px}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:11px}.label-print{width:58mm;padding:3mm;border:1px dashed var(--border);background:white;overflow-wrap:anywhere}.label-print h2{font-size:15px}.label-print img{display:block;margin:auto}.product-row .purchase-controls{align-self:center}.catalog-results.cards .product-row{display:flex;flex-direction:column;align-items:stretch;padding:20px;gap:16px}.catalog-results.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-results.cards .row-image{width:100%;height:110px}.catalog-results.cards .purchase-controls{align-self:stretch}.sidebar nav{margin-bottom:8px}.sidebar nav a{min-height:44px}.sidebar .logo{display:block}
@media(max-width:1000px){.checkout-grid{grid-template-columns:minmax(0,1fr) 300px}.catalog-results.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.pdp-layout,.checkout-grid{grid-template-columns:minmax(0,1fr)}.checkout-summary{position:static}.pdp-image{height:260px}.payer-grid{grid-template-columns:1fr}.catalog-filter .row>label{min-width:130px}.sidebar nav{display:flex}.label-print{max-width:100%}}
@media(max-width:700px){.catalog-results.cards{grid-template-columns:1fr}.catalog-results.cards .row-image{height:100px}.catalog-results .product-row .purchase-controls{align-self:stretch}.system-strip{gap:10px}.system-strip>a{display:none}.merchant-top #header-payer{width:auto;flex:1}.catalog-toolbar{flex-wrap:wrap}.pdp-layout{gap:24px}input[type=number]{max-width:100%}}
@media print{body>*{display:none!important}body>.shell{display:block!important}.sidebar,.topbar,footer,.app-message,.btn{display:none!important}.workspace main{padding:0!important}body .label-print{display:block!important;border:0}.label-print~*{display:none!important}@page{size:58mm auto;margin:0}}
.catalog-results.cards .catalog-item{border:1px solid var(--border);border-radius:var(--radius)}.catalog-results.cards .item-thumb{display:none}.catalog-results.cards .item-purchase{margin-top:auto}.catalog-results.cards .catalog-item h3{font-size:16px}.catalog-results.cards .item-purchase .stock{min-height:20px}.catalog-item .purchase-controls .btn{white-space:normal}.checkout-grid>.stack{min-width:0}@media(max-width:1050px){.catalog-results.rows .item-purchase{grid-column:1/-1;display:flex;gap:20px;align-items:center}}
.merchant-nav .mobile-account{display:none}@media(max-width:780px){.merchant-nav .mobile-account{display:block}}

/* Self-hosted Cyrillic accent face; provenance and author notice are stored beside it. */
@font-face{font-family:'Minecart LCD';font-style:normal;font-weight:400;font-display:swap;src:url("fonts/minecart-lcd/MinecartLCD-Regular.793dec19a6e1.ttf") format('truetype')}
:root{--font-accent:'Minecart LCD',var(--font)}
.accent-code,.accent-number,.metric,.accent-wordmark,.accent-step,.accent-brand,.accent-counter,.accent-title{font-family:var(--font-accent);font-weight:400;font-synthesis:none;letter-spacing:.02em}
.accent-code{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.accent-code-large{font-size:28px}
.accent-number{font-size:1.1em}
.accent-wordmark{font-size:26px;letter-spacing:-.04em}
.sidebar .logo .accent-wordmark{color:inherit}
.entry-grid .accent-step,.auth-point>.accent-step{font-size:28px;line-height:1.2;letter-spacing:0}
.entry-grid .accent-step{margin-right:8px}
.auth-point>.accent-step{color:var(--muted);flex-shrink:0}

.cart-link .accent-counter{font-size:16px;line-height:1;display:inline-block;min-width:1ch;text-align:center}
.intro .accent-title{font-size:clamp(24px,4vw,36px);overflow-wrap:anywhere}
@media(max-width:780px){.accent-wordmark{font-size:20px}}

.operation-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-width:100%;}

/* Staff navigation shares the design system palette and control sizing. */
.erp-sidebar-header { margin-bottom: var(--space-4); }
.sidebar .erp-nav { display: grid; gap: var(--space-1); }
.erp-nav-group summary,
.erp-nav-mobile > summary {
  align-content: center;
  min-height: var(--control);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  cursor: pointer;
  color: var(--on-action);
  font-size: 14px;
  font-weight: 600;
}
.erp-nav-group[open] > summary,
.erp-nav-group summary:hover,
.erp-nav-mobile > summary:hover { background: var(--navy-soft); }
.erp-nav-group ul { list-style: none; margin: var(--space-1) 0 var(--space-2); padding: 0 0 0 var(--space-2); }
.sidebar .erp-nav a { display: flex; align-items: center; margin: 0; white-space: normal; }
.sidebar .erp-nav a.active { font-weight: 700; box-shadow: inset 3px 0 var(--sky); }
.sidebar :focus-visible { outline-color: var(--sky); }
.erp-nav-mobile { display: none; }

@media (max-width: 780px) {
  .erp-nav-desktop { display: none; }
  .erp-nav-mobile { display: block; }
  .erp-nav-mobile > summary { background: var(--navy-soft); }
  .sidebar .erp-nav { margin-top: var(--space-2); overflow: visible; }
  .sidebar .erp-nav a { font-size: 14px; }
  .erp-sidebar-header { margin-bottom: var(--space-2); }
}


.erp-nav-group, .erp-nav-mobile { border: 0; padding: 0; }
.erp-cell-label { display: none; }

@media (max-width: 780px) {
  .erp-orders-table table, .erp-orders-table tbody { display: block; min-width: 0; }
  .erp-orders-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .erp-orders-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--space-2) 0; border-top: 1px solid var(--border); }
  .erp-orders-table td { min-width: 0; padding: var(--space-1) var(--space-2); border: 0; overflow-wrap: anywhere; }
  .erp-orders-table td:nth-child(-n+2) { grid-column: 1 / -1; }
  .erp-orders-table .erp-cell-label { display: block; color: var(--muted); font-weight: 600; }
}

.erp-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--space-3);
  margin-block: var(--space-3) var(--space-5);
}
.erp-filters label { flex: 1 1 180px; min-width: 0; max-width: 300px; }
.erp-filters input, .erp-filters select { width: 100%; min-height: var(--control); }
.erp-filter-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.erp-record-link { overflow-wrap: anywhere; }
.erp-record-meta { color: var(--muted); }

@media (max-width: 780px) {
  .erp-filters label { flex-basis: 100%; max-width: none; }
  .erp-adaptive-table { overflow: visible; }
  .erp-adaptive-table table, .erp-adaptive-table tbody { display: block; min-width: 0; }
  .erp-adaptive-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .erp-adaptive-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--border); padding: var(--space-3) 0; }
  .erp-adaptive-table td { min-width: 0; border: 0; padding: var(--space-1) 0; overflow-wrap: anywhere; font-size: 14px; }
  .erp-adaptive-table td:first-child, .erp-adaptive-table td[colspan], .erp-adaptive-table .erp-record-actions { grid-column: 1 / -1; }
  .erp-adaptive-table .erp-cell-label { display: block; color: var(--muted); font-weight: 600; font-size: 12px; }
  .erp-record-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .erp-adaptive-table .erp-record-actions .btn { min-height: var(--control); font-size: 13px; }
  .erp-record-link.btn { min-height: var(--control); }
}

@media (max-width: 780px) {
  body[data-mode="erp"] .topbar { min-height: 48px; padding-block: var(--space-2); }
  body[data-mode="erp"] main .intro { margin-bottom: var(--space-4); }
  .erp-filters { margin-bottom: var(--space-3); }
}

.erp-warehouse-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: var(--space-2);
}
.erp-warehouse-tools details { padding: 0; border: 0; }
.erp-warehouse-tools details[open] { flex-basis: 100%; }
.erp-warehouse-tools summary.btn { display: list-item; width: fit-content; }
.erp-warehouse-tools details form { max-width: 620px; }
