/* Screen density: keep product imagery large while reducing surrounding chrome.
   Print/PDF layout is intentionally independent of these screen rules. */
body { font-size:14px; }
h1,.intro h1,.workspace .intro h1,.detail h1 { font-size:28px;letter-spacing:-.6px;margin-bottom:6px;max-width:none; }
h2 { font-size:22px;margin-bottom:10px; }
h3 { font-size:15px;margin-bottom:6px; }
p { line-height:1.45;margin-bottom:8px; }
small,.muted { font-size:12px;line-height:1.45; }
.header,.header:has(.customer-nav) { padding:6px 14px;gap:12px; }
.brand { font-size:23px;letter-spacing:2px;gap:7px; }
.brand svg { width:24px;height:28px; }
.avatar { width:36px;height:36px; }
.header-right { gap:8px; }
.header-right .sample { padding:4px 6px;font-size:9px;letter-spacing:.4px; }
.container { max-width:none;padding:10px 14px 80px; }
.container.workspace { padding-bottom:20px; }
.eyebrow { font-size:10px;margin-bottom:5px;letter-spacing:1.2px; }
.intro,.workspace .intro { padding:0 0 10px;margin:0 0 10px;gap:12px;align-items:center; }
.intro p,.workspace .intro p { max-width:none;font-size:13px;margin:0; }
.workspace .intro .eyebrow { display:none; }
.intro .row,.workspace .intro>.row { margin-top:0;flex-wrap:wrap;gap:6px; }
.row { gap:8px; }
.chip,.toolbar .chip { min-height:36px;padding:7px 11px;font-size:13px;gap:5px; }
.collection-nav,.admin-tabs { gap:6px;margin-bottom:10px; }
.container:not(.workspace)>.collection-nav { flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none; }
.container:not(.workspace)>.collection-nav .chip { flex:none; }
.workspace .admin-tabs { padding-bottom:3px;scrollbar-width:none; }
.workspace .admin-tabs::-webkit-scrollbar { display:none; }
.toolbar,.workspace .toolbar { gap:8px;margin:10px 0; }
.search { max-width:600px; }
.search svg { top:10px; }
input,select,textarea { min-height:38px;padding:8px 10px;border-radius:6px; }
textarea { min-height:70px; }
label { font-size:13px;margin-bottom:4px; }
label:has(input[type="checkbox"]) { min-height:34px;gap:7px; }
.btn,.admin-card .btn,.card-action .btn { min-height:36px;padding:7px 11px;font-size:13px;gap:6px; }
.link-button,.back { min-height:36px;padding:7px 3px;font-size:13px; }
.back { margin-bottom:6px; }
.panel { padding:12px;margin:8px 0; }
.notice { padding:9px 11px;margin:10px 0;font-size:13px;line-height:1.4; }
.admin-card { padding:10px 12px;margin:6px 0;gap:10px; }
.admin-card h3 { margin-bottom:3px; }
.admin-card .actions { gap:6px; }
.status { padding:3px 6px;margin-bottom:4px;font-size:10px; }
.stack { gap:8px; }
.split { gap:20px; }
.form-grid { gap:10px 12px; }
.field { min-width:0; }
.field p { margin-top:4px; }
.form-actions { margin-top:12px;gap:8px; }
.inventory-table { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:1px;background:var(--line); }
.inventory-labels { display:none; }
.inventory-row { grid-template-columns:104px minmax(0,1fr) minmax(0,1fr);gap:4px 10px;align-items:center;padding:8px 10px;background:white; }
.inventory-row + .inventory-row { border-top:0; }
.inventory-identity { display:contents; }
.inventory-identity img,.inventory-placeholder { grid-column:1;grid-row:1/4;align-self:start; }
.inventory-identity>div { grid-column:2/-1;grid-row:1; }
.inventory-stock { grid-column:2;grid-row:2; }
.inventory-row>div:nth-child(3) { grid-column:3;grid-row:2; }
.inventory-row>div:last-child { grid-column:2/-1;grid-row:3;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px; }
.inventory-row .status { margin:0; }
.inventory-identity { gap:10px; }
.inventory-identity img,.inventory-placeholder { width:104px;height:104px;object-fit:contain;border-radius:6px; }
.inventory-identity>div { min-width:0;overflow-wrap:anywhere;line-height:1.35; }
.inventory-row small { margin-top:2px; }
.inventory-row .actions { display:flex;margin:0;gap:5px; }
.inventory-row .btn { min-height:34px;padding:6px 9px; }
.page-controls { padding:10px 0;gap:8px;font-size:12px; }
.catalog-choice { padding:9px 10px;margin:6px 0; }
.catalog-choice summary { padding:3px 0; }
.catalog-choice .row,.catalog-choice .form-grid { margin-top:8px; }
.catalog-result { padding:8px 0;gap:8px; }
.grid { gap:16px 12px; }
.product-ref { margin:6px 0 3px;letter-spacing:1px; }
.product-card h3 { font-size:19px;margin-bottom:3px; }
.description { min-height:0;font-size:13px; }
.price { margin:7px 0 4px; }
.price span { margin-top:1px; }
.card-action { margin-top:7px;gap:6px; }
.filename { margin-top:5px; }
.footer-note { margin-top:12px; }
.balance { padding:12px 16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px; }
.balance .amount { font-size:30px;margin:0; }
.history { gap:6px; }
.history-row { padding:10px 12px;gap:10px; }
.history-row h3 { margin-bottom:3px; }
.history-row .amount { font-size:14px; }
.invoice-thumbnail { width:104px;height:104px;flex-basis:104px; }
.invoice-line { padding:8px 0;gap:10px;align-items:center; }
.invoice-line h3 { margin-bottom:3px; }
.totals { padding:10px 0;font-size:16px; }
.specs { margin:12px 0; }
.specs div { padding:9px; }
.detail .price { font-size:24px; }
.detail-media { max-height:70vh;aspect-ratio:1; }
.piece { padding:8px;gap:10px;margin:7px 0; }
.piece img { width:104px;height:104px;flex:none; }
.quantity { height:40px; }
.quantity button { width:40px; }
.quantity input { width:52px;min-height:38px; }
dialog { padding:16px;max-height:calc(100dvh - 24px); }
.dialog-head { margin-bottom:10px;gap:10px; }
.dialog-head h2 { font-size:23px; }
.close { width:36px;height:36px;flex:none; }
.tray-line { padding:9px 0; }
.crop-stage { margin:8px 0; }
.thumbnail-review { gap:10px;margin:10px 0; }
.thumbnail-review canvas { width:120px;height:120px;flex-basis:120px; }
.thumbnail-tools { margin-top:8px; }
.empty { padding:24px 12px; }
.empty h2 { font-size:23px; }
.loading { padding:24px 12px; }
.login-wrap { min-height:0;padding:24px;gap:32px; }
.login-art { min-height:380px;padding:30px; }
.login-art h1 { font-size:42px; }
.customer-nav a { min-height:54px;gap:4px; }
.customer-nav svg { width:19px;height:19px; }
.selection-bar { bottom:calc(64px + env(safe-area-inset-bottom));right:14px;gap:12px;padding:8px 11px; }
.selection-active { padding-bottom:150px; }
@media(min-width:1001px) {
  .container { padding-bottom:24px; }
  .selection-active { padding-bottom:100px; }
  .customer-nav a { min-height:36px;padding:6px 11px; }
  .selection-bar { bottom:14px; }
}
@media(max-width:767px) {
  .header,.header:has(.customer-nav) { padding:6px 10px;gap:7px; }
  .brand { font-size:21px;letter-spacing:1.5px; }
  .container { padding:8px 10px calc(72px + env(safe-area-inset-bottom)); }
  .container.workspace { padding-bottom:16px; }
  .intro,.workspace .intro { margin:0 0 8px;padding-bottom:8px; }
  .intro h1,.workspace .intro h1,.detail h1 { font-size:25px; }
  .intro .row,.workspace .intro>.row { margin-top:8px; }
  .intro p { font-size:12px; }
  .workspace .intro p { display:none; }
  .btn,.admin-card .btn,.card-action .btn,.inventory-row .btn,.chip,.toolbar .chip { min-height:40px; }
  .inventory-row .btn { padding:7px 9px; }
  .grid { gap:14px 10px; }
  .card-action { gap:6px; }
  .product-card h3 { font-size:18px; }
  .media-badge { top:6px;left:6px;padding:4px 5px; }
  .panel { padding:10px; }
  .admin-card { padding:9px 10px;gap:7px; }
  .admin-card .actions { width:auto; }
  .split { gap:12px; }
  .form-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .field.wide { grid-column:1/-1; }
  .field:has(input[type="datetime-local"]) { grid-column:1/-1; }
  .form-grid:has(input[type=password]) { grid-template-columns:1fr; }
  dialog { padding:12px;width:calc(100% - 16px);max-width:none; }
  .balance .amount { font-size:27px; }
  .history-row { padding:9px 10px; }
  .invoice-line:has(.invoice-thumbnail) { display:grid;grid-template-columns:104px minmax(0,1fr);gap:4px 10px; }
  .invoice-line .invoice-thumbnail { grid-row:1/3; }
  .invoice-line:has(.invoice-thumbnail)>strong { grid-column:2; }
  .piece { display:grid;grid-template-columns:104px minmax(0,1fr);gap:5px 10px; }
  .piece img { grid-row:1/3; }
  .piece .btn { margin:0;justify-self:start; }
  .selection-bar { left:10px;right:10px; }
  .selection-active { padding-bottom:calc(150px + env(safe-area-inset-bottom)); }
  .login-wrap { padding:18px 12px;gap:16px; }
  .login-art { min-height:0;padding:20px; }
  .login-art h1 { font-size:32px; }
}
@media(max-width:374px) {
  .header-right .sample { display:none; }
  .form-grid { grid-template-columns:1fr; }
}
