/* Label-sheet workspace: presentation only. Print geometry and PDF output belong to print.js / pdf.js. */
.label-entry { display:flex;align-items:center;gap:13px;width:100%;min-height:70px;margin:5px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--paper);text-align:left;cursor:pointer; }
.label-entry > .ui-icon:first-child { width:34px;height:34px;padding:6px;background:var(--orange-soft);color:var(--orange-text);border-radius:8px; }
.label-entry > .ui-icon:last-child { margin-left:auto;width:18px; }
.label-entry b { display:block;font-size:14px; }
.label-entry small { display:block;margin-top:2px;font-size:11px;color:var(--muted); }
.label-entry:hover { border-color:var(--accent);background:var(--orange-soft); }
/* Paid entries stay readable and clearly actionable for the explainer toast. */
.label-entry.is-paid { border-style:dashed;background:var(--panel); }
.label-entry.is-paid:hover { border-color:var(--orange-text);background:var(--orange-soft); }
.label-entry.is-paid > .ui-icon:last-child { display:none; }
.label-entry.is-paid::after { content:"Plus";display:grid;place-items:center;min-width:48px;min-height:26px;margin-left:auto;padding:0 8px;border:1px solid var(--orange-text);border-radius:999px;background:var(--orange-soft);color:var(--orange-text);font-size:10px;font-weight:700;letter-spacing:.02em; }
body.label-maker-open { overflow:hidden; }
.label-maker { width:min(1160px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #10181040;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth; }
.label-maker[open] { display:flex;flex-direction:column;height:calc(100dvh - 48px);overflow:hidden; }
.label-maker::backdrop { background:#17201cb3;backdrop-filter:blur(5px); }
.label-maker [hidden] { display:none!important; }
.label-maker-header { flex:none;padding:22px 30px 23px;border-bottom:1px solid var(--line); }
.label-topline { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px; }
.label-back { display:flex;align-items:center;gap:8px;min-height:32px;padding:0;border:0;background:none;color:var(--muted);font-size:12px;cursor:pointer; }
.label-back:hover { color:var(--orange-text); }
.label-back .ui-icon { width:16px;height:16px;transform:rotate(180deg); }
.label-workshop-mark { display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--muted); }
.label-workshop-mark .ui-icon { width:13px;height:13px;color:var(--orange-text); }
.label-title-row { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.label-maker #label-maker-h { margin:0;font-size:32px;line-height:1.15;letter-spacing:-1px; }
.label-maker #label-maker-h:focus,.label-preview:focus { outline:none; }
.label-title-row p { margin:8px 0 0;font-size:13px;color:var(--muted); }
.label-maker-body { display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.82fr);align-items:stretch;min-height:0;overflow:hidden;flex:1;scroll-behavior:smooth; }
.label-settings { min-width:0;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:24px 28px;background:var(--panel); }
.label-section { min-width:0;margin:0 0 24px;padding:0 0 24px;border:0;border-bottom:1px solid var(--line); }
.label-section:last-child { padding-bottom:0;margin-bottom:0;border-bottom:0; }
.label-section legend { display:flex;align-items:center;gap:9px;width:100%;margin:0 0 15px;padding:0;font-size:16px;font-weight:700;letter-spacing:-.2px; }
.label-step { display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;font-size:11px;font-weight:500;color:var(--orange-text); }
.label-paper-choices,.label-fill-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.label-choice { display:flex;align-items:center;gap:9px;min-width:0;min-height:61px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);cursor:pointer; }
.label-choice:has(input:checked) { background:var(--orange-soft);border-color:var(--accent); }
.label-choice input { width:15px;height:15px;min-width:15px;margin:0;accent-color:var(--orange-text); }
.label-choice b { display:block;font-size:13px;font-weight:700; }
.label-choice small { display:block;margin-top:2px;font-size:10px;line-height:1.35;color:var(--muted); }
.label-paper-icon { width:20px;height:28px;margin-left:auto;flex:none;border:1px solid var(--muted);border-radius:2px;background:var(--panel); }
.label-paper-icon.letter { width:21px;height:27px; }
.label-field { min-width:0;margin-top:13px; }
.label-field label,.label-start-row label { display:block;font-size:12px;font-weight:700;margin:0 0 7px; }
.label-field input,.label-field select,.label-start-row input { width:100%;min-height:44px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-size:13px; }
.label-field select { padding-right:24px; }
#label-text-position,#batch-text-position { appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer; }
#label-text-position:focus-visible,#batch-text-position:focus-visible { border-color:var(--orange-text);outline:2px solid var(--orange-soft);outline-offset:2px; }
.label-field input::placeholder { color:var(--muted);opacity:.9; }
.label-help { margin:7px 0 0;font-size:11px;line-height:1.5;color:var(--muted); }
.label-custom { margin-top:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper); }
.label-custom summary { padding:12px;font-size:12px;cursor:pointer;font-weight:500; }
.label-custom[open] { padding:0 12px 14px; }
.label-custom[open] summary { margin:0 -12px;border-bottom:1px solid var(--line); }
.label-custom > .label-help { margin-top:11px; }
.label-custom-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px; }
.label-custom-grid .label-field input,.label-custom-grid .label-field select { background:var(--panel); }
.label-section-note { margin:-7px 0 11px;color:var(--muted);font-size:11px; }
.label-text-fields { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.label-text-fields .label-field { margin-top:0; }
.label-start-row { display:flex;align-items:center;gap:20px;margin:17px 0; }
.label-start-row > div { flex:1;min-width:0; }
.label-start-row label { margin-bottom:3px; }
.label-start-row .label-help { margin:0;max-width:280px; }
.label-start-row input { width:72px;flex:none;text-align:center;font-weight:700; }
.label-outline-choice { display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer; }
.label-outline-choice input { width:17px;height:17px;accent-color:var(--orange-text);margin:0; }
.label-preview { position:relative;top:auto;align-self:stretch;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;padding:22px 24px; }
.label-preview-heading { display:flex;flex:none;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px; }
.label-preview-heading h2 { margin:0;font-size:14px;font-weight:700; }
.label-preview-chip { flex:none;font-size:9px;border:1px solid var(--line);padding:3px 7px;border-radius:20px;color:var(--muted); }
.label-preview-board { flex:none;padding:14px 18px 11px;border:1px solid var(--line);border-radius:12px;background-color:var(--soft);background-image:radial-gradient(var(--peg) .8px,transparent .8px);background-size:12px 12px; }
.label-paper-meta { display:flex;align-items:center;justify-content:space-between;max-width:270px;margin:0 auto 12px;font-size:10px;color:var(--muted); }
.label-paper-meta > span:first-child { font-weight:700;color:var(--ink); }
/* A4 L7160 illustration. Claude replaces this sample geometry with print.labels(sheet). */
.label-paper { position:relative;width:100%;max-width:218px;aspect-ratio:210 / 297;margin:auto;background:#fff;color:#292C28;box-shadow:0 6px 16px #1c241c15;border:1px solid #e2e3dd; }
.label-paper-grid { position:absolute;inset:5.101% 3.4333%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));column-gap:1.299%; }
.label-sticker { position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:5px;border:1px solid #e6e7e1;border-radius:5px;background:#fff;color:#60685c;cursor:pointer;box-shadow:none; }
.label-sticker:hover { z-index:1;border-color:var(--orange-text); }
.label-sticker[aria-pressed="true"] { z-index:2;border:2px solid #98501D;background:#FFF5E8;box-shadow:0 0 0 2px #D9822B28; }
.label-sticker-number { position:absolute;top:3px;left:5px;font-size:7px;line-height:1; }
.label-code-image { width:auto;height:76%;max-width:80%;max-height:35px;object-fit:contain;mix-blend-mode:multiply; }
.label-sticker.is-skipped { border-style:dashed;background:repeating-linear-gradient(135deg,#f2f3ef 0 3px,#fafbf8 3px 7px);color:#8a9185; }
.label-sticker.is-skipped .label-code-image,.label-sticker.is-unused .label-code-image { visibility:hidden; }
.label-paper.has-outlines .label-sticker:not(.is-skipped):not(.is-unused) { border-color:#697162; }
.label-paper.has-outlines .label-sticker[aria-pressed="true"] { border-color:#98501D; }
.label-sheet-dimensions { margin:13px 0 0;font-size:10px;text-align:center;color:var(--muted); }
.label-preview-key { display:flex;flex:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:11px; }
.label-preview-key > span { display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted); }
.label-preview-key i { width:10px;height:10px;border-radius:3px;background:var(--panel);border:1px solid var(--line); }
.label-preview-key .label-key-start { background:var(--orange-soft);border:2px solid var(--orange-text); }
.label-preview-key .label-key-print { background:var(--panel);border-color:var(--muted); }
.label-preview-key .label-key-skip { background:var(--soft);border-style:dashed;border-color:var(--muted); }
.label-preview-caption { flex:none;margin:7px 0 0;text-align:center;font-size:10px;color:var(--muted); }
.label-notice { display:flex;flex:none;align-items:flex-start;gap:9px;margin-top:10px;padding:10px;border-radius:9px;border:1px solid var(--line);background:var(--orange-soft);color:var(--ink); }
.label-notice .ui-icon { width:18px;height:18px;margin-top:1px;color:var(--orange-text); }
.label-notice b { font-size:12px; }
.label-notice p { margin:4px 0 0;font-size:11px;line-height:1.5; }
.label-error { background:var(--bad-bg);border-color:var(--bad); }
.label-error .ui-icon { color:var(--bad); }
.label-maker-footer { flex:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 30px;border-top:1px solid var(--line);background:var(--panel); }
.label-print-reminder { display:flex;align-items:center;gap:12px; }
.label-scale { display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid var(--line);border-radius:50%;color:var(--orange-text);font-size:13px;font-weight:700; }
.label-print-reminder p { margin:0; }
.label-print-reminder b { display:block;font-size:12px; }
.label-print-reminder p > span { display:block;margin-top:3px;font-size:11px;color:var(--muted); }
.label-download-actions { display:grid;gap:6px;min-width:300px;text-align:center; }
.label-download-actions .btn { display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px; }
.label-download-actions .btn:disabled { opacity:.6;cursor:not-allowed; }
.label-download-actions .btn .ui-icon { width:17px;height:17px;transform:rotate(90deg); }
.label-test-download { min-height:32px;border:0;padding:5px;background:none;font-size:12px;font-weight:700;color:var(--orange-text);cursor:pointer; }
.label-test-download:disabled { opacity:.6;cursor:not-allowed; }
.label-download-actions p { margin:0;color:var(--muted);font-size:10px; }
.label-jump { display:none;min-height:44px;padding:0;background:none;border:0;font-size:12px;font-weight:700;color:var(--orange-text);cursor:pointer; }
@media(max-width:1100px) {
  .label-maker { width:calc(100% - 32px);max-height:calc(100dvh - 32px); }
  .label-maker[open] { height:calc(100dvh - 32px); }
  .label-maker-header { padding:18px 24px 20px; }
  .label-settings,.label-preview { padding:22px 24px; }
  .label-maker-body { grid-template-columns:minmax(0,1.16fr) minmax(280px,.84fr); }
  .label-preview-board { padding:18px 15px 14px; }
  .label-choice { padding:9px;gap:7px; }
  .label-paper-icon { display:none; }
  .label-text-fields { grid-template-columns:1fr;gap:12px; }
  .label-maker-footer { padding:18px 24px; }
}
@media(max-height:800px) and (min-width:761px) {
  .label-maker-header { padding-top:16px;padding-bottom:16px; }
  .label-topline { margin-bottom:10px; }
  .label-maker .label-settings,.label-maker .label-preview { padding-top:16px;padding-bottom:16px; }
  .label-paper { max-width:178px; }
  .label-preview-board { padding:11px 14px 9px; }
}
@media(max-width:760px) {
  .label-maker { width:100%;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0; }
  .label-maker[open] { display:block;height:100dvh;overflow:auto; }
  .label-maker-header { padding:16px 20px 20px; }
  .label-topline { margin-bottom:16px; }
  .label-workshop-mark { font-size:8px;letter-spacing:.8px; }
  .label-workshop-mark .ui-icon { display:none; }
  .label-back { min-height:44px; }
  .label-maker #label-maker-h { font-size:29px; }
  .label-title-row { display:block; }
  .label-title-row p { font-size:12px;max-width:330px;line-height:1.6; }
  .label-jump { display:inline-flex;align-items:center;gap:10px; }
  .label-title-row .label-jump { margin-top:8px; }
  .label-maker-body { display:block;overflow:visible; }
  .label-settings { height:auto;overflow:visible;padding:24px 20px; }
  .label-preview { position:static;height:auto;max-height:none;overflow:visible;padding:24px 20px;border-top:1px solid var(--line);scroll-margin-top:16px; }
  .label-settings { scroll-margin-top:16px; }
  .label-field input,.label-field select,.label-start-row input { font-size:16px; }
  .label-paper-icon { display:block; }
  .label-text-fields { grid-template-columns:1fr; }
  .label-choice b { font-size:12px; }
  .label-choice small { font-size:10px; }
  .label-maker-footer { display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:22px 20px calc(22px + env(safe-area-inset-bottom,0px)); }
  .label-download-actions { min-width:0; }
  .label-download-actions .btn { font-size:13px; }
  .label-test-download { min-height:44px; }
  .label-jump-back { display:flex;margin:12px auto 0; }
}
@media(max-width:360px) {
  .label-maker-header,.label-settings,.label-preview,.label-maker-footer { padding-left:16px;padding-right:16px; }
  .label-workshop-mark { display:none; }
  .label-maker #label-maker-h { font-size:27px; }
  .label-preview-heading { flex-wrap:wrap; }
  .label-preview-board { padding-left:12px;padding-right:12px; }
  .label-paper-icon { display:none; }
}
@media(prefers-reduced-motion:reduce) { .label-maker,.label-maker-body { scroll-behavior:auto; } }
@media print { .label-maker { display:none!important; } }
