.sticker-print-controls {
  box-sizing: border-box;
  min-inline-size: 0;
  max-width: 48rem;
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid var(--line, #cbc9bd);
  border-radius: 7px;
  background: var(--dock, #faf9f4);
}
.sticker-print-controls legend { padding-inline: 5px; font-weight: 700; }
.sticker-print-fields, .sticker-print-links {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 7px 16px;
}
.sticker-print-fields label {
  display: grid;
  gap: 3px;
  flex: 1 1 12em;
  font-weight: 600;
}
.sticker-print-fields input, .sticker-print-fields select {
  min-width: 0;
  min-height: 36px;
  padding: 5px 8px;
  border: 1px solid var(--line, #b8b9af);
  border-radius: 5px;
  background: var(--shell, #fff);
  color: inherit;
  font: inherit;
  font-weight: 400;
}
.sticker-print-controls p {
  margin: 6px 0 0;
  color: var(--muted, #4d585b);
  font-size: 12px;
}
.sticker-print-links { margin-top: 6px; font-size: 13px; }
.sticker-print-controls[hidden], .sticker-print-controls [hidden] { display: none !important; }

.sticker-sheet-editor { display:grid; gap:11px; }
.sheet-field { display:grid; gap:4px; font-size:13px; font-weight:650; }
.sheet-field :is(select,input) {
  width:100%; min-width:0; min-height:36px; padding:5px 7px; border:1px solid var(--line);
  border-radius:5px; background:var(--shell); color:inherit; font:inherit; font-weight:400;
}
.sheet-options { border-top:1px solid var(--line); padding-top:8px; }
.sheet-options summary { cursor:pointer; font-weight:700; padding:3px 0; }
.sheet-options[open] > :not(summary) { margin-top:7px; }
.sheet-tool { padding:6px 8px; border:1px solid var(--line); border-radius:5px; background:var(--shell); }
.sheet-tool:hover:not(:disabled) { border-color:var(--accent); }
.sheet-collection {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px;
  max-block-size:min(42dvh,320px); overflow-y:auto; overscroll-behavior:contain;
  scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:var(--scrollbar,var(--line)) transparent;
  padding-inline-end:4px;
}
.sheet-collection:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.sheet-collection button { display:grid; place-items:center; align-content:start; gap:5px; font-size:11px; line-height:1.2; overflow-wrap:anywhere; }
.sheet-collection svg { width:29px; height:29px; }
.sheet-list-heading { display:flex; justify-content:space-between; align-items:center; gap:6px; }
.sheet-list-heading span { color:var(--muted); font-size:12px; }
.sheet-sticker-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.sheet-sticker-list button { width:100%; height:100%; min-height:61px; display:grid; align-content:start; justify-items:center; gap:4px; font-size:11px; line-height:1.2; overflow-wrap:anywhere; }
.sheet-sticker-list svg { width:32px; height:26px; }
.sheet-sticker-list button[aria-pressed="true"] { background:var(--selection); border-color:var(--accent); }
.sheet-selection { display:grid; gap:7px; background:var(--panel); border-radius:6px; padding:9px; }
.sheet-selection strong { font-size:13px; }
.sheet-selection button { flex:none; }
[data-sticker-index] { cursor:pointer; }
[data-sticker-index]:hover .sticker-hit-area, [data-sticker-selected] .sticker-hit-area { stroke:#245aa7; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.sheet-only-link { font-size:13px; }
