/* Isolated full-wrap artwork editor. All selectors are scoped to .lw. */
.lw { --lw-ink:#12323c; --lw-muted:#536d76; --lw-line:#c8d6d9; --lw-blue:#078bb6; --lw-paper:#fff; --lw-bg:#edf2f1; color:var(--lw-ink); background:var(--lw-bg); border:1px solid var(--lw-line); border-radius:8px; overflow:hidden; font:14px/1.5 var(--font-b,"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif); width:100%; min-width:0; }
.lw h3,.lw__inspector h3 { font-family:var(--font-h,"Ubuntu","Trebuchet MS",sans-serif); }
.lw[hidden],.lw [hidden] { display:none!important; }
.lw * { box-sizing:border-box; }
.lw h3,.lw p,.lw ol,.lw ul { margin:0; }
.lw button,.lw input,.lw textarea,.lw select { font:inherit; }
.lw button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px; padding:8px 11px; color:var(--lw-ink); background:#fff; border:1px solid var(--lw-line); border-radius:4px; cursor:pointer; line-height:1.2; font-size:12px; font-weight:600; box-shadow:none; text-transform:none; letter-spacing:0; }
.lw button:hover { background:#eaf4f7; border-color:#87afbb; }
.lw button:disabled { opacity:.38; cursor:default; }
.lw button:focus-visible,.lw a:focus-visible,.lw input:focus-visible,.lw textarea:focus-visible,.lw select:focus-visible,.lw summary:focus-visible,.lw__stage:focus-visible { outline:3px solid #159fc8; outline-offset:3px; }
.lw .lw__primary { color:white; background:var(--dark,#102c36); border-color:var(--dark,#102c36); }
.lw .lw__primary:hover { background:#126a8c; border-color:#126a8c; }
.lw input:not([type=checkbox]):not([type=color]),.lw textarea,.lw select { width:100%; min-width:0; padding:8px 9px; border:1px solid #b8c9ce; border-radius:3px; background:#fff; color:var(--lw-ink); box-shadow:none; line-height:1.45; min-height:37px; font-size:13px; }
.lw input[type=checkbox] { width:15px; height:15px; margin:0; accent-color:var(--lw-blue); flex-shrink:0; }
.lw input[type=color] { padding:2px; width:100%; height:36px; background:white; border:1px solid #b8c9ce; }
.lw textarea { resize:vertical; min-height:70px; }
.lw__top { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; background:white; border-bottom:1px solid var(--lw-line); flex-wrap:wrap; }
.lw__project { display:grid; grid-template-columns:auto minmax(140px,270px); gap:4px 12px; align-items:center; flex:1 1 290px; }
.lw__project>label { font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.lw .lw__project>input { font-weight:700; background:#f8faf9; border-color:transparent; }
.lw__save { grid-column:2; color:var(--lw-muted); font-size:11px; }
.lw .is-error { color:#983919; }
.lw__actions { display:flex; gap:6px; flex-wrap:wrap; }
.lw__notice,.lw__recovery { padding:12px 18px; background:#e8f5f9; border-bottom:1px solid #a7cbd4; font-size:13px; }
.lw__notice.is-error { background:#fff0e8; border-color:#edc4b1; }
.lw__recovery button { margin-left:10px; }
.lw__work { display:grid; grid-template-columns:260px minmax(350px,1fr) 240px; align-items:start; min-height:650px; }
.lw__left,.lw__right { background:white; min-width:0; height:750px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.lw__left { border-right:1px solid var(--lw-line); }
.lw__right { border-left:1px solid var(--lw-line); padding:19px 15px; }
.lw__tabs { display:grid; grid-template-columns:repeat(3,1fr); padding:10px 10px 0; border-bottom:1px solid var(--lw-line); position:sticky; top:0; background:#fff; z-index:2; }
.lw__tabs>button { border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; padding:11px 3px; }
.lw__tabs>button[aria-selected=true] { border-bottom-color:var(--lw-blue); color:#006f92; }
.lw__sidebody { padding:16px 14px 24px; }
.lw .lw__hint { color:var(--lw-muted); font-size:12px; line-height:1.55; margin-bottom:14px; }
.lw__content-group { border:0; border-top:1px solid var(--lw-line); margin-top:15px; padding-top:0; background:transparent; box-shadow:none; border-radius:0; }
.lw__content-group>summary { display:list-item; cursor:pointer; font-weight:700; font-size:13px; padding:15px 0; background:transparent; list-style:disclosure-closed inside; }
.lw__content-group[open]>summary { list-style:disclosure-open inside; }
.lw__content-group>summary:after,.lw__checks>summary:after { content:none; }
.lw__field { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; margin-bottom:13px; min-width:0; }
.lw__field>span { display:flex; flex-wrap:wrap; justify-content:space-between; gap:3px 8px; }
.lw__field small { font-size:9px; text-transform:uppercase; color:#6b8087; letter-spacing:.035em; font-weight:400; }
.lw__pair { display:grid; grid-template-columns:1fr 1fr; gap:0 10px; }
.lw__row { min-width:0; margin:10px 0; padding:10px; border:1px solid var(--lw-line); }
.lw__row legend { font-size:11px; padding:0 5px; font-weight:700; }
.lw__row button { font-size:11px; min-height:32px; }
.lw__artboard { min-width:0; width:100%; background:var(--lw-bg); }
.lw__tools { display:flex; gap:6px; padding:13px 14px; flex-wrap:wrap; border-bottom:1px solid var(--lw-line); background:#f8faf9; }
.lw__tools>button { font-size:11px; padding:7px 9px; min-height:34px; }
.lw__guide { display:flex; align-items:center; gap:6px; font-size:11px; padding:6px 0 6px 6px; margin-left:auto; }
.lw__view-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 14px; border-bottom:1px solid var(--lw-line); background:#f8faf9; }
.lw__zoom-controls { display:flex; align-items:center; gap:4px; }
.lw__zoom-controls>output { min-width:48px; text-align:center; font-size:12px; font-variant-numeric:tabular-nums; }
.lw__zoom-controls>button { min-width:36px; }
.lw__view-tools button[aria-pressed=true] { background:#d9edf2; border-color:var(--lw-blue); color:#006f92; }
.lw__zoom-hint { color:var(--lw-muted); font-size:10px; flex-basis:100%; }
.lw__canvas-scroll { height:380px; min-height:300px; padding:24px; overflow:auto; overscroll-behavior:contain; scrollbar-width:auto; }
.lw__canvas-content { width:100%; min-height:100%; display:flex; flex-direction:column; justify-content:center; margin-inline:auto; }
.lw__canvas-scroll.is-pan { touch-action:none; cursor:grab; }
.lw__canvas-scroll.is-pan .lw__stage,.lw__canvas-scroll.is-pan .lw__stage [data-object],.lw__canvas-scroll.is-pan .lw__stage [data-resize] { cursor:grab; }
.lw__canvas-scroll.is-dragging,.lw__canvas-scroll.is-dragging .lw__stage,.lw__canvas-scroll.is-dragging .lw__stage [data-object] { cursor:grabbing; }
.lw__ruler { display:grid; grid-template-columns:repeat(3,1fr); color:#6c848b; font-size:9px; letter-spacing:.08em; text-align:center; margin-bottom:10px; }
.lw__stage { width:100%; background:white; box-shadow:0 7px 24px #173e481b,0 0 0 1px #b8c9cc; line-height:0; touch-action:none; user-select:none; position:relative; flex:none; }
.lw__stage>svg { display:block; width:100%; height:auto; max-height:none; overflow:hidden; aspect-ratio:auto; }
.lw__stage [data-object] { cursor:move; }
.lw__stage [data-resize] { cursor:nwse-resize; }
.lw__dimensions { color:var(--lw-muted); font-size:11px; text-align:center; margin-top:15px; line-height:1.5; }
.lw__canvas-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:0 18px 20px; color:var(--lw-muted); font-size:11px; }
.lw__canvas-foot>button { font-size:11px; }
.lw__canvas-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; width:100%; }
.lw__canvas-actions button { min-height:42px; }
.lw__checks { margin:0 18px 22px; border:1px solid #bbccd1; border-radius:5px; background:#fff; overflow:hidden; box-shadow:none; }
.lw__checks>summary { display:list-item; list-style:disclosure-closed inside; cursor:pointer; font-size:12px; font-weight:700; padding:14px; background:white; }
.lw__checks[open]>summary { list-style:disclosure-open inside; border-bottom:1px solid var(--lw-line); }
.lw [data-issues] { padding:0 12px; max-height:350px; overflow:auto; }
.lw .lw__issue { display:flex; width:100%; border:0; border-bottom:1px solid #e2e9eb; padding:12px 0; border-radius:0; gap:9px; align-items:flex-start; text-align:left; font-size:11px; font-weight:400; line-height:1.45; }
.lw__issue>strong { display:block; min-width:51px; color:#8a482d; font-size:10px; }
.lw .lw__issue:hover { background:#f8faf9; }
.lw .lw__eyebrow { color:var(--lw-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px; }
.lw h3 { color:var(--lw-ink); font-size:18px; margin:0 0 10px; line-height:1.3; }
.lw__quick { display:flex; flex-direction:column; gap:8px; margin:18px 0; }
.lw__quick>button { justify-content:flex-start; }
.lw__linked { font-size:11px; padding:10px; background:#eaf5f7; margin-bottom:14px; }
.lw__linked button { margin-top:8px; font-size:10px; min-height:30px; }
.lw .lw__overflow { color:#963614; background:#fff1e8; font-size:11px; padding:10px; margin:0 0 13px; }
.lw__checks-inline { display:flex; flex-wrap:wrap; gap:12px; padding:10px 0 17px; }
.lw__checks-inline>label { display:flex; gap:6px; align-items:center; font-size:11px; }
.lw__object-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.lw__object-actions>button { font-size:10px; min-height:37px; padding:6px; }
.lw .lw__danger { color:#9b3c27; }
.lw__layers,.lw__assets { list-style:none; padding:0; display:flex; flex-direction:column; gap:7px; }
.lw__layers>li { margin:0; }
.lw__layers>li>button { display:flex; width:100%; justify-content:flex-start; text-align:left; font-size:12px; min-height:55px; }
.lw__layers .is-selected>button { border-color:var(--lw-blue); background:#eaf5f8; }
.lw__layer-icon { width:24px; font-size:18px; color:#218fb0; flex-shrink:0; }
.lw__layers small { display:block; font-weight:400; color:var(--lw-muted); font-size:10px; margin-top:3px; }
.lw__assets>li { display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--lw-line); padding:15px 0; min-width:0; }
.lw__assets>li>strong { font-size:12px; overflow-wrap:anywhere; }
.lw__assets>li>span { font-size:11px; color:var(--lw-muted); }
.lw__assets img { width:100%; height:70px; object-fit:contain; border:1px solid #d6e1e3; background:#f7faf9; }
.lw__assets button { font-size:11px; min-height:33px; }
.lw .lw__wide { width:100%; margin-bottom:15px; }
.lw__handoff { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:18px 22px; background:#fff; border-top:1px solid var(--lw-line); }
.lw__handoff strong { font-size:13px; }
.lw__handoff p { color:var(--lw-muted); max-width:760px; font-size:12px; margin-top:4px; }
.lw__handoff a { color:#00789d; white-space:nowrap; font-weight:700; font-size:13px; }
@media (max-width:1199px) { .lw__work { grid-template-columns:230px minmax(280px,1fr) 210px; }.lw__canvas-scroll { padding-left:17px;padding-right:17px; }.lw__right { padding-left:12px;padding-right:12px; } }
@media (max-width:1000px) { .lw__work { grid-template-columns:235px minmax(0,1fr); }.lw__right { grid-column:2; grid-row:2; border-top:1px solid var(--lw-line); height:auto; max-height:520px; }.lw__left { grid-row:1 / 3; height:1100px; }.lw__artboard { grid-column:2;grid-row:1; }.lw__canvas-scroll { min-height:290px; }.lw__right [data-properties] { max-width:520px; margin:auto; }.lw__actions { width:100%; }.lw__top { gap:12px; } }
@media (max-width:700px) { .lw { border-radius:0; }.lw__top { padding:13px 12px; }.lw__project { grid-template-columns:auto minmax(0,1fr); width:100%; flex-basis:100%; }.lw__project>label { font-size:9px; }.lw__actions { display:grid; grid-template-columns:1fr 1fr 1fr; gap:5px; }.lw__actions>button { font-size:10px; min-height:39px; padding:7px 5px; }.lw__actions>.lw__primary { grid-column:2 / 4; }.lw__work { display:flex; flex-direction:column; min-height:0; }.lw__artboard { order:0; }.lw__left { order:1; width:100%; height:470px; border:0; border-top:1px solid var(--lw-line); }.lw__right { order:2; width:100%; max-height:none; overflow:visible; border:0; border-top:1px solid var(--lw-line); padding:20px; }.lw__canvas-scroll { padding:35px 15px 24px; min-height:250px; }.lw__tools { gap:5px; padding:10px; }.lw__tools>button { font-size:10px; min-height:35px; }.lw__guide { padding:7px 0; }.lw__ruler { font-size:8px; }.lw__dimensions { font-size:10px; }.lw__sidebody { padding:16px 20px; }.lw__tabs { padding:8px 16px 0; }.lw__field { font-size:13px; }.lw input:not([type=checkbox]):not([type=color]),.lw textarea,.lw select { font-size:16px; }.lw__field small { font-size:10px; }.lw__handoff { flex-direction:column; align-items:flex-start; gap:10px; padding:20px; }.lw__canvas-foot { padding:0 15px 16px; }.lw__checks { margin:0 12px 18px; }.lw__notice,.lw__recovery { font-size:12px; padding:12px; } }
@media (prefers-reduced-motion:reduce) { .lw * { scroll-behavior:auto!important; transition:none!important; } }
.lw .lw__check-hint { margin:0; padding:12px 14px; background:#f3f7f6; color:var(--lw-muted); font-size:11px; line-height:1.5; }
@media (max-width:700px) { .lw__view-tools { padding:10px; gap:7px; }.lw__view-tools button { min-height:42px; }.lw__canvas-scroll { height:320px; min-height:260px; padding:22px 16px; }.lw__canvas-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.lw__canvas-actions button { font-size:11px; min-height:46px; padding:9px 7px; }.lw__zoom-hint { font-size:11px; } }

/* A portable product brief accompanies the artwork without becoming label copy. */
.lw .lw__concept{margin:0 0 18px;border:1px solid #a9c6cf;background:#eef6f7;padding:14px;border-radius:4px}
.lw .lw__concept summary{font:700 14px/1.5 var(--font-b,"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif);cursor:pointer;display:list-item;list-style:disclosure-closed inside;padding:0;background:transparent}
.lw .lw__concept[open] summary{list-style:disclosure-open inside}.lw .lw__concept summary:after{content:none}
.lw .lw__concept p,.lw .lw__concept pre{font:13px/1.65 var(--font-b,"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif);white-space:pre-wrap;overflow-wrap:anywhere;color:#234852;margin:12px 0 0}

/* Editor-only controls stay the same screen size as the artwork zooms. */
.lw .lw__resize-handle { position:absolute; z-index:3; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; transform:translate(-50%,-50%); background:transparent; border:0; border-radius:50%; touch-action:none; cursor:nwse-resize; }
.lw__resize-handle>span { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:2px solid #087fa5; border-radius:50%; background:#fff; box-shadow:0 2px 6px #12323c33; font-size:18px; color:#006f92; line-height:1; }
.lw .lw__resize-handle:hover { background:#078bb618; }
.lw__canvas-scroll.is-pan .lw__resize-handle { pointer-events:none; opacity:.45; }
.lw__compact-tools { display:none; }
.lw__touch-hint { display:none; }
.lw__inspector:not([open]) { display:none; }
.lw__inspector { --lw-inspector-height:86dvh; position:fixed; inset:auto 0 0; margin:0 auto; width:600px; max-width:100%; max-height:var(--lw-inspector-height); padding:0; border:1px solid var(--lw-line); border-bottom:0; border-radius:16px 16px 0 0; color:var(--lw-ink); background:#fff; box-shadow:0 -10px 60px #12323c33; overflow:hidden; font:14px/1.5 var(--font-b,"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif); }
.lw__inspector[open] { display:flex; flex-direction:column; }
.lw__inspector::backdrop { background:#12323c66; }
.lw__inspector-head { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid var(--lw-line); flex-shrink:0; }
.lw__inspector-head h3 { font-size:17px; margin:0; min-width:0; overflow-wrap:anywhere; }
.lw__inspector-head button { flex-shrink:0; min-height:44px; }
.lw__inspector-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:8px 12px; border-bottom:1px solid var(--lw-line); flex-shrink:0; }
.lw__inspector-tabs button { min-height:44px; padding:8px 4px; font-size:12px; }
.lw__inspector-tabs button[aria-pressed=true] { border-color:#078bb6; background:#e9f5f8; color:#006f92; }
.lw__inspector-body { overflow:auto; overscroll-behavior:contain; min-height:0; padding:16px 18px max(24px,env(safe-area-inset-bottom)); }
.lw__inspector .lw__left,.lw__inspector .lw__right { display:block; width:100%; height:auto; max-height:none; overflow:visible; border:0; padding:0; }
.lw__inspector .lw__sidebody { padding:0; }
.lw__inspector .lw__tabs { display:none; }
.lw__inspector .lw__right [data-properties] { max-width:none; }
@media(max-width:1000px), (pointer:coarse) and (max-width:1200px) {
  .lw__work { display:block; min-height:0; }
  .lw__work>.lw__left,.lw__work>.lw__right { display:none; }
  .lw__compact-tools { display:block; padding:12px; border-bottom:1px solid var(--lw-line); background:#fff; }
  .lw__compact-tools p { color:var(--lw-muted); font-size:12px; margin:0 0 9px; overflow-wrap:anywhere; }
  .lw__compact-tools>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .lw__compact-tools button { padding:8px 4px; font-size:12px; }
  .lw button,.lw__tools>button,.lw__actions>button,.lw__view-tools button,.lw__object-actions>button { min-height:44px; }
  .lw input:not([type=checkbox]):not([type=color]),.lw textarea,.lw select { font-size:16px; min-height:44px; }
  .lw__canvas-scroll { overscroll-behavior:auto; }
  .lw__stage { touch-action:pan-y pinch-zoom; }
  .lw__stage .is-selected>rect { touch-action:none; }
  .lw__mouse-hint { display:none; }
  .lw__touch-hint { display:inline; }
  .lw__handoff { flex-wrap:wrap; }
}
@media(pointer:coarse) {
  .lw__stage { touch-action:pan-y pinch-zoom; }
  .lw__stage .is-selected>rect { touch-action:none; }
}

/* Keep measured-layout actions reachable on compact screens. */
.lw__flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lw__flow[hidden]{display:none}.lw__flow span{flex:1 1 300px}.lw__flow button{min-height:44px;padding:8px 12px}.lw__flow button[hidden]{display:none}
/* label templates (unit-t 2026-10-25) */
.lw__design-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:6px 0 4px; }
.lw .lw__design { display:flex; flex-direction:column; align-items:stretch; gap:3px; text-align:left; padding:6px; min-width:0; background:#fff; border:1px solid var(--lw-line); border-radius:6px; font-size:11px; line-height:1.35; white-space:normal; }
.lw .lw__design[aria-pressed=true] { outline:2px solid #087f9f; outline-offset:1px; }
.lw__design-thumb { display:block; width:100%; aspect-ratio:3 / 1; border-radius:3px; overflow:hidden; border:1px solid rgba(0,0,0,.1); }
.lw__design-thumb img { display:block; width:100%; height:100%; object-fit:contain; }
.lw__design strong { font-size:12px; }
.lw__design strong small { font-weight:600; color:#087f9f; }
.lw__design span:not(.lw__design-thumb), .lw__design small { color:#4c6168; overflow-wrap:anywhere; }
.lw__check { display:flex; gap:7px; align-items:flex-start; font-size:12px; margin:4px 0 10px; }
@media (max-width:420px) { .lw__design-grid { grid-template-columns:minmax(0,1fr); } }
/* wording that does not match the formula (27 Oct 2026): kept, named, with a refresh from the formula */
.lw__warn { margin:0 0 6px; padding:8px 10px; background:#fbf1dc; border:1px solid #e3c98f; border-radius:6px; color:#5c3a00; font-size:12px; line-height:1.4; }
.lw__warn button { margin-top:6px; display:block; min-height:32px; }
