/* iPad label studio v2 — one calm kitchen task, from product to print. */
.labels-app-view {
  --label-ink:#292722;
  --label-muted:#756e65;
  --label-line:#ddd2c5;
  --label-paper:#fffdf9;
  --label-soft:#f7f2eb;
  --label-plum:#a64370;
  --label-plum-dark:#6c304a;
  --label-green:#667d45;
  --label-green-dark:#405330;
  --label-gold:#d4a456;
  width:min(100%,1440px);
  margin-inline:auto;
  color:var(--label-ink);
  font-size:16px;
}

.labels-app-view [hidden] { display:none!important; }
.labels-app-view .work-page-header { align-items:center; margin-bottom:14px; }
.labels-app-view .work-title-row p:last-child { max-width:710px; margin-top:5px; color:var(--label-muted); font-size:15px; line-height:1.45; }

.app-label-chain-status {
  display:flex;
  min-height:54px;
  max-width:300px;
  align-items:center;
  gap:11px;
  padding:9px 14px;
  border:1px solid #d8cec1;
  border-radius:16px;
  background:rgba(255,253,249,.92);
  box-shadow:0 8px 22px rgba(66,48,32,.05);
}
.app-label-chain-status > i { width:11px; height:11px; flex:0 0 auto; border:3px solid #fff; border-radius:50%; background:#a99f95; box-shadow:0 0 0 2px #a99f95; }
.app-label-chain-status b,
.app-label-chain-status small { display:block; }
.app-label-chain-status b { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.app-label-chain-status small { margin-top:2px; overflow:hidden; color:#7e756d; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.app-label-chain-status[data-status="online"] { border-color:#b8cca1; background:#f4f9ed; }
.app-label-chain-status[data-status="online"] > i { background:#708a4c; box-shadow:0 0 0 2px #708a4c; }
.app-label-chain-status[data-status="online"] b { color:#496135; }
.app-label-chain-status[data-status="offline"] { border-color:#dfb6b0; background:#fff4f2; }
.app-label-chain-status[data-status="offline"] > i { background:#bd5c54; box-shadow:0 0 0 2px #bd5c54; }
.app-label-chain-status[data-status="offline"] b { color:#8e423d; }
.app-label-printer-status { display:none; font:inherit; text-align:left; cursor:pointer; }
.app-label-printer-status[aria-busy="true"] > i { animation:app-label-pulse .8s ease-in-out infinite; }

.app-label-commandbar {
  display:flex;
  min-height:70px;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
  padding:8px 10px 8px 14px;
  border:1px solid rgba(206,166,91,.45);
  border-radius:20px;
  color:#f8f4ea;
  background:radial-gradient(circle at 86% -70%,rgba(224,181,91,.28),transparent 45%),linear-gradient(135deg,#27382f,#41462f 58%,#4b3443);
  box-shadow:0 14px 34px rgba(45,45,34,.14);
}

.app-label-flow { display:flex; min-width:0; flex:1 1 470px; align-items:center; gap:4px; }
.app-label-flow > span { position:relative; display:flex; min-width:0; flex:1 1 0; align-items:center; gap:8px; padding:8px; border-radius:13px; opacity:.54; }
.app-label-flow > span + span::before { position:absolute; top:50%; left:-6px; width:8px; height:1px; background:rgba(255,255,255,.24); content:""; }
.app-label-flow i { display:grid; width:32px; height:32px; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:10px; color:#f0d58f; background:rgba(255,255,255,.08); font-size:13px; font-style:normal; font-weight:950; }
.app-label-flow b { overflow:hidden; font-size:13px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.app-label-step-short { display:none; }
.app-label-flow > span[data-state="current"] { opacity:1; background:rgba(255,255,255,.11); }
.app-label-flow > span[data-state="current"] i { color:#2c392f; border-color:#e6c16c; background:linear-gradient(145deg,#f1d68c,#d0a04e); box-shadow:0 6px 14px rgba(31,28,18,.2); }
.app-label-flow > span[data-state="complete"] { opacity:.88; }
.app-label-flow > span[data-state="complete"] i { color:#fff; border-color:#899f68; background:#667f47; font-size:0; }
.app-label-flow > span[data-state="complete"] i::after { font-size:16px; content:"✓"; }

.app-label-metrics { display:flex; flex:0 0 auto; align-items:center; gap:0; }
.app-label-metrics > span { display:grid; min-width:80px; padding:2px 13px; border-left:1px solid rgba(255,255,255,.16); text-align:center; }
.app-label-metrics strong { color:#f3d78e; font-size:19px; line-height:1; }
.app-label-metrics small { margin-top:4px; color:#deddd3; font-size:10px; font-weight:750; }

.app-label-command-actions { display:flex; flex:0 0 auto; gap:7px; }
.app-label-command-actions button,
.app-label-command-actions a {
  position:relative;
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  color:#fff;
  background:rgba(255,255,255,.1);
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.app-label-command-actions button:hover,
.app-label-command-actions a:hover { background:rgba(255,255,255,.16); }
.app-label-command-actions svg { width:19px; height:19px; }
.app-label-command-actions b { display:grid; min-width:20px; height:20px; place-items:center; border-radius:99px; color:#3a3121; background:#e9c87b; font-size:10px; }
.app-label-action-short { display:none; }

.app-label-message { margin:0 0 14px; padding:12px 15px; border:1px solid #d8cec2; border-radius:14px; color:#5e554d; background:#fffdf9; font-size:14px; font-weight:750; }
.app-label-message[data-tone="success"] { border-color:#bdceaa; color:#496137; background:#f4f9ee; }
.app-label-message[data-tone="attention"] { border-color:#e2c787; color:#795820; background:#fff8e8; }
.app-label-message[data-tone="error"] { border-color:#deb2ad; color:#91413c; background:#fff1f0; }

.app-label-workspace { display:grid; grid-template-columns:minmax(330px,.82fr) minmax(510px,1.18fr); align-items:start; gap:16px; }
.app-label-panel { min-width:0; padding:18px; border:1px solid var(--label-line); border-radius:22px; background:rgba(255,255,255,.91); box-shadow:0 12px 32px rgba(72,54,37,.06); }
.app-label-catalog { background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,247,241,.96)); }
.app-label-compose { border-top-color:#d5ae63; background:linear-gradient(180deg,#fffefa,#fbf7f0); box-shadow:0 16px 40px rgba(74,55,35,.08); }

.app-label-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.app-label-panel-heading .eyebrow { margin:0 0 4px; color:var(--label-plum); font-size:11px; font-weight:950; letter-spacing:.9px; }
.app-label-panel-heading h2 { margin:0; font-size:24px; line-height:1.14; letter-spacing:-.4px; }
.app-label-panel-heading > div > span { display:block; max-width:560px; margin-top:6px; color:#766e65; font-size:13px; line-height:1.42; }
.app-label-panel-heading > button,
.app-label-queue-card header button,
.app-label-preview-card header button { display:inline-flex; min-width:48px; min-height:48px; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; padding:0 12px; border:1px solid #d7cabb; border-radius:13px; color:#704f3b; background:#fff9f2; font-size:12px; font-weight:850; cursor:pointer; }
.app-label-panel-heading button svg,
.app-label-queue-card header button svg,
.app-label-preview-card header button svg { width:20px; height:20px; }
.app-label-panel-heading button[aria-busy="true"] svg,
.app-label-queue-card header button[aria-busy="true"] svg { animation:app-label-spin .8s linear infinite; }

.app-label-search { display:grid; min-height:56px; grid-template-columns:23px minmax(0,1fr) auto; align-items:center; gap:10px; margin-top:16px; padding:0 14px; border:1.5px solid #d7cabd; border-radius:15px; color:#7f5f4b; background:#fffdf9; }
.app-label-search:focus-within { border-color:var(--label-plum); box-shadow:0 0 0 4px rgba(166,67,112,.1); }
.app-label-search svg { width:21px; height:21px; }
.app-label-search input { width:100%; height:52px; border:0; outline:0; color:#302d29; background:transparent; font-size:16px; }
.app-label-search span { color:#82786f; font-size:12px; font-weight:800; }

.app-label-folder-wrap { margin-top:14px; }
.app-label-folder-wrap > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.app-label-folder-wrap > div:first-child strong { font-size:14px; }
.app-label-folder-wrap > div:first-child span { color:#81786f; font-size:12px; }
.app-label-folders { display:flex; gap:8px; margin-top:8px; padding-bottom:7px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; }
.app-label-folders button { display:grid; min-width:150px; min-height:60px; align-content:center; padding:9px 12px; border:1px solid #ddcfc2; border-radius:14px; color:#514a43; background:#fffdf9; text-align:left; cursor:pointer; scroll-snap-align:start; }
.app-label-folders button strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.app-label-folders button small { margin-top:3px; color:#817870; font-size:11px; }
.app-label-folders button.is-active { border-color:#788e53; color:#41552f; background:#f1f6e8; box-shadow:inset 4px 0 #6e8449; }

.app-label-products { display:grid; max-height:calc(100dvh - 410px); min-height:350px; gap:8px; margin-top:8px; padding-right:3px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.app-label-product { display:grid; width:100%; min-height:72px; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:11px; padding:10px 11px; border:1px solid #dfd4c8; border-radius:15px; color:#38332e; background:#fffdf9; text-align:left; cursor:pointer; transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.app-label-product:hover { border-color:#b9caa3; background:#fbfdf6; transform:translateY(-1px); }
.app-label-product.is-active { border-color:#789052; background:#f2f7ea; box-shadow:inset 4px 0 #6b8246,0 5px 14px rgba(91,107,62,.08); }
.app-label-product > span:first-child { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#bc8250,#a84f76); font-size:18px; font-weight:900; }
.app-label-product > span:nth-child(2) { min-width:0; }
.app-label-product strong,
.app-label-product small { display:block; }
.app-label-product strong { overflow:hidden; font-size:15px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.app-label-product small { margin-top:4px; overflow:hidden; color:#786f66; font-size:12px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.app-label-product > b { padding:5px 8px; border-radius:999px; font-size:10px; white-space:nowrap; }
.app-label-product > b.is-ready { color:#506537; background:#e7efdb; }
.app-label-product > b.needs-review { color:#91445f; background:#f5e1e9; }
.app-label-product-card { position:relative; min-width:0; }
.app-label-product-card .app-label-product { padding-right:102px; }
.app-label-product-favorite,
.app-label-product-info {
  position:absolute;
  z-index:2;
  top:50%;
  right:11px;
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  padding:0;
  border:1px solid #d8cec2;
  border-radius:50%;
  color:#5b6d4b;
  background:#fff;
  box-shadow:0 3px 10px rgba(66,48,32,.06);
  cursor:pointer;
  transform:translateY(-50%);
}
.app-label-product-favorite { right:53px; color:#81786f; }
.app-label-product-favorite svg { width:19px; height:19px; fill:transparent; transition:fill .15s ease,color .15s ease,transform .15s ease; }
.app-label-product-favorite:hover { border-color:#d4b362; color:#9a7222; background:#fff9e8; }
.app-label-product-favorite.is-active { border-color:#d1aa4e; color:#a57616; background:#fff6d9; box-shadow:0 3px 10px rgba(150,105,22,.12); }
.app-label-product-favorite.is-active svg { fill:#e1b949; transform:scale(1.05); }
.app-label-product-info:hover { border-color:#7d9662; color:#3f6034; background:#f1f6ea; }
.app-label-product-info svg { width:19px; height:19px; }
.app-label-product-loading { display:flex; min-height:180px; align-items:center; justify-content:center; gap:11px; margin:0; color:#756d65; font-size:13px; font-weight:750; }
.app-label-product-loading > span:first-child { width:24px; height:24px; border:3px solid #ddd3c7; border-top-color:#687c4a; border-radius:50%; animation:app-label-spin .72s linear infinite; }
.app-label-empty { margin:22px 8px; color:#766d64; font-size:14px; line-height:1.5; text-align:center; }
.app-label-more { width:100%; min-height:48px; margin-top:10px; border:1px solid #d7c9bc; border-radius:13px; color:#694b39; background:#fff9f3; font-size:14px; font-weight:850; cursor:pointer; }

.app-label-selected { display:grid; min-height:66px; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:11px; margin-top:15px; padding:9px 12px; border:1px solid #aabd91; border-radius:15px; background:#f3f8eb; box-shadow:0 7px 17px rgba(98,116,67,.07); }
.app-label-selected.is-empty { border-color:#ddd1c5; background:#faf7f3; box-shadow:none; }
.app-label-selected > span { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; color:#fff; background:var(--label-green); }
.app-label-selected.is-empty > span { background:#b7ada4; }
.app-label-selected svg { width:22px; height:22px; }
.app-label-selected p { min-width:0; margin:0; }
.app-label-selected strong,
.app-label-selected small { display:block; }
.app-label-selected strong { overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.app-label-selected small { margin-top:3px; color:#6f685f; font-size:12px; }

.app-label-compose form { display:grid; width:100%; min-width:0; gap:12px; margin-top:14px; }
.app-label-types { display:grid; width:100%; min-width:0; min-inline-size:0; max-width:100%; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin:0; padding:0 0 4px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; border:0; }
.app-label-types legend { grid-column:1/-1; margin-bottom:1px; font-size:14px; font-weight:900; }
.app-label-types label { min-width:0; cursor:pointer; }
.app-label-types input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:.001; }
.app-label-types label > span { display:grid; min-height:80px; place-items:center; align-content:center; padding:8px 5px; border:1px solid #d9cdc1; border-radius:13px; background:#fffdf9; text-align:center; }
.app-label-types svg { width:22px; height:22px; color:#796c60; }
.app-label-types b,
.app-label-types small { display:block; }
.app-label-types b { margin-top:4px; font-size:13px; }
.app-label-types small { margin-top:2px; color:#81776e; font-size:10px; line-height:1.25; }
.app-label-types input:checked + span { border-color:var(--label-green); color:#405432; background:#eef4e5; box-shadow:inset 0 0 0 1px var(--label-green),0 5px 13px rgba(91,107,62,.08); }
.app-label-types input:checked + span svg { color:var(--label-green); }
.app-label-types input:focus-visible + span { outline:3px solid rgba(166,67,112,.2); outline-offset:2px; }

.app-label-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.app-label-fields label { display:grid; min-width:0; gap:5px; color:#534c45; font-size:13px; font-weight:850; }
.app-label-date-field { position:relative; display:grid; min-width:0; gap:5px; color:#534c45; font-size:13px; font-weight:850; }
.app-label-native-date { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; overflow:hidden; border:0 !important; opacity:0; pointer-events:none; }
.app-label-date-trigger { display:flex; width:100%; min-width:0; height:50px; align-items:center; justify-content:space-between; gap:10px; padding:0 12px; border:1px solid #d5c8bc; border-radius:13px; color:#302d29; background:#fffdf9; font:650 15px/1 inherit; text-align:left; cursor:pointer; }
.app-label-date-trigger.is-empty { color:#989087; }
.app-label-date-trigger:focus-visible { border-color:var(--label-plum); outline:0; box-shadow:0 0 0 4px rgba(166,67,112,.09); }
.app-label-date-trigger:disabled { color:#716a63; background:#eee9e3; cursor:not-allowed; }
.app-label-date-trigger svg { width:20px; height:20px; flex:0 0 auto; }
.app-label-fields input,
.app-label-fields select { width:100%; min-width:0; height:50px; padding:0 12px; border:1px solid #d5c8bc; border-radius:13px; outline:0; color:#302d29; background:#fffdf9; font-size:15px; font-weight:650; }
.app-label-fields input:focus,
.app-label-fields select:focus { border-color:var(--label-plum); box-shadow:0 0 0 4px rgba(166,67,112,.09); }
.app-label-fields input:disabled { color:#716a63; background:#eee9e3; cursor:not-allowed; }

.app-label-more-options { border:1px solid #ded3c8; border-radius:14px; background:#fffaf5; }
.app-label-more-options summary { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:9px 13px; list-style:none; cursor:pointer; }
.app-label-more-options summary::-webkit-details-marker { display:none; }
.app-label-more-options summary span,
.app-label-more-options summary strong,
.app-label-more-options summary small { display:block; }
.app-label-more-options summary strong { font-size:13px; }
.app-label-more-options summary small { margin-top:3px; color:#7d746b; font-size:11px; }
.app-label-more-options summary svg { width:19px; height:19px; color:#7a6658; transform:rotate(90deg); transition:transform .15s ease; }
.app-label-more-options[open] summary svg { transform:rotate(-90deg); }
.app-label-more-options[open] summary { border-bottom:1px solid #e3d9cf; }
.app-label-more-options > .app-label-fields { padding:12px; }

.app-label-safety-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:8px; }
.app-label-check { display:grid; min-height:78px; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid #ddd2c6; border-radius:14px; background:#fffdf9; cursor:pointer; }
.app-label-check:has(input:disabled) { opacity:.56; cursor:not-allowed; }
.app-label-check input { width:25px; height:25px; margin:0; accent-color:var(--label-green); }
.app-label-check span { min-width:0; }
.app-label-check b,
.app-label-check small { display:block; }
.app-label-check b { color:#4a443e; font-size:13px; line-height:1.25; }
.app-label-check small { margin-top:3px; color:#786f66; font-size:11px; line-height:1.35; }
.app-label-check em { padding:5px 7px; border-radius:99px; color:#73685f; background:#eee9e2; font-size:9px; font-style:normal; font-weight:950; letter-spacing:.45px; text-transform:uppercase; }
.app-label-check:has(input:checked) { border-color:#adbc94; background:#f3f8ed; }
.app-label-check:has(input:checked) em { color:#516739; background:#e1ead5; }
.app-label-allergen-check { border-color:#d8b7c5; background:#fff7fa; }
.app-label-allergen-check b { color:#6d354e; }
.app-label-allergen-check em { color:#7a3f59; background:#f4e3eb; }

.app-label-action-bar { position:sticky; z-index:3; bottom:10px; display:grid; grid-template-columns:236px minmax(0,1fr); gap:9px; padding:9px; border:1px solid rgba(200,164,96,.48); border-radius:18px; background:rgba(255,252,246,.94); box-shadow:0 14px 34px rgba(65,47,31,.16); backdrop-filter:blur(16px); }
.app-label-count-row { display:flex; min-height:74px; align-items:center; justify-content:space-between; gap:9px; padding:8px 10px; border:1px solid #ddd1c5; border-radius:14px; background:#fffdf9; }
.app-label-count-row > span strong,
.app-label-count-row > span small { display:block; }
.app-label-count-row > span strong { font-size:13px; }
.app-label-count-row > span small { margin-top:2px; color:#7b7269; font-size:10px; }
.app-label-count-row > div { display:grid; flex:0 0 126px; grid-template-columns:42px 42px 42px; align-items:center; margin-right:4px; }
.app-label-count-row button { width:42px; height:46px; border:1px solid #cdbfb2; color:#594638; background:#fff; font-size:23px; cursor:pointer; }
.app-label-count-row button:first-child { border-radius:11px 0 0 11px; }
.app-label-count-row button:last-child { border-radius:0 11px 11px 0; }
.app-label-count-row output { display:grid; height:46px; place-items:center; border-top:1px solid #cdbfb2; border-bottom:1px solid #cdbfb2; background:#fff; font-size:16px; font-weight:900; }

.app-label-print-dock { display:grid; min-width:0; grid-template-columns:minmax(96px,1fr) minmax(210px,1.55fr); align-items:center; gap:14px; padding:9px 10px 9px 14px; border-radius:14px; color:#fff; background:radial-gradient(circle at 92% -50%,rgba(220,176,84,.28),transparent 46%),linear-gradient(145deg,#294034,#3d4431 58%,#4d3442); }
.app-label-print-dock > span { display:flex; min-width:0; align-items:center; gap:9px; }
.app-label-print-dock > span > span { min-width:0; }
.app-label-print-dock > span > i { width:10px; height:10px; flex:0 0 auto; border:2px solid #d8b969; border-radius:50%; background:#887b6e; box-shadow:0 0 0 4px rgba(216,185,105,.1); }
.labels-app-view[data-stage="print"] .app-label-print-dock > span > i { background:#8dad5f; box-shadow:0 0 0 4px rgba(141,173,95,.17); }
.app-label-print-dock strong,
.app-label-print-dock small { display:block; }
.app-label-print-dock strong { font-size:12px; }
.app-label-print-dock small { max-width:58ch; margin-top:2px; color:#dcdcd0; font-size:10px; line-height:1.35; white-space:normal; }
.app-label-submit { display:flex; width:100%; min-height:60px; align-items:center; justify-content:center; gap:9px; padding:9px 14px; border:1px solid rgba(255,255,255,.15); border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--label-plum),#74344f); box-shadow:0 9px 20px rgba(43,21,34,.24); font-size:15px; font-weight:950; cursor:pointer; }
.app-label-submit svg { width:23px; height:23px; }
.app-label-submit:disabled { color:#e8dfe3; border-color:rgba(255,255,255,.08); background:rgba(181,157,168,.58); box-shadow:none; cursor:not-allowed; }
.app-label-submit[aria-busy="true"] svg { animation:app-label-pulse 1s ease-in-out infinite; }

.app-label-dialog.moreos-dialog-v2 { width:min(calc(100% - 32px),720px); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:auto; border:0; border-color:transparent !important; border-radius:22px; background:transparent !important; box-shadow:0 28px 80px rgba(30,24,19,.32) !important; }
.app-label-dialog.moreos-dialog-v2::backdrop { background:rgba(29,28,24,.55) !important; backdrop-filter:blur(5px); }
.app-label-dialog[open] { animation:app-label-dialog-in .16s ease-out; }
.app-label-preview-card,
.app-label-queue-card,
.app-label-recipe-card { padding:20px; border:1px solid #d6cbbb; border-radius:22px; background:linear-gradient(180deg,#fffefb,#f7f3e9); }
.app-label-preview-card > header,
.app-label-queue-card > header,
.app-label-recipe-card > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.app-label-preview-card > header small,
.app-label-preview-card > header strong,
.app-label-queue-card > header small,
.app-label-queue-card > header strong { display:block; }
.app-label-preview-card > header small,
.app-label-queue-card > header small { color:var(--label-plum); font-size:11px; font-weight:950; letter-spacing:.8px; }
.app-label-preview-card > header strong,
.app-label-queue-card > header strong { margin-top:3px; font-size:22px; }
.app-label-preview-card > header > div:last-child,
.app-label-queue-card > header > div:last-child { display:flex; align-items:center; gap:8px; }
.app-label-preview-card > header > div:last-child > span { padding:6px 9px; border-radius:99px; color:#71665d; background:#ece6df; font-size:11px; font-weight:850; white-space:nowrap; }
.app-label-preview-card > header > div:last-child > span.is-ready { color:#4f6636; background:#e5eed9; }
.app-label-preview-card header button,
.app-label-queue-card header button { width:46px; min-width:46px; min-height:46px; padding:0; }

.app-label-recipe-card > header small,
.app-label-recipe-card > header strong { display:block; }
.app-label-recipe-card > header small { color:var(--label-plum); font-size:11px; font-weight:950; letter-spacing:.8px; }
.app-label-recipe-card > header strong { margin-top:3px; font-size:22px; }
.app-label-recipe-card > header button { display:grid; width:46px; min-width:46px; min-height:46px; place-items:center; padding:0; border:1px solid #d7cabb; border-radius:13px; color:#704f3b; background:#fff9f2; cursor:pointer; }
.app-label-recipe-card > header button svg { width:20px; height:20px; }
.app-label-recipe-summary { display:grid; min-width:0; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:12px; margin-top:16px; padding:12px; border:1px solid #dce5d0; border-radius:15px; background:#f3f7ed; }
.app-label-recipe-summary > span { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#71894f,#4f6a3a); }
.app-label-recipe-summary svg { width:25px; height:25px; }
.app-label-recipe-summary div { min-width:0; }
.app-label-recipe-summary strong,
.app-label-recipe-summary small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-label-recipe-summary strong { font-size:17px; }
.app-label-recipe-summary small { margin-top:3px; color:#716c63; font-size:12px; }
.app-label-recipe-loading { display:flex; min-height:108px; align-items:center; justify-content:center; gap:11px; margin:16px 0 0; padding:14px; border:1px solid #ddd3c8; border-radius:13px; color:#686159; background:#fffdf9; font-size:13px; }
.app-label-recipe-spinner { width:24px; height:24px; flex:0 0 auto; border:3px solid #d7c9b6; border-top-color:#697044; border-radius:50%; animation:app-label-spin .75s linear infinite; }
.app-label-recipe-loading[data-tone="error"] { border-color:#dfb6b0; color:#8e423d; background:#fff4f2; }
.app-label-recipe-body { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr); gap:14px; margin-top:14px; }
.app-label-recipe-body section { min-width:0; padding:14px; border:1px solid #dfd5ca; border-radius:15px; background:#fffdf9; }
.app-label-recipe-body h3 { margin:0 0 9px; color:#3d4934; font-size:13px; }
.app-label-recipe-ingredients p { max-height:285px; margin:0; overflow:auto; color:#3b3833; font-size:14px; line-height:1.6; overflow-wrap:anywhere; white-space:pre-wrap; }
.app-label-recipe-details dl { display:grid; gap:0; margin:0; }
.app-label-recipe-details dl > div { display:grid; grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr); gap:10px; padding:8px 0; border-top:1px solid #eee5dc; }
.app-label-recipe-details dl > div:first-child { padding-top:0; border-top:0; }
.app-label-recipe-details dt { color:#81776e; font-size:11px; font-weight:750; }
.app-label-recipe-details dd { margin:0; color:#35342f; font-size:12px; font-weight:800; overflow-wrap:anywhere; }
.app-label-recipe-warning { grid-column:1 / -1; border-color:#ead29e !important; background:#fff8e7 !important; }
.app-label-recipe-warning p { margin:0; color:#745b2f; font-size:12px; line-height:1.5; }
.app-label-recipe-source { display:flex; min-height:58px; grid-column:1 / -1; align-items:center; justify-content:space-between; gap:14px; padding:11px 14px; border:1px solid #aec596; border-radius:14px; color:#415b35; background:#eff6e8; }
.app-label-recipe-source strong,
.app-label-recipe-source small { display:block; }
.app-label-recipe-source strong { font-size:13px; }
.app-label-recipe-source small { margin-top:2px; color:#6c7b62; font-size:11px; }
.app-label-recipe-source svg { width:21px; height:21px; flex:0 0 auto; }

.app-mini-label { container-type:inline-size; position:relative; display:grid; width:100%; min-height:0; aspect-ratio:57 / 32; align-content:start; margin-top:16px; padding:clamp(14px,3.6cqw,22px); overflow:hidden; border:1px solid #bdb5a9; border-radius:6px; background:#fffef8; box-shadow:0 12px 30px rgba(61,52,39,.14); }
.app-mini-label::after { position:absolute; inset:6px; border:1px dashed rgba(48,57,48,.18); pointer-events:none; content:""; }
.app-mini-label > small { padding-bottom:clamp(6px,1.4cqw,9px); border-bottom:3px solid #35453a; color:#556255; font-size:clamp(9px,2.05cqw,13px); font-weight:950; letter-spacing:.9px; }
.app-mini-label > strong { margin-top:clamp(8px,2cqw,13px); overflow-wrap:anywhere; color:#26342b; font-size:clamp(32px,8.1cqw,51px); font-weight:950; line-height:.94; letter-spacing:-.045em; }
.app-mini-operational-label .app-mini-primary { display:grid; gap:3px; margin-top:clamp(9px,2.3cqw,15px); }
.app-mini-operational-label .app-mini-primary small,
.app-mini-operational-label .app-mini-secondary small { color:#596557; font-size:clamp(8px,1.7cqw,11px); font-weight:950; letter-spacing:.08em; }
.app-mini-operational-label .app-mini-primary b { color:#26342b; font-size:clamp(21px,5.3cqw,33px); font-weight:950; line-height:1; }
.app-mini-operational-label .app-mini-secondary { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:clamp(7px,1.7cqw,11px); padding-top:clamp(6px,1.4cqw,9px); border-top:2px solid #788956; }
.app-mini-operational-label .app-mini-secondary b { color:#26342b; font-size:clamp(12px,3cqw,19px); text-align:right; }
.app-mini-label > p { margin:clamp(6px,1.6cqw,10px) 0 0; padding:clamp(5px,1.3cqw,8px); border-left:4px solid var(--label-plum); color:#783b56; background:#f6e4ec; font-size:clamp(8px,1.8cqw,11px); font-weight:900; }
.app-mini-operational-label > footer { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:clamp(5px,1.3cqw,8px); color:#687166; font-size:clamp(8px,1.7cqw,11px); font-weight:850; }
.app-mini-operational-label > footer strong { color:#2d392f; font-size:clamp(11px,2.7cqw,17px); }
.app-mini-ingredients-label > strong { font-size:clamp(25px,5.8cqw,37px); }
.app-mini-ingredients-label > div { margin-top:clamp(7px,1.7cqw,11px); overflow:hidden; color:#313a32; font-size:clamp(10px,2.05cqw,13px); font-weight:720; line-height:1.35; }

#labelAppQueueList { display:grid; max-height:480px; gap:8px; margin-top:14px; padding-right:2px; overflow-y:auto; }
.app-label-job { display:flex; min-height:66px; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid #e0d5ca; border-radius:14px; background:#fffdf9; }
.app-label-job span { min-width:0; }
.app-label-job strong,
.app-label-job small { display:block; }
.app-label-job strong { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.app-label-job small { margin-top:4px; overflow:hidden; color:#797067; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.app-label-job > b { padding:6px 9px; border-radius:99px; color:#675d55; background:#ece7e1; font-size:11px; white-space:nowrap; }
.app-label-job > b[data-status="printed"] { color:#4e6437; background:#e5eed9; }
.app-label-job > b[data-status="failed"] { color:#913f3a; background:#f5deda; }
.app-label-job > b[data-status="printing"],
.app-label-job > b[data-status="claimed"] { color:#7f5b20; background:#f8e7c9; }
#labelAppEmpty { margin:18px 0 4px; color:#766c63; font-size:13px; text-align:center; }
.app-label-bridge-note { display:flex; align-items:center; gap:11px; margin-top:15px; padding:12px; border:1px solid #b9c9a8; border-radius:14px; color:#3f5431; background:#f2f7eb; }
.app-label-bridge-note svg { width:24px; height:24px; flex:0 0 auto; }
.app-label-bridge-note p { margin:0; }
.app-label-bridge-note strong,
.app-label-bridge-note span { display:block; }
.app-label-bridge-note strong { font-size:13px; }
.app-label-bridge-note span { margin-top:3px; color:#69745f; font-size:11px; }

.labels-app-view button:focus-visible,
.labels-app-view a:focus-visible,
.labels-app-view input:focus-visible,
.labels-app-view select:focus-visible,
.labels-app-view summary:focus-visible { outline:3px solid rgba(166,67,112,.28); outline-offset:2px; }

@media (min-width:1000px) and (max-width:1439px) {
  body:has(#etiketten:not([hidden])) .app-header { min-height:calc(86px + env(safe-area-inset-top)); padding:calc(6px + env(safe-area-inset-top)) 22px 6px; }
  body:has(#etiketten:not([hidden])) .mobile-brand { width:214px; height:72px; }
  body:has(#etiketten:not([hidden])) .app-main { min-height:calc(100dvh - 86px); margin-left:88px; padding:16px 18px 32px; }
  body:has(#etiketten:not([hidden])) .bottom-nav { top:calc(86px + env(safe-area-inset-top)); width:88px; padding:16px 9px max(16px,env(safe-area-inset-bottom)); }
  body:has(#etiketten:not([hidden])) .bottom-nav button { flex-direction:column; justify-content:center; gap:6px; padding:4px 1px; }
  body:has(#etiketten:not([hidden])) .bottom-nav span:last-child { font-size:9px; }
  body:has(#etiketten:not([hidden])) .toast { left:112px; }
  .labels-app-view .work-title-row h1 { font-size:31px; }
  .labels-app-view .work-title-row p:last-child { max-width:590px; font-size:13px; }
  .app-label-chain-status { max-width:270px; }
  .app-label-action-bar { position:static; }
}

@media (max-width:1120px) {
  .app-label-commandbar { gap:9px; }
  .app-label-metrics > span { min-width:62px; padding-inline:8px; }
  .app-label-command-actions button,
  .app-label-command-actions a { width:48px; padding:0; }
  .app-label-command-actions span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .app-label-command-actions b { position:absolute; top:-3px; right:-3px; }
  .app-label-workspace { grid-template-columns:minmax(300px,.78fr) minmax(470px,1.22fr); gap:12px; }
  .app-label-panel { padding:15px; }
  .app-label-action-bar { grid-template-columns:236px minmax(0,1fr); }
  .app-label-print-dock { grid-template-columns:1fr; }
  .app-label-print-dock > span { display:none; }
}

@media (max-width:840px) {
  .labels-app-view .work-page-header { align-items:stretch; flex-direction:column; }
  .app-label-chain-status { width:100%; max-width:none; }
  .app-label-commandbar { flex-wrap:wrap; }
  .app-label-flow { order:1; flex-basis:calc(100% - 130px); }
  .app-label-metrics { order:2; }
  .app-label-command-actions { order:3; width:100%; justify-content:flex-end; border-top:1px solid rgba(255,255,255,.12); padding-top:7px; }
  .app-label-command-actions button,
  .app-label-command-actions a { width:auto; padding-inline:13px; }
  .app-label-command-actions span { position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
  .app-label-command-actions b { position:static; }
  .app-label-workspace { grid-template-columns:1fr; }
  .app-label-products { max-height:470px; min-height:0; }
  .app-label-action-bar { position:static; }
}

@media (max-width:620px) {
  .labels-app-view,
  .app-label-workspace,
  .app-label-compose,
  .app-label-compose form,
  .app-label-fields,
  .app-label-more-options,
  .app-label-action-bar,
  .app-label-count-row,
  .app-label-print-dock,
  .app-label-submit { width:100%; min-width:0; max-width:100%; }
  .labels-app-view .work-title-row h1 { font-size:29px; }
  .labels-app-view .work-title-row p:last-child { font-size:14px; }
  .app-label-commandbar { display:grid; min-height:0; gap:10px; padding:12px; border-radius:22px; }
  .app-label-flow { display:grid; width:100%; flex-basis:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .app-label-flow > span { width:100%; min-height:46px; justify-content:center; gap:6px; padding:7px 6px; border-radius:14px; }
  .app-label-flow > span + span::before { display:none; }
  .app-label-flow b { font-size:11px; line-height:1; }
  .app-label-step-full { display:none; }
  .app-label-step-short { display:inline; }
  .app-label-flow i { width:30px; height:30px; border-radius:9px; }
  .app-label-metrics { display:none; }
  .app-label-command-actions { display:grid; width:100%; grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.95fr); gap:7px; justify-content:stretch; padding-top:10px; }
  .app-label-command-actions button,
  .app-label-command-actions a { width:100%; min-width:0; min-height:48px; gap:6px; padding-inline:6px; }
  .app-label-command-actions span { min-width:0; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  .app-label-action-full { display:none; }
  .app-label-action-short { display:inline; }
  .app-label-command-actions b { position:absolute; top:5px; right:5px; width:18px; min-width:18px; height:18px; font-size:9px; }
  .app-label-panel { padding:14px; border-radius:18px; }
  .app-label-panel-heading h2 { font-size:21px; }
  .app-label-panel-heading > button span { display:none; }
  .app-label-product { grid-template-columns:42px minmax(0,1fr); }
  .app-label-product > b { grid-column:2; justify-self:start; }
  .app-label-types { grid-auto-flow:column; grid-auto-columns:116px; grid-template-columns:none; padding-bottom:8px; scroll-snap-type:x proximity; }
  .app-label-types legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .app-label-types label { scroll-snap-align:start; }
  .app-label-fields { grid-template-columns:minmax(0,1fr); }
  .app-label-fields label,
  .app-label-fields input,
  .app-label-fields select { min-width:0; max-width:100%; }
  .app-label-safety-controls { grid-template-columns:1fr; }
  .app-label-action-bar { grid-template-columns:1fr; }
  .app-label-count-row { display:grid; grid-template-columns:minmax(62px,auto) minmax(0,1fr); }
  .app-label-count-row > div { width:100%; min-width:0; grid-template-columns:minmax(42px,1fr) 54px minmax(42px,1fr); margin-right:0; }
  .app-label-count-row button { width:100%; }
  .app-label-submit > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body:has(#etiketten:not([hidden])) .more-assistant-lazy-launch { right:14px; bottom:calc(88px + env(safe-area-inset-bottom)); width:54px; height:54px; }
  .app-label-dialog { width:min(calc(100% - 16px),720px); max-height:calc(100dvh - 16px); }
  .app-label-preview-card,
  .app-label-queue-card,
  .app-label-recipe-card { padding:14px; border-radius:18px; }
  .app-label-preview-card > header > div:last-child > span { display:none; }
  .app-label-recipe-body { grid-template-columns:minmax(0,1fr); }
  .app-label-recipe-warning,
  .app-label-recipe-source { grid-column:1; }
}

@media (prefers-reduced-motion:reduce) {
  .labels-app-view * { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

@keyframes app-label-spin { to { transform:rotate(360deg); } }
@keyframes app-label-pulse { 50% { opacity:.45; } }
@keyframes app-label-dialog-in { from { opacity:0; transform:translateY(8px) scale(.99); } }

/* iPad label studio v3 — product, settings and print stay visible together. */
.app-label-product-icon {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:13px;
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 5px 12px rgba(57,43,31,.11);
}
.app-label-product-icon svg { width:24px; height:24px; stroke-width:1.7; }
.app-label-product > .app-label-product-icon.is-amber { background:linear-gradient(145deg,#eba526,#c77713); }
.app-label-product > .app-label-product-icon.is-berry { background:linear-gradient(145deg,#bc668b,#8d3f68); }
.app-label-product > .app-label-product-icon.is-ocean { background:linear-gradient(145deg,#4d8995,#2c6471); }
.app-label-product > .app-label-product-icon.is-olive { background:linear-gradient(145deg,#858855,#61633b); }
.app-label-product > .app-label-product-icon.is-tomato { background:linear-gradient(145deg,#ca6553,#9e3d32); }
.app-label-product > .app-label-product-icon.is-copper { background:linear-gradient(145deg,#d9864f,#a95334); }
.app-label-product > .app-label-product-icon.is-green { background:linear-gradient(145deg,#789259,#506a3b); }
.app-label-product > .app-label-product-icon { font-size:0; }

.app-label-live-preview {
  display:grid;
  align-content:start;
  gap:14px;
  border-top-color:#7f9360;
  background:linear-gradient(180deg,#fffefa,#f5f6ee);
}
.app-label-inline-preview > strong {
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
  font-size:clamp(24px,5.4cqw,40px);
  line-height:.98;
}
.app-label-live-status { display:flex; min-height:45px; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:1px solid #d8d8c5; border-radius:12px; background:#f8f8f1; }
.app-label-live-status span { color:#766f66; font-size:11px; font-weight:800; }
.app-label-live-status strong { color:#6c7453; font-size:11px; }
.app-label-preview-stage { padding:10px; border:1px solid #ddd5c7; border-radius:16px; background:linear-gradient(145deg,#f3eee6,#fffdf7); }
.app-label-preview-stage .app-mini-label { margin-top:0; }
.app-label-live-actions { display:grid; gap:8px; }
.app-label-inline-submit,
.app-label-inline-preview-open { display:flex; width:100%; min-height:54px; align-items:center; justify-content:center; gap:9px; border-radius:13px; font-size:13px; font-weight:900; cursor:pointer; }
.app-label-inline-submit { border:1px solid #4c6a38; color:#fff; background:linear-gradient(135deg,#57783f,#355d36); box-shadow:0 9px 20px rgba(54,88,51,.18); }
.app-label-inline-submit:disabled { border-color:#c8c4bb; color:#8d8980; background:#e7e4dc; box-shadow:none; cursor:not-allowed; }
.app-label-inline-preview-open { border:1px solid #d8cbbb; color:#674a38; background:#fffaf3; }
.app-label-inline-submit svg,
.app-label-inline-preview-open svg { width:20px; height:20px; }

@media (min-width:700px) {
  body:has(#etiketten:not([hidden])) .app-header {
    min-height:calc(var(--app-ipad-header) + env(safe-area-inset-top));
    padding:calc(9px + env(safe-area-inset-top)) 26px 9px;
  }
  body:has(#etiketten:not([hidden])) .mobile-brand { width:250px; height:72px; }
  body:has(#etiketten:not([hidden])) .app-main {
    min-height:calc(100dvh - var(--app-ipad-header));
    margin-left:var(--app-sidebar-width);
    padding:20px 22px 38px;
  }
  body:has(#etiketten:not([hidden])) .bottom-nav {
    top:calc(var(--app-ipad-header) + env(safe-area-inset-top));
    width:var(--app-sidebar-width);
    padding:14px 14px max(18px,env(safe-area-inset-bottom));
  }
  body.app-sidebar-collapsed:has(#etiketten:not([hidden])) .bottom-nav { padding-inline:10px; }
  body:has(#etiketten:not([hidden])) .bottom-nav button { flex-direction:row; justify-content:flex-start; gap:14px; padding:0 16px; }
  body.app-sidebar-collapsed:has(#etiketten:not([hidden])) .bottom-nav button { justify-content:center; padding-inline:0; }
  body:has(#etiketten:not([hidden])) .bottom-nav span:last-child { font-size:13px; }
  body:has(#etiketten:not([hidden])) .toast { left:calc(var(--app-sidebar-width) + 28px); }

  .labels-app-view { width:min(100%,1530px); font-size:16px; }
  .labels-app-view .work-page-header { margin-bottom:13px; }
  .labels-app-view .work-title-row h1 { font-size:32px; }
  .labels-app-view .work-title-row p:last-child { max-width:690px; font-size:14px; }
  .app-label-chain-status { max-width:300px; }

  .app-label-commandbar {
    min-height:68px;
    gap:13px;
    margin-bottom:13px;
    padding:8px 10px 8px 13px;
    border-color:#ddd1c4;
    color:#3c3a34;
    background:#fffefd;
    box-shadow:0 9px 26px rgba(55,44,31,.06);
  }
  .app-label-flow > span { opacity:.62; }
  .app-label-flow > span + span::before { background:#d9cec1; }
  .app-label-flow i { border-color:#cfc3b6; color:#8e6d50; background:#f5f0e9; }
  .app-label-flow > span[data-state="current"] { color:#33432e; background:#edf3e6; }
  .app-label-flow > span[data-state="current"] i { color:#fff; border-color:#5d7545; background:#627d48; box-shadow:none; }
  .app-label-metrics > span { border-left-color:#e4d9cd; }
  .app-label-metrics strong { color:#775631; }
  .app-label-metrics small { color:#7d746c; }
  .app-label-command-actions button,
  .app-label-command-actions a { border-color:#ded3c7; color:#4b493f; background:#f8f5ef; }
  .app-label-command-actions button:hover,
  .app-label-command-actions a:hover { background:#f0f3ea; }

  .app-label-panel { padding:16px; border-radius:19px; background:#fffefd; box-shadow:0 9px 28px rgba(63,49,31,.055); }
  .app-label-catalog { background:linear-gradient(180deg,#fffefd,#fbf8f3); }
  .app-label-compose { border-top-color:#77915b; background:linear-gradient(180deg,#fffefd,#faf8f2); }
  .app-label-panel-heading h2 { font-size:22px; }
  .app-label-panel-heading > div > span { font-size:12px; }
  .app-label-products { max-height:calc(100dvh - 390px); min-height:360px; gap:7px; }
  .app-label-product { min-height:68px; padding-block:8px; }
  .app-label-product strong { font-size:15px; }
  .app-label-product small { font-size:12px; }
  .app-label-selected { margin-top:12px; }
  .app-label-compose form { gap:10px; margin-top:11px; }
  .app-label-types label > span { min-height:74px; }
  .app-label-fields { gap:9px; }
  .app-label-fields input, .app-label-fields select { height:48px; }
  .app-label-action-bar { position:static; grid-template-columns:210px minmax(0,1fr); }
  .app-label-count-row { min-height:68px; }
  .app-label-print-dock { min-height:68px; }
}

@media (min-width:1000px) {
  .app-label-workspace {
    grid-template-columns:minmax(240px,.78fr) minmax(380px,1.18fr) minmax(220px,.72fr);
    gap:12px;
  }
  .app-label-live-preview { position:sticky; top:calc(var(--app-ipad-header) + 14px); }
  .app-label-live-preview .app-label-panel-heading > div > span { max-width:30ch; }
  .app-label-live-preview .app-mini-label { aspect-ratio:auto; min-height:275px; }
}

@media (min-width:1240px) {
  body:has(#etiketten:not([hidden])) .app-main { padding-inline:28px; }
  .app-label-workspace { grid-template-columns:minmax(295px,.82fr) minmax(485px,1.25fr) minmax(280px,.8fr); gap:14px; }
  .app-label-live-preview .app-mini-label { min-height:310px; }
}

@media (min-width:700px) and (max-width:999px) {
  .app-label-workspace { grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); gap:12px; }
  .app-label-live-preview { grid-column:1 / -1; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); }
  .app-label-live-preview > header,
  .app-label-live-preview > .app-label-live-status,
  .app-label-live-preview > .app-label-live-actions { grid-column:1; }
  .app-label-live-preview > .app-label-preview-stage { grid-column:2; grid-row:1 / span 3; }
}

/* iPad label studio v4 — the white production desk is opt-in for a real iPad. */
.app-label-step-badge { display:none; }

@media (min-width:700px) {
  html.app-ipad-layout body:has(#etiketten:not([hidden])) .app-main {
    padding:16px 20px 36px;
  }

  html.app-ipad-layout .labels-app-view {
    width:min(100%,1540px);
    color:#2e2d29;
    font-size:16px;
  }

  html.app-ipad-layout .labels-app-view .work-page-header {
    min-height:0;
    justify-content:flex-end;
    margin:0 0 10px;
  }

  html.app-ipad-layout .labels-app-view .work-title-row { display:none; }

  html.app-ipad-layout .app-label-chain-status {
    min-height:42px;
    max-width:none;
    padding:6px 11px;
    border:1px solid #ded6cc;
    border-radius:13px;
    color:#4f5f43;
    background:#fffefd;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-chain-status b { font-size:11px; }
  html.app-ipad-layout .app-label-chain-status small { font-size:9px; }

  html.app-ipad-layout .app-label-commandbar {
    min-height:54px;
    gap:10px;
    margin:0 0 12px;
    padding:6px 8px 6px 13px;
    border:1px solid #e3dbd1;
    border-radius:16px;
    color:#4c4a44;
    background:#fffefd;
    box-shadow:0 7px 20px rgba(72,55,35,.035);
  }

  html.app-ipad-layout .app-label-flow { display:none; }
  html.app-ipad-layout .app-label-metrics { margin-right:auto; }
  html.app-ipad-layout .app-label-metrics > span { min-width:82px; border-left-color:#e7dfd6; }
  html.app-ipad-layout .app-label-metrics strong { color:#3f5637; font-size:17px; }
  html.app-ipad-layout .app-label-metrics small { font-size:9px; }

  html.app-ipad-layout .app-label-command-actions button,
  html.app-ipad-layout .app-label-command-actions a {
    min-height:40px;
    border-color:#ddd4ca;
    border-radius:11px;
    color:#4d5146;
    background:#f9f7f2;
  }

  html.app-ipad-layout .app-label-action-full { display:inline; }
  html.app-ipad-layout .app-label-action-short { display:none; }

  html.app-ipad-layout .app-label-workspace {
    grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
    align-items:start;
    gap:13px;
  }

  html.app-ipad-layout .app-label-panel {
    padding:15px;
    overflow:hidden;
    border:1px solid #e1d8ce;
    border-top-color:#d8cec2;
    border-radius:18px;
    background:#fffefd;
    box-shadow:0 8px 24px rgba(64,48,30,.045);
  }

  html.app-ipad-layout .app-label-catalog,
  html.app-ipad-layout .app-label-compose,
  html.app-ipad-layout .app-label-live-preview {
    background:#fffefd;
  }

  html.app-ipad-layout .app-label-panel-heading {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding-bottom:12px;
    border-bottom:1px solid #e8e0d7;
  }

  html.app-ipad-layout .app-label-step-badge {
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#597641;
    font-size:13px;
    font-weight:900;
  }

  html.app-ipad-layout .app-label-compose .app-label-step-badge { background:#b6683e; }
  html.app-ipad-layout .app-label-live-preview .app-label-step-badge { background:#597641; }
  html.app-ipad-layout .app-label-panel-heading .eyebrow { display:none; }
  html.app-ipad-layout .app-label-panel-heading h2 { font-size:18px; letter-spacing:-.22px; }
  html.app-ipad-layout .app-label-panel-heading > div > span {
    max-width:52ch;
    margin-top:3px;
    color:#7b756f;
    font-size:11px;
    line-height:1.35;
  }

  html.app-ipad-layout .app-label-panel-heading > button {
    min-width:40px;
    min-height:40px;
    border-color:#ded5cb;
    background:#faf8f3;
  }

  html.app-ipad-layout .app-label-panel-heading > button span { display:none; }

  html.app-ipad-layout .app-label-search {
    height:48px;
    margin-top:13px;
    border-color:#dbd2c8;
    border-radius:13px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-folder-wrap { margin-top:11px; }
  html.app-ipad-layout .app-label-folder-wrap > div:first-child strong { font-size:12px; }
  html.app-ipad-layout .app-label-folder-wrap > div:first-child span { font-size:10px; }
  html.app-ipad-layout .app-label-folders { gap:6px; margin-top:7px; padding-bottom:4px; }
  html.app-ipad-layout .app-label-folders button {
    min-width:auto;
    min-height:39px;
    padding:6px 11px;
    border-color:#e0d7cd;
    border-radius:10px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-folders button strong { font-size:11px; }
  html.app-ipad-layout .app-label-folders button small { display:none; }
  html.app-ipad-layout .app-label-folders button.is-active {
    border-color:#758d58;
    background:#f0f5e8;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-products {
    max-height:calc(100dvh - 354px);
    min-height:330px;
    gap:0;
    margin-top:6px;
    padding-right:0;
  }

  html.app-ipad-layout .app-label-product {
    min-height:66px;
    gap:10px;
    padding:8px 9px;
    border-width:0 0 1px;
    border-color:#e7dfd6;
    border-radius:0;
    background:#fffefd;
  }

  html.app-ipad-layout .app-label-product:hover { transform:none; }
  html.app-ipad-layout .app-label-product.is-active {
    border-color:#dce3d2;
    border-radius:11px;
    background:#f2f6eb;
    box-shadow:inset 4px 0 #627b46;
  }

  html.app-ipad-layout .app-label-product-icon {
    width:42px;
    height:42px;
    border-radius:11px;
  }

  html.app-ipad-layout .app-label-product strong { font-size:14px; }
  html.app-ipad-layout .app-label-product small { font-size:11px; }
  html.app-ipad-layout .app-label-product > b { display:none; }

  html.app-ipad-layout .app-label-selected {
    min-height:58px;
    margin-top:12px;
    padding:7px 9px;
    border-color:#ded5ca;
    border-radius:13px;
    background:#faf8f4;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-selected > span { width:40px; height:40px; border-radius:10px; }
  html.app-ipad-layout .app-label-selected strong { font-size:14px; }
  html.app-ipad-layout .app-label-selected small { font-size:10px; }
  html.app-ipad-layout .app-label-compose form { gap:9px; margin-top:10px; }

  html.app-ipad-layout .app-label-types {
    gap:7px;
    padding:0;
    overflow:visible;
  }

  html.app-ipad-layout .app-label-types legend {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }

  html.app-ipad-layout .app-label-types label > span {
    min-height:76px;
    padding:7px 4px;
    border-color:#ded5ca;
    border-radius:12px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-types b { font-size:11px; }
  html.app-ipad-layout .app-label-types small { font-size:9px; }
  html.app-ipad-layout .app-label-types input:checked + span {
    border-color:#55743d;
    background:#f0f5e9;
    box-shadow:inset 0 0 0 1px #55743d;
  }

  html.app-ipad-layout .app-label-fields { gap:8px; }
  html.app-ipad-layout .app-label-fields label { gap:4px; font-size:11px; }
  html.app-ipad-layout .app-label-fields input,
  html.app-ipad-layout .app-label-fields select {
    height:44px;
    border-color:#dcd2c7;
    border-radius:11px;
    background:#fff;
    font-size:13px;
  }

  html.app-ipad-layout .app-label-more-options {
    border-color:#e0d7cd;
    border-radius:13px;
    background:#faf8f4;
  }

  html.app-ipad-layout .app-label-more-options > summary { min-height:43px; padding:7px 10px; }
  html.app-ipad-layout .app-label-more-options > summary strong { font-size:11px; }
  html.app-ipad-layout .app-label-more-options > summary small { font-size:9px; }
  html.app-ipad-layout .app-label-more-options > .app-label-fields { padding:9px; }

  html.app-ipad-layout .app-label-action-bar {
    position:static;
    grid-template-columns:172px minmax(0,1fr);
    gap:8px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }

  html.app-ipad-layout .app-label-count-row {
    min-height:61px;
    padding:6px 8px;
    border-color:#ded5ca;
    border-radius:12px;
    background:#faf8f4;
  }

  html.app-ipad-layout .app-label-count-row button,
  html.app-ipad-layout .app-label-count-row output { height:41px; }

  html.app-ipad-layout .app-label-print-dock {
    min-height:61px;
    grid-template-columns:minmax(86px,.7fr) minmax(190px,1.3fr);
    gap:9px;
    padding:7px 8px 7px 11px;
    border-radius:12px;
    background:#435b31;
  }

  html.app-ipad-layout .app-label-submit { min-height:47px; border-radius:10px; }

  html.app-ipad-layout .app-label-live-preview {
    grid-column:1 / -1;
    grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
    align-items:start;
    gap:11px 16px;
  }

  html.app-ipad-layout .app-label-live-preview > header,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-status,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-actions { grid-column:1; }
  html.app-ipad-layout .app-label-live-preview > .app-label-preview-stage { grid-column:2; grid-row:1 / span 3; }
  html.app-ipad-layout .app-label-live-status { border-color:#e0d8ce; background:#faf8f4; }
  html.app-ipad-layout .app-label-preview-stage { border-color:#ded5cb; background:#f5f1ea; }
  html.app-ipad-layout .app-label-live-actions { grid-template-columns:1fr 1fr; }
}

@media (min-width:1180px) {
  html.app-ipad-layout body:has(#etiketten:not([hidden])) .app-main { padding-inline:22px; }

  html.app-ipad-layout .app-label-workspace {
    grid-template-columns:minmax(270px,.78fr) minmax(470px,1.34fr) minmax(275px,.78fr);
    gap:13px;
  }

  html.app-ipad-layout .app-label-live-preview {
    position:sticky;
    top:calc(var(--app-ipad-header) + 12px);
    grid-column:auto;
    grid-template-columns:1fr;
  }

  html.app-ipad-layout .app-label-live-preview > header,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-status,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-actions,
  html.app-ipad-layout .app-label-live-preview > .app-label-preview-stage {
    grid-column:1;
    grid-row:auto;
  }

  html.app-ipad-layout .app-label-live-preview .app-mini-label { min-height:270px; }
  html.app-ipad-layout .app-label-live-actions { grid-template-columns:1fr; }
}

@media (min-width:700px) and (max-width:979px) {
  html.app-ipad-layout .app-label-command-actions span { font-size:10px; }
  html.app-ipad-layout .app-label-action-full { display:none; }
  html.app-ipad-layout .app-label-action-short { display:inline; }
  html.app-ipad-layout .app-label-action-bar { grid-template-columns:1fr; }
  html.app-ipad-layout .app-label-print-dock { grid-template-columns:1fr; }
  html.app-ipad-layout .app-label-print-dock > span { display:none; }
}

/* iPad label studio v5 — one white production desk matching the iPad reference. */
@media (min-width:700px) {
  html.app-ipad-layout body:has(#etiketten:not([hidden])) .app-main {
    padding:18px 20px 32px;
  }

  html.app-ipad-layout .labels-app-view {
    width:min(100%,1600px);
  }

  html.app-ipad-layout .labels-app-view > .work-page-header,
  html.app-ipad-layout .labels-app-view > .app-label-commandbar {
    display:none;
  }

  html.app-ipad-layout .labels-app-view > .app-label-message {
    margin:0 0 10px;
  }

  html.app-ipad-layout .app-label-workspace {
    display:grid;
    grid-template-columns:minmax(285px,.86fr) minmax(420px,1.14fr);
    min-height:calc(100dvh - var(--app-ipad-header,96px) - 48px);
    align-items:stretch;
    gap:0;
    overflow:hidden;
    border:1px solid #ded5ca;
    border-radius:18px;
    background:#fffefd;
    box-shadow:0 12px 34px rgba(67,50,31,.065);
  }

  html.app-ipad-layout .app-label-panel {
    min-width:0;
    padding:20px;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:#fffefd;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-catalog {
    display:grid;
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    border-right:1px solid #e5ddd4;
  }

  html.app-ipad-layout .app-label-compose {
    border-top:0;
  }

  html.app-ipad-layout .app-label-panel-heading {
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:11px;
    min-height:48px;
    padding:0 0 14px;
    border-bottom:0;
  }

  html.app-ipad-layout .app-label-step-badge {
    width:34px;
    height:34px;
    border-radius:50%;
    color:#fff;
    background:#5d7b43;
    font-size:12px;
    box-shadow:0 4px 10px rgba(77,101,57,.14);
  }

  html.app-ipad-layout .app-label-compose .app-label-step-badge {
    background:#bd7048;
    box-shadow:0 4px 10px rgba(155,84,51,.13);
  }

  html.app-ipad-layout .app-label-live-preview .app-label-step-badge {
    background:#5d7b43;
  }

  html.app-ipad-layout .app-label-panel-heading h2 {
    color:#292824;
    font-size:20px;
    line-height:1.08;
    letter-spacing:-.35px;
  }

  html.app-ipad-layout .app-label-panel-heading > div > span {
    max-width:48ch;
    margin-top:5px;
    color:#807870;
    font-size:11.5px;
    line-height:1.35;
  }

  html.app-ipad-layout .app-label-panel-heading > button {
    width:40px;
    min-width:40px;
    min-height:40px;
    padding:0;
    border-color:#ddd3c8;
    border-radius:12px;
    color:#6c594b;
    background:#fbf8f3;
  }

  html.app-ipad-layout .app-label-search {
    height:50px;
    min-height:50px;
    margin-top:4px;
    padding:0 12px;
    border:1px solid #dcd2c8;
    border-radius:13px;
    color:#675a50;
    background:#fff;
  }

  html.app-ipad-layout .app-label-search input {
    height:48px;
    font-size:13px;
  }

  html.app-ipad-layout .app-label-search span {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }

  html.app-ipad-layout .app-label-folder-wrap {
    margin-top:12px;
  }

  html.app-ipad-layout .app-label-folder-wrap > div:first-child strong {
    font-size:12px;
  }

  html.app-ipad-layout .app-label-folder-wrap > div:first-child span {
    font-size:10px;
  }

  html.app-ipad-layout .app-label-folders {
    gap:7px;
    margin-top:7px;
    padding-bottom:4px;
  }

  html.app-ipad-layout .app-label-folders button {
    min-height:42px;
    padding:7px 11px;
    border-color:#ded4ca;
    border-radius:11px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-folders button strong {
    font-size:11px;
  }

  html.app-ipad-layout .app-label-products {
    max-height:none;
    min-height:0;
    gap:8px;
    margin-top:8px;
    padding:0 3px 2px 0;
  }

  html.app-ipad-layout .app-label-product {
    min-height:66px;
    grid-template-columns:42px minmax(0,1fr) 34px;
    gap:10px;
    padding:8px 10px;
    border:1px solid #e3dad1;
    border-radius:13px;
    background:#fff;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-product:hover {
    border-color:#bdc9ad;
    background:#fbfdf8;
    transform:none;
  }

  html.app-ipad-layout .app-label-product.is-active {
    border-color:#7c955c;
    border-radius:13px;
    background:#f1f6ea;
    box-shadow:inset 4px 0 #638047;
  }

  html.app-ipad-layout .app-label-product-icon {
    width:42px;
    height:42px;
    border-radius:11px;
  }

  html.app-ipad-layout .app-label-product strong {
    font-size:13.5px;
  }

  html.app-ipad-layout .app-label-product small {
    margin-top:2px;
    font-size:10.5px;
  }

  html.app-ipad-layout .app-label-product > b {
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    justify-self:end;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    font-size:0;
  }

  html.app-ipad-layout .app-label-product > b.needs-review::after {
    color:#67645d;
    font-size:25px;
    font-weight:400;
    line-height:1;
    content:"☆";
  }

  html.app-ipad-layout .app-label-product > b.is-ready {
    color:#fff;
    background:#678049;
  }

  html.app-ipad-layout .app-label-product > b.is-ready::after {
    font-size:16px;
    line-height:1;
    content:"✓";
  }

  html.app-ipad-layout .app-label-selected {
    min-height:60px;
    margin-top:4px;
    padding:8px 10px;
    border-color:#ded5cb;
    border-radius:13px;
    background:#faf8f4;
  }

  html.app-ipad-layout .app-label-selected > span {
    width:42px;
    height:42px;
    border-radius:11px;
  }

  html.app-ipad-layout .app-label-selected strong {
    font-size:13.5px;
  }

  html.app-ipad-layout .app-label-selected small {
    font-size:10.5px;
  }

  html.app-ipad-layout .app-label-compose form {
    gap:10px;
    margin-top:10px;
  }

  html.app-ipad-layout .app-label-types {
    gap:7px;
  }

  html.app-ipad-layout .app-label-types label > span {
    min-height:82px;
    padding:8px 4px;
    border-color:#ddd3c8;
    border-radius:13px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-types svg {
    width:23px;
    height:23px;
  }

  html.app-ipad-layout .app-label-types b {
    font-size:11.5px;
  }

  html.app-ipad-layout .app-label-types small {
    font-size:9px;
  }

  html.app-ipad-layout .app-label-fields {
    gap:9px;
  }

  html.app-ipad-layout .app-label-fields label {
    gap:5px;
    font-size:11px;
  }

  html.app-ipad-layout .app-label-fields input,
  html.app-ipad-layout .app-label-fields select {
    height:46px;
    padding-inline:11px;
    border-color:#ddd3c8;
    border-radius:11px;
    background:#fff;
    font-size:12.5px;
  }

  html.app-ipad-layout .app-label-more-options {
    border-color:#e0d7ce;
    border-radius:12px;
    background:#fbf9f5;
  }

  html.app-ipad-layout .app-label-more-options > summary {
    min-height:42px;
    padding:7px 10px;
  }

  html.app-ipad-layout .app-label-more-options > .app-label-fields {
    padding:9px;
  }

  html.app-ipad-layout .app-label-action-bar {
    position:static;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-count-row {
    min-height:65px;
    padding:7px 9px;
    border-color:#ded5ca;
    border-radius:12px;
    background:#faf8f4;
  }

  html.app-ipad-layout .app-label-count-row button,
  html.app-ipad-layout .app-label-count-row output {
    height:42px;
  }

  html.app-ipad-layout .app-label-print-dock {
    display:none;
  }

  html.app-ipad-layout .app-label-submit {
    min-height:49px;
    border-radius:10px;
    font-size:13px;
  }

  html.app-ipad-layout .app-label-live-preview {
    grid-column:1 / -1;
    grid-template-columns:minmax(0,1fr) minmax(290px,.78fr);
    align-items:start;
    gap:10px 18px;
    border-top:1px solid #e5ddd4;
    background:#fcfaf6;
  }

  html.app-ipad-layout .app-label-live-preview > header,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-status,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-actions {
    grid-column:1;
  }

  html.app-ipad-layout .app-label-live-preview > .app-label-preview-stage {
    grid-column:2;
    grid-row:1 / span 3;
  }

  html.app-ipad-layout .app-label-live-status {
    border-color:#e0d8ce;
    background:#f8f6f1;
  }

  html.app-ipad-layout .app-label-preview-stage {
    padding:10px;
    border-color:#ded6cc;
    border-radius:14px;
    background:#f3efe8;
  }

  html.app-ipad-layout .app-label-live-actions {
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  html.app-ipad-layout .app-label-inline-submit,
  html.app-ipad-layout .app-label-inline-preview-open {
    min-height:49px;
    border-radius:11px;
    font-size:12px;
  }
}

@media (min-width:1180px) {
  html.app-ipad-layout body:has(#etiketten:not([hidden])) .app-main {
    padding-inline:22px;
  }

  html.app-ipad-layout .app-label-workspace {
    grid-template-columns:minmax(305px,.9fr) minmax(445px,1.18fr) minmax(295px,.82fr);
  }

  html.app-ipad-layout .app-label-catalog,
  html.app-ipad-layout .app-label-compose {
    border-right:1px solid #e5ddd4;
  }

  html.app-ipad-layout .app-label-live-preview {
    position:static;
    grid-column:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    align-self:stretch;
    gap:10px;
    border-top:0;
  }

  html.app-ipad-layout .app-label-live-preview > header,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-status,
  html.app-ipad-layout .app-label-live-preview > .app-label-preview-stage,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-actions {
    grid-column:1;
    grid-row:auto;
  }

  html.app-ipad-layout .app-label-live-preview .app-mini-label {
    min-height:300px;
  }

  html.app-ipad-layout .app-label-live-preview > .app-label-preview-stage {
    display:grid;
    align-items:start;
  }

  html.app-ipad-layout .app-label-live-actions {
    grid-template-columns:1fr;
  }
}

@media (min-width:700px) and (max-width:979px) {
  html.app-ipad-layout .app-label-workspace {
    grid-template-columns:1fr;
  }

  html.app-ipad-layout .app-label-panel {
    padding:16px;
  }

  html.app-ipad-layout .app-label-catalog,
  html.app-ipad-layout .app-label-compose {
    border-right:0;
    border-bottom:1px solid #e5ddd4;
  }

  html.app-ipad-layout .app-label-products {
    max-height:440px;
  }

  html.app-ipad-layout .app-label-action-bar {
    grid-template-columns:1fr;
  }

  html.app-ipad-layout .app-label-print-dock {
    grid-template-columns:1fr;
  }

  html.app-ipad-layout .app-label-print-dock > span {
    display:none;
  }

  html.app-ipad-layout .app-label-live-preview {
    grid-template-columns:1fr;
  }

  html.app-ipad-layout .app-label-live-preview > header,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-status,
  html.app-ipad-layout .app-label-live-preview > .app-label-preview-stage,
  html.app-ipad-layout .app-label-live-preview > .app-label-live-actions {
    grid-column:1;
    grid-row:auto;
  }
}

.app-label-compose-body,
.app-label-form-column {
  min-width:0;
}

.app-label-new-product {
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:10px;
  border:1px solid #67814d;
  border-radius:12px;
  color:#4d6939;
  background:#fff;
  font-weight:800;
  text-decoration:none;
}

.app-label-new-product span {
  font-size:22px;
  font-weight:400;
  line-height:1;
}

@media (min-width:700px) {
  html.app-ipad-layout body:has(#etiketten:not([hidden])) .app-main {
    padding:14px 18px 24px;
  }

  html.app-ipad-layout body:has(#etiketten:not([hidden])) .more-assistant-lazy-launch {
    display:none !important;
  }

  html.app-ipad-layout .labels-app-view {
    width:min(100%,1380px);
    max-width:1380px;
  }

  html.app-ipad-layout .labels-app-view > .work-page-header,
  html.app-ipad-layout .labels-app-view > .app-label-commandbar {
    display:none !important;
  }

  html.app-ipad-layout .labels-app-view > .app-label-message {
    margin:0 0 9px;
  }

  html.app-ipad-layout .app-label-workspace {
    display:grid !important;
    grid-template-columns:minmax(320px,.84fr) minmax(0,1.56fr) !important;
    min-height:calc(100dvh - var(--app-ipad-header,96px) - 38px);
    max-height:calc(100dvh - var(--app-ipad-header,96px) - 38px);
    align-items:stretch;
    gap:0 !important;
    overflow:hidden;
    border:1px solid #ded5ca;
    border-radius:18px;
    background:#fffefd;
    box-shadow:0 14px 38px rgba(67,50,31,.07);
  }

  html.app-ipad-layout .app-label-panel {
    min-width:0;
    padding:18px 20px;
    overflow:hidden;
    border:0 !important;
    border-radius:0 !important;
    background:#fffefd !important;
    box-shadow:none !important;
  }

  html.app-ipad-layout .app-label-catalog {
    display:grid;
    grid-template-rows:auto auto auto minmax(0,1fr) auto auto;
    border-right:1px solid #e6ddd3 !important;
  }

  html.app-ipad-layout .app-label-compose {
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    padding-left:22px;
  }

  html.app-ipad-layout .app-label-panel-heading {
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    align-items:start;
    gap:10px;
    min-height:42px;
    padding:0 0 12px;
    border:0;
  }

  html.app-ipad-layout .app-label-panel-heading .eyebrow,
  html.app-ipad-layout .app-label-panel-heading > div > span {
    display:none;
  }

  html.app-ipad-layout .app-label-step-badge {
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#5d7b43;
    font-size:11px;
    font-weight:900;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-compose .app-label-step-badge {
    background:#5d7b43;
  }

  html.app-ipad-layout .app-label-panel-heading h2 {
    margin:2px 0 0;
    color:#292824;
    font-size:17px;
    line-height:1.15;
    letter-spacing:-.25px;
  }

  html.app-ipad-layout .app-label-panel-heading > button {
    display:grid;
    width:38px;
    min-width:38px;
    min-height:38px;
    place-items:center;
    padding:0;
    border:1px solid #ded4c9;
    border-radius:12px;
    color:#6b594c;
    background:#fff;
  }

  html.app-ipad-layout .app-label-panel-heading > button span {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }

  html.app-ipad-layout .app-label-search {
    height:48px;
    min-height:48px;
    margin:2px 0 0;
    padding:0 12px;
    border:1px solid #dcd2c7;
    border-radius:12px;
    color:#665b51;
    background:#fff;
  }

  html.app-ipad-layout .app-label-search-row {
    display:grid;
    min-width:0;
    grid-template-columns:minmax(0,1fr) 48px;
    align-items:center;
    gap:8px;
  }

  html.app-ipad-layout .app-label-refresh {
    display:grid;
    position:relative;
    width:48px;
    min-width:48px;
    height:48px;
    place-items:center;
    padding:0;
    border:1px solid #dcd2c7;
    border-radius:12px;
    color:#55723f;
    background:#fff;
  }

  html.app-ipad-layout .app-label-refresh:hover {
    border-color:#9bab86;
    background:#f3f7ed;
  }

  html.app-ipad-layout .app-label-refresh svg {
    width:21px;
    height:21px;
  }

  html.app-ipad-layout .app-label-refresh span {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }

  html.app-ipad-layout .app-label-search input {
    height:46px;
    font-size:13px;
  }

  html.app-ipad-layout .app-label-search > span {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }

  html.app-ipad-layout .app-label-folder-wrap {
    min-width:0;
    margin-top:10px;
  }

  html.app-ipad-layout .app-label-folder-wrap > div:first-child {
    display:none;
  }

  html.app-ipad-layout .app-label-folders {
    display:flex;
    max-width:100%;
    gap:5px;
    margin:0;
    padding:0 0 4px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  html.app-ipad-layout .app-label-folders::-webkit-scrollbar {
    display:none;
  }

  html.app-ipad-layout .app-label-folders button {
    width:auto;
    min-width:max-content;
    min-height:34px;
    padding:5px 9px;
    border:1px solid #e1d8ce;
    border-radius:10px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-folders button strong {
    font-size:10px;
  }

  html.app-ipad-layout .app-label-folders button small {
    display:none;
  }

  html.app-ipad-layout .app-label-products {
    min-height:0;
    max-height:none;
    gap:7px;
    margin-top:6px;
    padding:0 4px 2px 0;
    overflow:auto;
  }

  html.app-ipad-layout .app-label-product {
    min-height:58px;
    grid-template-columns:40px minmax(0,1fr) 30px;
    gap:10px;
    padding:7px 9px;
    border:1px solid #e4dbd2;
    border-radius:12px;
    background:#fff;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-product:hover {
    border-color:#bdc9ad;
    background:#fbfdf8;
    transform:none;
  }

  html.app-ipad-layout .app-label-product.is-active {
    border-color:#729052;
    background:#f1f6ea;
    box-shadow:inset 4px 0 #638047;
  }

  html.app-ipad-layout .app-label-product-icon {
    width:40px;
    height:40px;
    border-radius:10px;
  }

  html.app-ipad-layout .app-label-product strong {
    font-size:13px;
  }

  html.app-ipad-layout .app-label-product small {
    margin-top:1px;
    font-size:10px;
  }

  html.app-ipad-layout .app-label-product > b {
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    justify-self:end;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    font-size:0;
  }

  html.app-ipad-layout .app-label-product > b.needs-review::after {
    color:#67645d;
    font-size:23px;
    font-weight:400;
    line-height:1;
    content:"☆";
  }

  html.app-ipad-layout .app-label-product > b.is-ready {
    color:#fff;
    background:#678049;
  }

  html.app-ipad-layout .app-label-product > b.is-ready::after {
    font-size:15px;
    line-height:1;
    content:"✓";
  }

  html.app-ipad-layout .app-label-more {
    min-height:40px;
    margin-top:7px;
  }

  html.app-ipad-layout .app-label-new-product {
    min-height:42px;
    margin-top:8px;
    border-radius:11px;
    font-size:12px;
  }

  html.app-ipad-layout .app-label-selected {
    display:none !important;
  }

  html.app-ipad-layout .app-label-compose form {
    display:grid;
    min-height:0;
    grid-template-rows:auto minmax(0,1fr);
    gap:11px;
    margin:0;
    overflow:hidden;
  }

  html.app-ipad-layout .app-label-types {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin:0;
    overflow:visible;
  }

  html.app-ipad-layout .app-label-types legend {
    display:none;
  }

  html.app-ipad-layout .app-label-types label > span {
    min-height:83px;
    padding:8px 4px;
    border:1px solid #ddd3c8;
    border-radius:13px;
    background:#fff;
  }

  html.app-ipad-layout .app-label-types svg {
    width:22px;
    height:22px;
  }

  html.app-ipad-layout .app-label-types b {
    font-size:11px;
  }

  html.app-ipad-layout .app-label-types small {
    font-size:8.5px;
  }

  html.app-ipad-layout .app-label-compose-body {
    display:grid;
    min-height:0;
    grid-template-columns:minmax(330px,1.08fr) minmax(250px,.92fr);
    gap:0;
    overflow:hidden;
    border-top:1px solid #e8dfd4;
  }

  html.app-ipad-layout .app-label-form-column {
    display:grid;
    min-height:0;
    grid-template-rows:auto auto auto auto;
    align-content:start;
    gap:9px;
    padding:13px 16px 0 0;
    overflow:auto;
  }

  html.app-ipad-layout .app-label-fields {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 10px;
  }

  html.app-ipad-layout .app-label-fields label {
    gap:5px;
    font-size:10.5px;
  }

  html.app-ipad-layout .app-label-fields input,
  html.app-ipad-layout .app-label-fields select {
    height:45px;
    padding-inline:11px;
    border:1px solid #ddd3c8;
    border-radius:11px;
    background:#fff;
    font-size:12px;
  }

  html.app-ipad-layout .app-label-more-options {
    border:0;
    border-radius:0;
    background:transparent;
  }

  html.app-ipad-layout .app-label-more-options > summary {
    display:none;
  }

  html.app-ipad-layout .app-label-more-options > .app-label-fields {
    padding:0;
  }

  html.app-ipad-layout .app-label-action-bar {
    position:static;
    display:block;
    margin-top:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  html.app-ipad-layout .app-label-count-row {
    min-height:60px;
    padding:7px 9px;
    border:1px solid #ded5ca;
    border-radius:12px;
    background:#faf8f4;
  }

  html.app-ipad-layout .app-label-count-row button,
  html.app-ipad-layout .app-label-count-row output {
    height:40px;
  }

  html.app-ipad-layout .app-label-print-dock {
    display:none !important;
  }

  html.app-ipad-layout .app-label-live-preview {
    position:static !important;
    display:grid !important;
    min-width:0;
    min-height:0;
    grid-column:auto !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto minmax(0,1fr) auto !important;
    align-self:stretch;
    gap:9px !important;
    padding:13px 0 0 16px !important;
    overflow:hidden;
    border:0 !important;
    border-left:1px solid #e8dfd4 !important;
    background:#fbf8f3 !important;
  }

  html.app-ipad-layout .app-label-live-preview > * {
    grid-column:1 !important;
    grid-row:auto !important;
  }

  html.app-ipad-layout .app-label-live-preview .app-label-panel-heading {
    padding:0;
  }

  html.app-ipad-layout .app-label-live-preview .app-label-panel-heading > div > span {
    display:block;
    margin-top:3px;
    color:#807870;
    font-size:10px;
  }

  html.app-ipad-layout .app-label-live-status {
    min-height:38px;
    padding:7px 9px;
    border:1px solid #e0d8ce;
    border-radius:10px;
    background:#f8f6f1;
    font-size:9.5px;
  }

  html.app-ipad-layout .app-label-preview-stage {
    display:grid;
    min-height:0;
    align-items:start;
    padding:9px;
    overflow:auto;
    border:1px solid #ded6cc;
    border-radius:13px;
    background:#f3efe8;
  }

  html.app-ipad-layout .app-label-live-preview .app-mini-label {
    width:100%;
    min-height:245px;
    aspect-ratio:auto;
  }

  html.app-ipad-layout .app-label-live-actions {
    display:grid;
    grid-template-columns:1fr !important;
    gap:7px;
  }

  html.app-ipad-layout .app-label-inline-submit,
  html.app-ipad-layout .app-label-inline-preview-open {
    min-height:44px;
    border-radius:10px;
    font-size:11px;
  }
}

@media (min-width:700px) and (max-width:899px) {
  html.app-ipad-layout .app-label-workspace {
    grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr) !important;
  }

  html.app-ipad-layout .app-label-compose-body {
    grid-template-columns:1fr;
    overflow:auto;
  }

  html.app-ipad-layout .app-label-form-column {
    overflow:visible;
  }

  html.app-ipad-layout .app-label-live-preview {
    min-height:360px;
    padding:14px 0 0 !important;
    border-left:0 !important;
    border-top:1px solid #e8dfd4 !important;
  }
}
