/* GENERATED by tools/build_export_panel_css.py. Do not edit by hand.
   The Stamp & comments screen's own rules, repeated for the Export screen so the
   two look the same (Jon 2026-10-03). Change the Stamp rule, then run the tool. */

/* ---- from styles.css ---- */
.save-layout {
  position: relative;
}
.save-layout:has(.save-panel.is-collapsed) > .panel-visibility-toggle {
  right: 0;
  border-radius: 0.65rem 0 0 0.65rem;
}
.save-layout:has(.save-panel.is-collapsed) {
  grid-template-columns: minmax(0, 1fr);
}
.save-layout:has(.save-panel.is-collapsed) > .panel-resize-handle,
.save-panel.is-collapsed {
  display: none !important;
}
.save-layout,
.save-preview {
  min-width: 0;
}
#saveScreen .advanced-controls,
#saveScreen .comment-controls .advanced-controls {
  width: 100%;
}
.save-panel {
  position: relative;
}
.save-layout {
  position: relative;
}
@media (min-width: 1181px) {
  .workspace[data-has~="save-screen"]:not(#has-pad) {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: calc(100vh - var(--workflow-offset) - var(--bottom-action-space));
    min-height: 0;
    overflow: hidden;
    padding:
    clamp(1rem, 2vh, 2rem)
    var(--workspace-gutter)
    var(--space-4)
    var(--workspace-gutter);
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) .topbar {
    margin-bottom: 0;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) #screenTitle {
    display: none;
  }
  #saveScreen.is-active {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    width: 100%;
    height: 100%;
    min-height: 0;
  }
  .save-layout {
    height: 100%;
    min-height: 0;
    align-items: stretch;
    overflow: hidden;
  }
  .save-preview {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
  }
  .save-preview-frame {
    display: grid;
    place-items: center;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }
  .save-preview-frame > .rendered-sheet,
  .save-preview-frame > .empty-sheet-state {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
  }
  #saveScreen .save-preview .canvas-toolbar {
    align-items: start;
    margin-bottom: var(--space-3);
  }
  #saveScreen .stamp-canvas-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
#saveScreen .save-preview-frame:has(.empty-sheet-state) {
  border-color: transparent;
  box-shadow: none;
  outline: none;
}
.save-layout:not(:has(.save-panel > .stamp-controls:not(.is-collapsed))) > .panel-resize-handle {
  display: none;
}
.save-layout:not(:has(.save-panel > .stamp-controls:not(.is-collapsed))) {
  grid-template-columns: minmax(0, 1fr);
}
.save-layout:not(:has(.save-panel > .stamp-controls:not(.is-collapsed))) .save-panel {
  display: none;
}
#savePreviewZoomIn {
  cursor: var(--cursor-zoom-in);
}
#savePreviewZoomOut {
  cursor: var(--cursor-zoom-out);
}
#savePreviewZoomIn,
#savePreviewZoomOut {
  color: var(--accent-strong);
}
#savePreviewZoomIn:hover:not(:disabled),
#savePreviewZoomOut:hover:not(:disabled) {
  color: var(--accent-strong);
  background: rgb(var(--gloss-rgb) / 0.92);
  border-color: rgb(var(--accent-rgb) / 0.55);
}
#savePreviewZoomOut:disabled {
  cursor: var(--cursor-zoom-out);
}
.save-preview-frame {
  overscroll-behavior: contain;
}
.save-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--side-control-width);
  gap: var(--space-4);
  min-width: 0;
  align-items: stretch;
}
.save-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: var(--space-4);
  overflow: hidden;
  background: var(--side-panel-fade-bg);
  border: 1px solid var(--border);
  border-radius: var(--panel-radius);
  box-shadow: var(--shadow);
}
.save-panel > .stamp-controls {
  width: 100%;
  flex: 1 1 0;
  min-height: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.save-panel[data-active-panel="stamp"] > .comment-controls,
.save-panel[data-active-panel="comments"] > .stamp-controls:not(.comment-controls) {
  display: none;
}
#saveScreen .save-panel,
#saveScreen .side-panel-tabs,
#saveScreen .side-panel-tab {
  border-radius: var(--radius-md);
}
.save-preview {
  position: relative;
  min-width: 0;
  padding: var(--space-4);
  background: var(--side-panel-fade-bg);
  border: 1px solid var(--border);
  border-radius: var(--panel-radius);
  box-shadow: var(--shadow);
}
@media (min-width: 861px) {
  #saveScreen .save-preview {
    background:
    linear-gradient(180deg, rgb(var(--overlay-rgb) / 0.045), transparent 58%),
    radial-gradient(circle at 18% 10%, rgb(var(--complete-wash-rgb) / 0.18), transparent 38%),
    linear-gradient(135deg, rgb(var(--complete-wash-rgb) / 0.16), rgb(var(--surface-raised-rgb) / 0.9) 48%, rgb(var(--bg-rgb) / 0.18)),
    rgb(var(--surface-raised-rgb) / 0.86);
    border-color: rgb(var(--complete-rgb) / 0.3);
    box-shadow:
    var(--shadow),
    inset 0 1px 0 rgb(var(--gloss-rgb) / 0.07);
  }
}
.save-preview:hover .expand-sheet-button,
.save-preview-frame:focus-visible ~ .expand-sheet-button {
  opacity: 0.92;
}
.save-preview:hover .review-zoom-control,
.save-preview-frame.is-zoomed ~ .review-zoom-control,
.review-zoom-control.save-preview-zoom-floating:focus-within {
  opacity: 1;
}
#saveScreen .save-preview-zoom-floating {
  left: calc(var(--space-2) + var(--space-4));
  bottom: calc(var(--space-2) + var(--space-4));
}
#saveScreen .expand-sheet-button {
  right: calc(var(--space-2) + var(--space-4));
  bottom: calc(var(--space-2) + var(--space-4));
}
#saveScreen .save-preview .canvas-toolbar {
  margin-bottom: var(--space-2);
}
.save-preview-frame {
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: var(--surface);
  cursor: var(--cursor-arrow);
  border-radius: var(--panel-radius);
}
.save-preview-frame.is-zoomed {
  overflow: auto;
}
.save-preview-frame {
  scrollbar-width: none;
}
.save-preview-frame::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.save-preview-frame.is-placing-mark {
  cursor: var(--cursor-arrow);
}
.save-preview-frame.is-placing-tick {
  cursor: var(--cursor-mark-tick);
}
.save-preview-frame.is-placing-cross {
  cursor: var(--cursor-mark-cross);
}
.save-preview-frame.is-placing-comment {
  cursor: var(--cursor-comment);
}
.save-preview-frame.is-inline-panning {
  cursor: var(--cursor-grabbing);
}
.save-preview-frame.is-zooming-out {
  cursor: var(--cursor-zoom-out);
}
.save-preview-frame:has(.save-preview-scroll) {
  display: block;
  width: 100%;
  height: 100%;
  background: transparent;
}
.save-preview-scroll {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  background: transparent;
}
.save-preview-viewport {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  background: transparent;
  border-radius: var(--radius-md);
}
.save-preview-viewport > .empty-sheet-state {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  width: auto;
  height: auto;
  min-height: 0;
}
.save-preview-viewport > .rendered-sheet,
.save-preview-viewport > svg {
  display: block;
  width: 100%;
  height: 100%;
}
#saveScreen .save-preview-viewport > .rendered-sheet {
  display: block;
  object-fit: contain;
  background: transparent;
  border-radius: var(--radius-sm);
}
#saveScreen .save-preview-frame:has(.save-preview-scroll) {
  background: transparent;
}
#saveScreen .save-preview-frame .empty-sheet-state:not(.idle-screensaver) {
  color: var(--text-muted);
  background:
  linear-gradient(180deg, rgb(var(--overlay-rgb) / 0.035), rgb(var(--overlay-rgb) / 0.012)),
  var(--surface);
}
#saveScreen .save-preview-frame .empty-sheet-state:not(.idle-screensaver) .empty-sheet-message strong,
#saveScreen .save-preview-frame .empty-sheet-state:not(.idle-screensaver) .empty-sheet-message span {
  color: var(--text-muted);
}
.save-preview-frame:not(:has(.save-preview-scroll)) ~ .save-preview-zoom-floating,
.save-preview-frame:not(:has(.save-preview-scroll)) ~ .expand-sheet-button {
  display: none;
}
#saveScreen .save-preview-frame:has(.empty-sheet-state) ~ .save-preview-zoom-floating,
#saveScreen .save-preview-frame:has(.empty-sheet-state) ~ .expand-sheet-button {
  display: none;
}
#saveScreen .stamp-controls > .toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  width: 100%;
  min-height: 2.5rem;
  padding-block: 0.45rem;
  text-align: left;
}
#saveScreen .stamp-controls > .toggle input {
  position: static;
  flex: 0 0 auto;
  transform: none;
}
#saveScreen .stamp-controls {
  container-type: inline-size;
  container-name: stamp-controls;
  align-content: start;
  grid-auto-rows: max-content;
  --side-panel-box-radius: 8px;
  --stamp-scale: clamp(0.875, 100cqi / 20rem, 1.1875);
  --sc-1: calc(var(--space-1) * var(--stamp-scale));
  --sc-2: calc(var(--space-2) * var(--stamp-scale));
  --sc-3: calc(var(--space-3) * var(--stamp-scale));
  --sc-4: calc(var(--space-4) * var(--stamp-scale));
  gap: var(--sc-4);
  padding: var(--sc-4);
  font-size: calc(0.82rem * var(--stamp-scale));
  border-radius: calc(var(--radius-lg) * var(--stamp-scale));
}
#saveScreen .stamp-controls .toggle {
  gap: 0.6rem;
  font-size: calc(0.9rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .stamp-top-toggles {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sc-1);
  width: 100%;
  padding: var(--sc-2) var(--sc-1) 0;
  box-sizing: border-box;
}
#saveScreen .stamp-controls .stamp-top-toggles .toggle {
  justify-content: flex-start;
  min-height: max(calc(1.64rem * var(--stamp-scale)), 1.5rem);
  padding: 0;
  color: var(--text-muted);
  text-align: left;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 0;
}
#saveScreen .stamp-controls .stamp-top-toggles .toggle span {
  white-space: nowrap;
}
#saveScreen .stamp-controls .stamp-top-toggles input {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 1.1rem;
  width: 1.1rem;
  min-width: 1.1rem;
  height: 1.1rem;
  min-height: 1.1rem;
  padding: 0;
  margin: 0;
  background: rgb(var(--overlay-rgb) / 0.08);
  border: 1px solid rgb(var(--overlay-rgb) / 0.22);
  border-radius: 0.24rem;
  line-height: 1;
}
#saveScreen .stamp-controls .stamp-top-toggles input:checked {
  background: var(--accent-button);
  color: var(--on-colour-button);
  border-color: var(--accent-hover);
}
#saveScreen .stamp-controls .stamp-top-toggles input:checked::before {
  content: "";
  display: block;
  width: 0.66rem;
  height: 0.66rem;
  background: var(--gloss);
  clip-path: polygon(14% 53%, 34% 72%, 82% 22%, 94% 34%, 35% 94%, 4% 64%);
}
#saveScreen .stamp-controls .toggle input {
  width: calc(1.1rem * var(--stamp-scale));
  height: calc(1.1rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .toggle span,
#saveScreen .stamp-controls .primary-button,
#saveScreen .stamp-controls .ghost-button,
#saveScreen .stamp-controls input,
#saveScreen .stamp-controls textarea,
#saveScreen .stamp-controls select {
  font-size: calc(0.82rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .panel-label {
  margin-bottom: var(--sc-1);
  font-size: calc(0.68rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .primary-button,
#saveScreen .stamp-controls .ghost-button {
  min-height: max(calc(2.5rem * var(--stamp-scale)), 2.25rem);
  padding-inline: var(--sc-4);
  border-radius: var(--side-panel-box-radius);
}
#saveScreen .stamp-controls .ghost-button.compact {
  min-height: max(calc(2.15rem * var(--stamp-scale)), 2rem);
  padding-inline: var(--sc-3);
}
#saveScreen .side-panel-tab,
#saveScreen .advanced-controls > summary,
#saveScreen .stamp-controls .primary-button,
#saveScreen .stamp-controls .ghost-button,
#saveScreen #commentsDoneButton {
  height: var(--detail-control-height, 2.5rem);
  min-height: var(--detail-control-height, 2.5rem);
}
#saveScreen .stamp-controls .ghost-button .manual-mark-button-glyph {
  width: calc(0.95rem * var(--stamp-scale));
  height: calc(0.95rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .manual-mark-button {
  gap: var(--sc-2);
}
#saveScreen .stamp-controls .stamp-size-panel {
  gap: var(--sc-3);
  width: 100%;
  box-sizing: border-box;
  padding: var(--sc-3);
  border-radius: var(--panel-radius);
}
#saveScreen .stamp-controls .stamp-size-header {
  gap: var(--sc-2);
}
#saveScreen .stamp-controls .stamp-size-lock {
  font-size: calc(0.62rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .stamp-size-grid {
  gap: var(--sc-2);
}
#saveScreen .stamp-controls .stamp-size-grid label {
  gap: var(--sc-1);
  font-size: calc(0.68rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .size-input-row {
  border-radius: var(--side-panel-box-radius);
}
#saveScreen .stamp-controls .size-input-row input {
  min-height: max(calc(2.25rem * var(--stamp-scale)), 2rem);
  padding-inline: var(--sc-2);
}
#saveScreen .stamp-controls .size-input-row span {
  padding-right: var(--sc-2);
  font-size: calc(0.68rem * var(--stamp-scale));
}
#saveScreen .side-panel-tabs,
#saveScreen .comment-tabs,
#saveScreen .side-panel-tab,
#saveScreen .comment-tab,
#saveScreen .stamp-controls input:not([type="checkbox"]):not([type="range"]):not([type="color"]),
#saveScreen .stamp-controls select,
#saveScreen .stamp-controls textarea,
#saveScreen .stamp-controls .stamp-saved-positions,
#saveScreen .stamp-controls .manual-mark-panel,
#saveScreen .comment-controls .comment-text-panel,
#saveScreen .comment-controls .comment-style-grid,
#saveScreen .comment-controls .suggestion-panel,
#saveScreen .comment-controls .comment-records {
  border-radius: var(--side-panel-box-radius, 8px);
}
#saveScreen .stamp-controls .stamp-option-row {
  gap: var(--sc-2);
}
#saveScreen .stamp-controls .manual-mark-panel {
  gap: var(--sc-2);
  padding-top: var(--sc-2);
}
#saveScreen .stamp-controls .manual-mark-actions {
  gap: var(--sc-2);
}
#saveScreen .stamp-controls .manual-mark-hint {
  font-size: calc(0.74rem * var(--stamp-scale));
}
#saveScreen .stamp-controls .ghost-button.compact.manual-mark-button-tick.is-active,
#saveScreen .stamp-controls .ghost-button.compact.manual-mark-button-cross.is-active {
  box-shadow: 0 0 0 calc(2px * var(--stamp-scale)) rgb(var(--gloss-rgb) / 0.35);
}
#saveScreen .stamp-controls .stamp-size-grid {
  grid-template-columns: minmax(0, 1fr);
}
#saveScreen .stamp-controls .manual-mark-actions {
  flex-direction: column;
}
#saveScreen .stamp-controls .primary-button,
#saveScreen .stamp-controls .ghost-button {
  width: 100%;
  white-space: normal;
}
#saveScreen .comment-controls {
  --comment-control-scale: clamp(0.875, 100cqi / 20rem, 1.1875);
  --cc-1: calc(var(--space-1) * var(--comment-control-scale));
  --cc-2: calc(var(--space-2) * var(--comment-control-scale));
  --cc-3: calc(var(--space-3) * var(--comment-control-scale));
  --cc-4: calc(var(--space-4) * var(--comment-control-scale));
  gap: var(--cc-3);
  padding: var(--cc-4);
  font-size: calc(0.82rem * var(--comment-control-scale));
}
#saveScreen .comment-controls .comment-tabs,
#saveScreen .comment-controls .comment-tab-panel.is-active,
#saveScreen .comment-controls .comment-style-grid {
  gap: var(--cc-3);
}
#saveScreen .comment-controls .comment-tabs {
  margin-top: var(--cc-1);
}
#saveScreen .comment-controls .comment-tab-panel.is-active {
  display: flex;
  flex-direction: column;
  padding-top: var(--cc-4);
  margin-right: 0;
  padding-right: 0;
  scrollbar-gutter: auto;
}
#saveScreen .comment-controls .comment-tab-panel.is-active::-webkit-scrollbar {
  width: 0;
  height: 0;
}
#saveScreen .comment-controls .comment-tab-panel.is-active::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 999px;
}
#saveScreen .comment-controls .comment-tab-panel.is-active::-webkit-scrollbar-thumb {
  background: transparent;
  border: 0;
  border-radius: 0;
}
#saveScreen .comment-controls label {
  display: grid;
  gap: var(--cc-2);
  min-width: 0;
}
#saveScreen .comment-controls .comment-color-control {
  display: grid;
  gap: var(--cc-2);
  min-width: 0;
}
#saveScreen .comment-controls .comment-text-panel {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: var(--cc-3);
  min-height: 0;
  min-width: 0;
}
#saveScreen .comment-controls .comment-style-grid {
  flex: 0 0 auto;
}
#saveScreen .comment-controls .comment-text-label {
  display: block;
  min-width: 0;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.15;
}
#saveScreen .comment-controls select,
#saveScreen .comment-controls input[type="number"],
#saveScreen .comment-controls input[type="text"] {
  min-height: 2.5rem;
}
#saveScreen .comment-controls input[type="range"] {
  margin-top: var(--cc-1);
}
#saveScreen .comment-controls .comment-action-row {
  gap: var(--cc-2);
}
#saveScreen .comment-controls .comment-records {
  margin-top: var(--cc-3);
}
#saveScreen .save-panel > .stamp-controls {
  min-height: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#saveScreen .save-panel > .stamp-controls {
  width: auto;
  margin-right: calc(-1 * var(--space-2));
  padding-right: var(--space-2);
  scrollbar-gutter: auto;
}
#saveScreen .save-panel > .stamp-controls::-webkit-scrollbar {
  width: 0.5rem;
}
#saveScreen .save-panel > .stamp-controls::-webkit-scrollbar-track {
  background: transparent;
}
#saveScreen .save-panel > .stamp-controls::-webkit-scrollbar-thumb {
  background: rgb(var(--accent-rgb) / 0.8);
  border: 0.22rem solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}
@media (min-width: 1181px) {
  #saveScreen .save-panel > .side-panel-tabs {
    margin-right: 0;
  }
  #saveScreen .save-panel > .stamp-controls {
    --side-panel-scroll-end-space: 2rem;
    padding-bottom: var(--side-panel-scroll-end-space);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--space-4), #000 calc(100% - 1.5rem), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 var(--space-4), #000 calc(100% - 1.5rem), transparent 100%);
  }
  #saveScreen .save-panel[data-active-panel="comments"] > .comment-controls {
    padding-bottom: var(--side-panel-scroll-end-space);
  }
  #saveScreen .save-panel[data-active-panel="comments"] #commentsDoneButton {
    margin-bottom: 0.4rem;
  }
}
#saveScreen .comment-controls .comment-option-toggles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  align-items: center;
  gap: var(--space-2);
  padding: 0;
}
#saveScreen .comment-controls .comment-option-toggles .toggle {
  display: flex;
  align-items: center;
  min-width: 0;
  white-space: normal;
}
#saveScreen .save-panel[data-active-panel="comments"] .primary-button:not(.reject-button):not(.comment-add-button),
#saveScreen .save-panel[data-active-panel="comments"] #commentsDoneButton {
  color: var(--on-colour-button);
  background:
  linear-gradient(180deg, rgb(var(--overlay-rgb) / 0.16), transparent 34%),
  linear-gradient(180deg, var(--action-warning-hover), var(--action-warning) 48%, var(--action-warning-press));
  border-color: rgb(var(--action-warning-rgb) / 0.58);
}
#saveScreen .save-panel[data-active-panel="comments"] .primary-button:not(.reject-button):not(.comment-add-button):hover,
#saveScreen .save-panel[data-active-panel="comments"] #commentsDoneButton:hover {
  color: var(--on-colour-button);
  background:
  linear-gradient(180deg, rgb(var(--overlay-rgb) / 0.2), transparent 34%),
  linear-gradient(180deg, var(--action-warning-hover), var(--action-warning) 48%, var(--action-warning-press));
  border-color: rgb(var(--action-warning-rgb) / 0.72);
}
body.fullscreen-open #saveScreen .save-preview {
  display: none !important;
}
@media (max-width: 1180px) {
  #saveScreen .stamp-controls .stamp-confirm-icon {
    display: inline-flex;
    flex: 0 0 auto;
    width: 2.75rem;
    min-width: 2.75rem;
    white-space: nowrap;
  }
  .save-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: auto;
  }
  #saveScreen .save-preview {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: visible;
  }
  #saveScreen .save-preview-frame:has(.save-preview-scroll) {
    position: relative;
    width: 100%;
    max-width: calc(min(calc(var(--app-visible-height) * 0.58), calc(var(--app-visible-height) - var(--workflow-offset) - 17rem)) * 1.3889);
    height: auto;
    flex: 0 0 auto;
    aspect-ratio: 1000 / 720;
    max-height: min(calc(var(--app-visible-height) * 0.58), calc(var(--app-visible-height) - var(--workflow-offset) - 17rem));
    margin-inline: auto;
  }
  #saveScreen .save-panel {
    height: auto;
    max-height: none;
    overflow: visible;
  }
  #saveScreen .save-panel > .stamp-controls {
    flex: 0 0 auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    overflow-y: visible;
  }
  .save-layout > .panel-visibility-toggle {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    justify-self: end;
    margin: 0;
    transform: none;
    translate: none;
    border-radius: 0.65rem 0 0 0.65rem;
  }
  .save-layout > .save-panel {
    grid-column: 1;
    grid-row: 2;
  }
  #saveScreen .stamp-controls .stamp-size-panel {
    padding-inline: var(--sc-2);
  }
  #saveScreen .save-preview .canvas-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  #saveScreen .stamp-canvas-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
  }
  #saveScreen .stamp-zoom-toolbar {
    width: auto;
    flex: 0 1 14rem;
  }
  .save-panel {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 640px) {
  .save-preview {
    padding: var(--space-3) var(--space-2);
  }
  .save-layout {
    gap: var(--space-3);
  }
}
@media (max-width: 1180px) {
  #saveScreen .save-preview-zoom-floating {
    left: calc((100% - min(calc(100% - var(--space-4) - var(--space-4)), calc(min(calc(var(--app-visible-height) * 0.58), calc(var(--app-visible-height) - var(--workflow-offset) - 17rem)) * 1.3889))) / 2 + var(--space-2));
  }
  #saveScreen .expand-sheet-button {
    right: calc((100% - min(calc(100% - var(--space-4) - var(--space-4)), calc(min(calc(var(--app-visible-height) * 0.58), calc(var(--app-visible-height) - var(--workflow-offset) - 17rem)) * 1.3889))) / 2 + var(--space-2));
  }
}
@media (max-width: 640px) {
  #saveScreen .save-preview-zoom-floating {
    left: calc(var(--space-2) + var(--space-2));
    bottom: calc(var(--space-2) + var(--space-3));
  }
  #saveScreen .expand-sheet-button {
    right: calc(var(--space-2) + var(--space-2));
    bottom: calc(var(--space-2) + var(--space-3));
  }
  #saveScreen .save-preview-frame:has(.save-preview-scroll) {
    max-width: 100%;
    max-height: min(calc(var(--app-visible-height) * 0.42), calc(var(--app-visible-height) - var(--workflow-offset) - 18rem));
  }
  #saveScreen .stamp-canvas-actions {
    justify-content: stretch;
  }
  #saveScreen .stamp-zoom-toolbar {
    width: 100%;
    flex: 1 1 100%;
  }
  #saveScreen .save-preview-frame {
    border-color: transparent;
    box-shadow: none;
    outline: none;
  }
}
#saveScreen .comment-controls .comment-tab-panel.is-active {
  scrollbar-color: rgb(var(--accent-rgb) / 0.8) transparent;
  scrollbar-width: thin;
}
#saveScreen .comment-controls .comment-tab-panel.is-active::-webkit-scrollbar {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
}
#saveScreen .comment-controls .comment-tab-panel.is-active::-webkit-scrollbar-track {
  background: transparent;
}
#saveScreen .comment-controls .comment-tab-panel.is-active::-webkit-scrollbar-thumb {
  background: rgb(var(--accent-rgb) / 0.72);
  border: 0.1rem solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}
.save-preview-frame:has(.save-preview-scroll) {
  touch-action: none;
}
@media (max-width: 640px), (pointer: coarse) {
  #saveScreen .stamp-controls input,
  #saveScreen .stamp-controls textarea,
  #saveScreen .stamp-controls select {
    font-size: max(16px, 1em);
  }
}
#saveScreen .stamp-controls .primary-button,
#saveScreen .stamp-controls .ghost-button {
  white-space: nowrap;
}
@media (max-width: 640px) {
  #saveScreen .side-panel-tab,
  #saveScreen .advanced-controls > summary,
  #saveScreen .stamp-controls .primary-button,
  #saveScreen .stamp-controls .ghost-button,
  #saveScreen #commentsDoneButton {
    height: 44px;
    min-height: 44px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .save-panel[data-active-panel="stamp"] > .stamp-controls:not(.comment-controls),
  .save-panel[data-active-panel="comments"] > .comment-controls {
    animation: appvlr-content-enter 300ms var(--motion-spring) both;
  }
}
@media (max-width: 640px) {
  #saveScreen .stamp-controls #skipStampButton {
    min-height: 44px;
  }
}
@media (max-width: 640px) {
  .workspace[data-has~="save-screen"]:not(#has-pad) .topbar {
    max-width: 100%;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) .topbar-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
    row-gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) .topbar-main > div {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    max-width: 100%;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) .topbar-main .app-queue-button,
  .workspace[data-has~="save-screen"]:not(#has-pad) #appQueueButton {
    box-sizing: border-box;
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: start;
    width: max-content;
    min-width: max-content;
    min-height: 44px;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0.85rem;
    overflow: visible;
    flex-shrink: 0;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) #screenTitle {
    font-size: clamp(0.78rem, 3.5vw, 0.95rem);
    line-height: 1.05;
    letter-spacing: 0.02em;
    -webkit-line-clamp: 3;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) #screenTitle {
    display: block;
    overflow: visible;
    -webkit-line-clamp: none;
  }
  .app-shell[data-has~="save-screen"]:not(#has-pad) {
    height: auto;
    min-height: 100dvh;
    overflow-x: clip;
    overflow-y: auto;
    padding-bottom: 0;
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) {
    --stamp-stack-gap: 0.75rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    row-gap: var(--stamp-stack-gap);
    width: 100%;
    max-width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    overflow: visible;
    padding-top: 0.35rem;
    padding-right: max(8px, calc(var(--workspace-gutter) + env(safe-area-inset-right, 0px)));
    padding-bottom: 0.35rem;
    padding-left: max(8px, calc(var(--workspace-gutter) + env(safe-area-inset-left, 0px)));
  }
  .workspace[data-has~="save-screen"]:not(#has-pad) .topbar {
    margin-bottom: 0.1rem;
  }
  #saveScreen.is-active {
    --stamp-sheet-floor: 240px;
    --stamp-sheet-height: 240px;
    --stamp-empty-sheet-floor: 200px;
    --stamp-stack-gap: 0.75rem;
    display: flex;
    flex-direction: column;
    row-gap: var(--stamp-stack-gap);
    height: auto;
    min-height: 0;
    overflow-x: clip;
    overflow-y: visible;
  }
  #saveScreen .save-layout {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: var(--stamp-stack-gap);
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    overflow: visible;
    --side-control-width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }
  #saveScreen .save-preview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    grid-template-areas:
    "toolbar toolbar"
    "sheet sheet"
    "zoom expand";
    flex: 0 0 auto;
    gap: 0.35rem 0.5rem;
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    padding: 0.35rem 0.2rem;
    overflow: visible;
  }
  #saveScreen .canvas-toolbar {
    grid-area: toolbar;
    flex: 0 0 auto;
    margin-bottom: 0;
  }
  #saveScreen .save-preview-frame,
  #saveScreen .save-preview-frame:has(.save-preview-scroll) {
    grid-area: sheet;
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: var(--stamp-sheet-height);
    min-width: 0;
    min-height: var(--stamp-sheet-floor);
    max-height: none;
    aspect-ratio: auto !important;
    margin-inline: 0;
  }
  #saveScreen .save-preview-frame:has(.empty-sheet-state),
  #saveScreen .save-preview-frame:has(.save-preview-scroll):has(.empty-sheet-state) {
    height: var(--stamp-empty-sheet-floor);
    min-height: var(--stamp-empty-sheet-floor);
  }
  #saveScreen .save-preview-frame:has(.save-preview-scroll) .rendered-sheet,
  #saveScreen .save-preview-viewport > .rendered-sheet {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  #saveScreen .save-preview-zoom-floating {
    grid-area: zoom;
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    inset: auto;
    z-index: auto;
    justify-self: start;
    align-self: center;
    opacity: 1;
    min-height: 44px;
  }
  #saveScreen .expand-sheet-button {
    grid-area: expand;
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    inset: auto;
    z-index: auto;
    justify-self: end;
    align-self: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    opacity: 1;
  }
  #saveScreen .review-zoom-button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  #saveScreen .save-panel {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
    padding: 0.65rem;
  }
  #saveScreen .save-panel > .stamp-controls {
    flex: 0 0 auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    overflow-y: visible;
  }
  #saveScreen .stamp-controls > .toggle,
  #saveScreen .stamp-controls .stamp-top-toggles .toggle,
  #saveScreen .stamp-controls .primary-button,
  #saveScreen .stamp-controls .ghost-button,
  #saveScreen #skipStampButton,
  #saveScreen #commentsDoneButton {
    width: 100%;
    min-height: 44px;
  }
  #saveScreen .stamp-controls .stamp-size-grid label,
  #saveScreen .comment-controls .comment-position-grid label {
    font-size: 1rem;
    line-height: 1.25;
  }
  #saveScreen .stamp-controls .size-input-row input,
  #saveScreen .comment-controls .size-input-row input,
  #saveScreen .stamp-controls .stamp-size-grid input,
  #saveScreen .comment-controls .comment-position-grid input {
    min-height: 44px;
    font-size: 1rem;
  }
  #saveScreen .manual-mark-hint-static {
    display: none;
  }
  #saveScreen .manual-mark-hint-phone {
    display: block;
  }
  #saveScreen .manual-mark-multiselect-toggle,
  #saveScreen .manual-mark-delete-selected {
    display: flex;
    width: 100%;
    min-height: 44px;
  }
  #saveScreen .panel-resize-handle,
  #saveScreen > .save-layout > .panel-visibility-toggle {
    display: none;
  }
  #saveScreen .stamp-widget {
    --stamp-handle-size: clamp(8px, 14cqmin, 12px);
  }
  #saveScreen .stamp-resize-handle {
    width: var(--stamp-handle-size);
    height: var(--stamp-handle-size);
  }
  #saveScreen .stamp-resize-handle-nw {
    top: calc(var(--stamp-handle-size) * -0.5);
    left: calc(var(--stamp-handle-size) * -0.5);
  }
  #saveScreen .stamp-resize-handle-ne {
    top: calc(var(--stamp-handle-size) * -0.5);
    right: calc(var(--stamp-handle-size) * -0.5);
  }
  #saveScreen .stamp-resize-handle-se {
    right: calc(var(--stamp-handle-size) * -0.5);
    bottom: calc(var(--stamp-handle-size) * -0.5);
  }
  #saveScreen .stamp-resize-handle-sw {
    bottom: calc(var(--stamp-handle-size) * -0.5);
    left: calc(var(--stamp-handle-size) * -0.5);
  }
  #saveScreen .stamp-resize-handle-n,
  #saveScreen .stamp-resize-handle-s,
  #saveScreen .stamp-resize-handle-e,
  #saveScreen .stamp-resize-handle-w,
  #saveScreen .stamp-resize-handle-move {
    display: none;
  }
  #saveScreen .advanced-controls,
  #saveScreen .stamp-size-panel,
  #saveScreen .stamp-size-header,
  #saveScreen .stamp-size-grid,
  #saveScreen .comment-controls .comment-position-grid {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  #saveScreen .advanced-controls {
    overflow-x: clip;
  }
  #saveScreen .advanced-controls[open] > :not(summary) {
    width: auto;
    max-width: 100%;
    margin: 0.5rem 0 0;
    padding-inline: 0.5rem;
    box-sizing: border-box;
  }
  #saveScreen .stamp-controls .stamp-size-panel {
    width: auto;
    max-width: 100%;
    padding: 0.5rem;
  }
  #saveScreen .stamp-controls .stamp-size-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.5rem;
    row-gap: 0.2rem;
  }
  #saveScreen .stamp-controls .stamp-size-lock {
    flex: 0 1 auto;
    white-space: nowrap;
  }
  #saveScreen .stamp-controls .stamp-size-grid,
  #saveScreen .comment-controls .comment-position-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  #saveScreen .stamp-controls .size-input-row,
  #saveScreen .comment-controls .size-input-row {
    overflow: hidden;
    min-width: 0;
  }
  #saveScreen .stamp-controls .size-input-row span,
  #saveScreen .comment-controls .size-input-row span {
    flex: 0 0 auto;
    padding-right: 0.55rem;
  }
}
@media (min-width: 1181px) {
  .workspace[data-has~="save-screen"]:not(#has-pad) {
    height: calc(100dvh - 10mm - var(--workflow-offset) - var(--bottom-action-space));
  }
}
#saveScreen .save-panel[data-active-panel="comments"] #commentsDoneButton {
  color: var(--on-colour-button);
  background: var(--accent-action-gradient);
  border-color: rgb(var(--accent-border-rgb) / 0.58);
}
#saveScreen .save-panel[data-active-panel="comments"] #commentsDoneButton:not(:disabled):hover {
  color: var(--on-colour-button);
  background: var(--accent-action-gradient-hover);
  border-color: rgb(var(--accent-border-rgb) / 0.72);
}
#saveScreen .save-panel {
  border-radius: var(--panel-radius);
}
@media (min-width: 641px) {
  html[data-has~="save-screen"]:not(#has-pad) #appQueueButton {
    display: none !important;
  }
}
.save-layout:has(.save-panel.panel-flyout.is-collapsed) {
  grid-template-columns: minmax(0, 1fr) var(--side-control-width);
}
.save-panel.panel-flyout.is-collapsed {
  display: flex !important;
}
@media (max-width: 1180px) {
  .save-layout:has(.save-panel.panel-flyout.is-collapsed) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
}
@media (min-width: 1181px) {
  .save-layout:has(.save-panel.panel-flyout.is-collapsed) > .panel-visibility-toggle {
    right: calc(var(--side-control-width) - 1px);
  }
}

/* ---- from features/layout-v2-float.css ---- */
html[data-layout-v2="float"] #saveScreen,
html[data-layout-v2="float"] #saveScreen .save-layout {
  transform: none !important;
  translate: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
  will-change: auto !important;
}
html[data-layout-v2="float"] #saveScreen .save-layout,
html[data-layout-v2="float"] #saveScreen .save-layout:has(.save-panel.is-collapsed),
html[data-layout-v2="float"] #saveScreen .save-layout:not(:has(.save-panel > .stamp-controls:not(.is-collapsed))) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
  transition: none !important;
  overflow: visible !important;
  --side-control-width: 0px !important;
}
html[data-layout-v2="float"] #saveScreen .save-preview {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
}
html[data-layout-v2="float"] #layoutV2FloatHost #savePanel {
  position: absolute !important;
  z-index: 130 !important;
  inset: var(--floating-panel-top) var(--floating-panel-right) auto auto !important;
  width: var(--floating-panel-width) !important;
  max-width: none !important;
  min-width: 0 !important;
  height: var(--floating-panel-height) !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, rgb(var(--surface-rgb) / .98), rgb(var(--bg-rgb) / .99)) !important;
  border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgb(var(--shadow-rgb) / .45), inset 0 1px 0 rgb(var(--gloss-rgb) / .06) !important;
  pointer-events: auto !important;
  transform-origin: right center !important;
  will-change: transform, opacity !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition: opacity 220ms ease, transform 360ms cubic-bezier(.16, 1, .3, 1), visibility 0s linear 0s !important;
}
html[data-layout-v2="float"] #layoutV2FloatHost #savePanel.is-collapsed,
html[data-layout-v2="float"] #layoutV2FloatHost .save-panel.is-collapsed {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  display: flex !important;
  transform: translate3d(28px, 0, 0) scale(.985) !important;
  transition: opacity 160ms ease, transform 240ms cubic-bezier(.4, 0, 1, 1), visibility 0s linear 240ms !important;
}
html[data-layout-v2="float"] #saveScreen .save-layout > #savePanel {
  position: fixed !important;
  z-index: 130 !important;
  inset: var(--floating-panel-top) var(--floating-panel-right) auto auto !important;
  width: var(--floating-panel-width) !important;
  height: var(--floating-panel-height) !important;
  pointer-events: auto !important;
}

/* ---- from features/review-panel-v3.css ---- */
@media (max-width: 760px) {
  html[data-layout-v2="float"] #layoutV2FloatHost .layout-v2-stage:has(#savePanel:not(.is-collapsed)) > .panel-visibility-toggle {
    right: calc(var(--floating-panel-right, 0px) + var(--floating-panel-width)) !important;
  }
}
@media (min-width: 1181px) {
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) {
    --floating-panel-right: calc(var(--app-frame-inset, 19px) + env(safe-area-inset-right, 0px)) !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) #appShell > main.workspace {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    row-gap: 16px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 0 16px !important;
    overflow: visible !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) #appShell > main.workspace > .review-topbar-viewport {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin-top: 0 !important;
    overflow: visible !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) .topbar {
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) .topbar > .topbar-main {
    container-type: inline-size !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) .topbar .topbar-main > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 17.4px !important;
    height: auto !important;
    position: relative !important;
    top: 0 !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) #screenLabel#screenLabel.screen-label {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: .6 !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) #screenTitle#screenTitle {
    display: block !important;
    margin: 0 !important;
    font-size: min(62px, calc((100cqi - 16px) / 34)) !important;
    line-height: .74 !important;
  }
  html[data-layout-v2="float"] #saveScreen#saveScreen.is-active,
  html[data-layout-v2="float"] #saveScreen#saveScreen .save-layout {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
}
@media (min-width: 761px) {
  html #saveScreen#saveScreen .save-preview {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    background: var(--surface) !important;
    border: 1px solid transparent !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }
  html #saveScreen#saveScreen .save-preview > .stamp-pane-header {
    position: relative !important;
    z-index: 100 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: .86rem 2rem !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    height: 4.28rem !important;
    min-height: 4.28rem !important;
    max-height: 4.28rem !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    border-radius: 15px 15px 0 0 !important;
    background: rgb(var(--complete-wash-rgb) / .14) !important;
    border-bottom: 1px solid rgb(var(--complete-rgb) / .32) !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header[data-stamp-side="raeco"] {
    background: rgb(var(--accent-wash-rgb) / .14) !important;
    border-bottom-color: rgb(var(--accent-rgb) / .32) !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header > #savePaneLabel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: var(--complete-strong) !important;
    font: 700 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header[data-stamp-side="raeco"] > #savePaneLabel {
    color: var(--accent-strong) !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header > #savePaneLabel .pane-ref-soft {
    color: var(--text-muted) !important;
    font-weight: 600 !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header > #savePreviewName {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: var(--text-muted) !important;
    font: 700 13.12px/16px var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header > .stamp-header-controls {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .sheet-page-button {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    opacity: 1 !important;
    border-radius: 8px !important;
    background: linear-gradient(var(--complete-button-highlight), var(--complete-button) 48%, var(--complete-button-press)) !important;
    color: var(--on-colour-button) !important;
    border: 1px solid rgb(var(--complete-border-rgb) / .82) !important;
    box-shadow: 0 6px 16px rgb(var(--shadow-rgb) / .24), inset 0 1px 0 rgb(var(--gloss-rgb) / .18) !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header[data-stamp-side="raeco"] > .stamp-header-controls > .sheet-page-button {
    background: linear-gradient(var(--accent-button-highlight), var(--accent-button) 48%, var(--accent-button-press)) !important;
    color: var(--on-colour-button) !important;
    border-color: rgb(var(--accent-rgb) / .82) !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .sheet-page-button svg,
  html #saveScreen#saveScreen .stamp-header-controls > .sheet-page-button svg path {
    stroke: var(--text-strong) !important;
    stroke-width: 2.35px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .sheet-page-button:disabled svg {
    opacity: .5 !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .sheet-page-button:disabled {
    cursor: default !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .stamp-header-lock {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    border-radius: 8px !important;
    background: linear-gradient(rgb(var(--overlay-rgb) / .075), rgb(var(--overlay-rgb) / .016)), var(--surface-card) !important;
    border: 1px solid rgb(var(--overlay-rgb) / .12) !important;
    box-shadow: 0 6px 16px rgb(var(--shadow-rgb) / .24), inset 0 1px 0 rgb(var(--gloss-rgb) / .14) !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .stamp-header-lock input {
    width: 15px !important;
    height: 15px !important;
    background: var(--gloss) !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .stamp-header-lock:is(.is-checked, :has(input:checked)) {
    background: linear-gradient(var(--complete-button-highlight), var(--complete-button) 48%, var(--complete-button-press)) !important;
    color: var(--on-colour-button) !important;
    border-color: rgb(var(--complete-border-rgb) / .82) !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .stamp-header-lock:has(input:focus-visible) {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 2px !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .stamp-header-lock:has(input:disabled) {
    cursor: default !important;
  }
  html #saveScreen#saveScreen .stamp-header-controls > .stamp-header-lock:has(input:disabled) input {
    opacity: .5 !important;
  }
  html #saveScreen#saveScreen .save-preview > #savePreviewFrame.save-preview-frame {
    grid-row: 2 !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 0 15px 15px !important;
    background: var(--bg-strong) !important;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating {
    left: 8px !important;
    bottom: 8px !important;
    opacity: 1 !important;
    background: rgb(var(--surface-rgb) / .78) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    border-color: rgb(var(--overlay-rgb) / .16) !important;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > .review-zoom-button,
  html #saveScreen#saveScreen .save-preview > #savePreviewExpandButton {
    opacity: 1 !important;
    color: var(--on-colour-button) !important;
    font-size: 0 !important;
    border: 1px solid rgb(var(--complete-border-rgb) / .6) !important;
    box-shadow: 0 4px 12px rgb(var(--shadow-rgb) / .24), inset 0 1px 0 rgb(var(--gloss-rgb) / .18) !important;
    background: linear-gradient(color-mix(in srgb, var(--complete-button-highlight) 80%, transparent), rgb(var(--complete-button-rgb) / .8) 48%, rgb(var(--complete-active-rgb) / .8)) !important;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomOut,
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomIn {
    position: relative !important;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomOut::before,
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomIn::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 15px;
    height: 15px;
    margin: auto;
    background: currentColor;
    pointer-events: none;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomOut::before {
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round'><path d='M6 12h12'/></svg>") center / 15px 15px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round'><path d='M6 12h12'/></svg>") center / 15px 15px no-repeat;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomIn::before {
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round'><path d='M6 12h12M12 6v12'/></svg>") center / 15px 15px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round'><path d='M6 12h12M12 6v12'/></svg>") center / 15px 15px no-repeat;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomOut:disabled::before,
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomIn:disabled::before {
    opacity: .5;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomReset svg,
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomReset svg path {
    stroke: currentColor !important;
    stroke-width: 3.5px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > #savePreviewZoomReset:disabled svg {
    opacity: .5 !important;
  }
  html #saveScreen#saveScreen .save-preview > .save-preview-zoom-floating > .review-zoom-value {
    color: var(--text) !important;
  }
  html #saveScreen#saveScreen .save-preview > #savePreviewExpandButton {
    right: 8px !important;
    bottom: 8px !important;
  }
  html #saveScreen#saveScreen .save-preview > #savePreviewExpandButton svg,
  html #saveScreen#saveScreen .save-preview > #savePreviewExpandButton svg path {
    stroke: currentColor !important;
    stroke-width: 3.3px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
  }
  html[data-layout-v2="float"] #saveScreen#saveScreen .save-layout {
    --rr-panel-width: min(420px, calc(100vw - 60px));
    padding-right: var(--rr-panel-clearance) !important;
    box-sizing: border-box !important;
  }
  html[data-layout-v2="float"] #layoutV2Stage-saveScreen {
    --stamp-panel-width: min(420px, calc(100vw - 60px));
    --floating-panel-width: var(--stamp-panel-width) !important;
  }
  html[data-layout-v2="float"] #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel {
    top: var(--stamp-panel-top, 24px) !important;
    right: var(--floating-panel-right, 20px) !important;
    bottom: auto !important;
    left: auto !important;
    width: var(--stamp-panel-width) !important;
    min-width: 0 !important;
    max-width: var(--stamp-panel-width) !important;
    height: var(--stamp-panel-height, calc(100dvh - 48px)) !important;
    min-height: 0 !important;
    max-height: var(--stamp-panel-height, calc(100dvh - 48px)) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    overflow: clip !important;
    background: linear-gradient(rgb(var(--surface-rgb) / .74), rgb(var(--bg-rgb) / .8)) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.3) !important;
    backdrop-filter: blur(18px) saturate(1.3) !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px rgb(var(--shadow-rgb) / .45), inset 0 1px 0 rgb(var(--gloss-rgb) / .06) !important;
    transform: none !important;
  }
}
@media (min-width: 761px) {
  html[data-layout-v2="float"] #saveScreen#saveScreen .save-layout {
    container-type: inline-size !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    align-items: start !important;
    padding-right: var(--stamp-row-reserve, calc(var(--rr-panel-width) + var(--floating-panel-right, 20px) - 8px)) !important;
  }
  html #saveScreen#saveScreen .save-preview {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  html #saveScreen#saveScreen .save-preview > .stamp-pane-header {
    contain: inline-size !important;
  }
  html #saveScreen#saveScreen .save-preview > #savePreviewFrame.save-preview-frame {
    --stamp-sheet-max-height: var(--stamp-fit-height, calc(var(--app-visible-height, 100dvh) - 32px - 4.28rem - 2px));
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: var(--sheet-aspect, 1.4142) !important;
  }
  html[data-has~="save-screen"]:not(#has-pad) > body {
    display: flow-root !important;
  }
  #appShell[data-has~="save-screen"]:not(#has-pad) {
    padding-bottom: 0 !important;
  }
  html[data-has~="save-screen"]:not(#has-pad) #appShell#appShell {
    margin-bottom: 5px !important;
  }
  html[data-has~="save-screen"]:not(#has-pad) #appShell#appShell > main.workspace {
    padding-bottom: 5px !important;
  }
  html[data-has~="save-screen"]:not(#has-pad) #appShell#appShell > .app-legal-footer {
    min-height: 0 !important;
    height: 14px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 14px !important;
  }
  html[data-has~="save-screen"]:not(#has-pad) #appShell#appShell > .app-legal-footer a {
    min-height: 0 !important;
    height: 14px !important;
    line-height: 14px !important;
  }
  html #saveScreen#saveScreen .save-preview > #savePreviewFrame.save-preview-frame:has(.empty-sheet-state) {
    width: 100% !important;
    height: min(var(--stamp-sheet-max-height), calc(var(--app-visible-height, 100dvh) - 340px)) !important;
    aspect-ratio: auto !important;
  }
  html[data-layout-v2="float"][data-has~="save-screen"]:not(#has-pad) #layoutV2FloatHost#layoutV2FloatHost {
    position: absolute !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-panel-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 4px 0 12px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-panel-top > .stamp-panel-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-panel-top > .stamp-panel-heading > strong {
    color: var(--text) !important;
    font: 800 16px/1 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-panel-top > .stamp-panel-heading > small {
    color: var(--text-muted) !important;
    font: 500 10.5px/1 var(--font-mono, "IBM Plex Mono", monospace) !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 4px !important;
    flex: 0 0 auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgb(var(--well-rgb) / .35) !important;
    box-shadow: inset 0 1px 2px rgb(var(--shade-rgb) / .5), inset 0 0 0 1px rgb(var(--gloss-rgb) / .05) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs::before {
    content: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs > .side-panel-tab {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex: 0 0 calc((100% - (var(--panel-tab-cols, 3) - 1) * 4px) / var(--panel-tab-cols, 3)) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    align-items: center !important;
    justify-content: center !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-muted) !important;
    font: 700 12px/1 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    transition: color 160ms ease, background 160ms ease !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs > .side-panel-tab[hidden] {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs > .side-panel-tab:hover {
    color: var(--text) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs > .side-panel-tab.is-active {
    color: var(--on-colour-button) !important;
    background: linear-gradient(var(--accent-button), var(--accent-button)) !important;
    box-shadow: 0 2px 8px rgb(var(--accent-rgb) / .35), inset 0 1px 0 rgb(var(--gloss-rgb) / .2) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs > .side-panel-tab:focus-visible {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 1px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs > .side-panel-tab::after {
    content: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-active-panel="stamp"] > .stamp-controls:not(.comment-controls) > .stamp-section > .stamp-section-label,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-active-panel="stamp"] > .stamp-controls:not(.comment-controls) > section[aria-label="Approval stamp"] > details.advanced-controls > summary,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-panel-section="approval"] > .stamp-controls > section[aria-label="Approval stamp"] > details.advanced-controls,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-panel-section="size"] > .stamp-controls > section[aria-label="Approval stamp"] > :not(details.advanced-controls:not(#stampDateDisclosure)),
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-panel-section="date"] > .stamp-controls > section[aria-label="Approval stamp"] > :not(#stampDateDisclosure),
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel:is([data-panel-section="approval"], [data-panel-section="size"], [data-panel-section="date"]) > .stamp-controls > section:not([aria-label="Approval stamp"]),
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-panel-section="positions"] > .stamp-controls > section:not([aria-label="Saved positions"]),
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-panel-section="marks"] > .stamp-controls > section:not([aria-label="Marks"]) {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-active-panel="stamp"] > .stamp-controls:not(.comment-controls) > section[aria-label="Approval stamp"] > details.advanced-controls {
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-controls {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 -10px 0 0 !important;
    padding: 2.5px 4px 8px 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .mark-issue-card:not([hidden]) {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > #commentsDoneButton {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(var(--accent-button), var(--accent-button) 55%, var(--accent-button)) !important;
    box-shadow: none !important;
    color: var(--on-colour-button) !important;
    font: 700 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > #commentsDoneButton:not(:disabled):is(:hover, :focus-visible) {
    background: linear-gradient(var(--accent-button-hover), var(--accent-button-hover)) !important;
    color: var(--on-colour-button) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > #commentsDoneButton:disabled {
    opacity: .5 !important;
    cursor: default !important;
  }
}
@media (min-width: 761px) {
  html[data-layout-v2="float"] #layoutV2FloatHost#layoutV2FloatHost :is(#layoutV2Stage-saveScreen, #layoutV2Stage-saveScreen) > button.panel-visibility-toggle {
    display: none !important;
  }
}
@media (min-width: 761px) and (prefers-reduced-motion: reduce) {
  html[data-layout-v2="float"] #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs::before {
    transition: none !important;
  }
}
html[data-reduce-motion="true"][data-layout-v2="float"] #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel,
html[data-reduce-motion="true"] #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .side-panel-tabs::before {
  transition: none !important;
}
@media (max-width: 760px) {
  html #saveScreen#saveScreen .stamp-pane-header > #savePaneLabel {
    display: none !important;
  }
  html #saveScreen#saveScreen .stamp-pane-header > #savePreviewName {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: var(--text-muted) !important;
    font: 700 .72rem/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-controls,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel > .stamp-controls > .comment-tab-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 12px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel[data-active-panel="stamp"] > .comment-controls,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel[data-active-panel="comments"] > .stamp-controls:not(.comment-controls) {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel):not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle:not([hidden]) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 36px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 4px 12px 4px 8px !important;
    box-sizing: border-box !important;
    border: 1px solid color-mix(in srgb, var(--muted-action) 22%, transparent) !important;
    border-radius: 12px !important;
    background: linear-gradient(var(--surface-card), var(--surface-raised)) !important;
    box-shadow: inset 0 1px 0 rgb(var(--gloss-rgb) / .06) !important;
    color: color-mix(in srgb, var(--text) 89%, var(--surface-muted)) !important;
    white-space: normal !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle:has(input:checked) {
    border-color: transparent !important;
    background: linear-gradient(var(--accent-button), var(--accent-button) 55%, var(--accent-button-press)) !important;
    box-shadow: inset 0 1px 0 rgb(var(--gloss-rgb) / .22), 0 8px 16px rgb(var(--accent-button-rgb) / .32) !important;
    color: var(--on-colour-button) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle:has(input:focus-visible) {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 2px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle:has(input:disabled) {
    opacity: .5 !important;
    cursor: default !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle > input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid rgb(var(--overlay-rgb) / .28) !important;
    border-radius: 50% !important;
    background: rgb(var(--overlay-rgb) / .04) !important;
    box-shadow: none !important;
    outline: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle > input[type="checkbox"]::before,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle > input[type="checkbox"]::after {
    content: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle > input[type="checkbox"]:checked {
    border-color: transparent !important;
    background: rgb(var(--overlay-rgb) / .22) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5.5 12.5l4.2 4.2L18.5 8'/></svg>") center / 15px 15px no-repeat !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel, .stamp-action-row) > label.toggle > span {
    min-width: 0 !important;
    color: inherit !important;
    font: 700 10.5px/1.25 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-section:not(:first-child) {
    padding-top: 12px !important;
    border-top: 1px solid rgb(var(--overlay-rgb) / .08) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-section > .panel-label, .stamp-section-label) {
    display: block !important;
    margin: 0 !important;
    padding: 6px 0 0 !important;
    color: var(--text) !important;
    font: 700 13px/1.3 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-section:first-child > .stamp-section-label {
    padding-top: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.manual-mark-hint, .comment-action-status, .saved-list-empty, .stamp-library-status) {
    margin: 0 !important;
    color: color-mix(in srgb, var(--text) 87%, var(--surface-muted)) !important;
    font: 500 11px/1.5 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .comment-action-status:empty {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-library-status.is-error {
    color: var(--danger-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.primary-button, .ghost-button):not(.comment-colour-swatch):not(.comment-size-step) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .12) !important;
    border-radius: 8px !important;
    background: linear-gradient(rgb(var(--overlay-rgb) / .075), rgb(var(--overlay-rgb) / .016)), var(--surface-card) !important;
    box-shadow: 0 10px 24px rgb(var(--shadow-rgb) / .28), inset 0 1px 0 rgb(var(--gloss-rgb) / .14), inset 0 -2px 0 rgb(var(--shade-rgb) / .18) !important;
    color: var(--text-strong) !important;
    font: 700 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    opacity: 1 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.primary-button, .ghost-button):not(.comment-colour-swatch):not(.comment-size-step):not(:disabled):is(:hover, :focus-visible) {
    filter: brightness(1.12) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.primary-button, .ghost-button):not(.comment-colour-swatch):not(.comment-size-step):disabled {
    opacity: .5 !important;
    cursor: default !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.primary-button, .ghost-button) > svg {
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #placeManualTick.manual-mark-button-tick {
    background: linear-gradient(color-mix(in srgb, var(--action-success) 67%, var(--shade)), color-mix(in srgb, var(--action-success) 67%, var(--shade)) 48%, color-mix(in srgb, var(--action-success) 55%, var(--shade))) !important;
    color: var(--on-colour-button) !important;
    border-color: color-mix(in srgb, color-mix(in srgb, var(--success) 67%, var(--shade)) 55%, transparent) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #placeManualCross.manual-mark-button-cross {
    background: linear-gradient(rgb(var(--overlay-rgb) / .16), transparent 40%), linear-gradient(var(--action-danger-hover), var(--action-danger) 55%, var(--action-danger)) !important;
    color: var(--on-colour-button) !important;
    border-color: rgb(var(--danger-rgb) / .65) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(#placeManualTick, #placeManualCross).is-active {
    box-shadow: 0 0 0 2px var(--gloss), 0 10px 24px rgb(var(--shadow-rgb) / .28) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #placeManualTick svg,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #placeManualCross svg {
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #addCommentButton.comment-add-button {
    background: var(--accent-button-press) !important;
    color: var(--on-colour-button) !important;
    border-color: rgb(var(--accent-border-rgb) / .55) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.stamp-action-row, .comment-action-row):not([hidden]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-action-row > :is(.primary-button, .ghost-button):not(.comment-colour-swatch):not(.comment-size-step) {
    min-width: 0 !important;
    padding: 0 6px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-section .button-blue:is(.primary-button, .ghost-button):not(.comment-colour-swatch):not(.comment-size-step) {
    background: var(--accent-button-press) !important;
    color: var(--on-colour-button) !important;
    border-color: rgb(var(--accent-border-rgb) / .55) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #rejectionBuilderRow:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-save-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-save-row > input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 8px !important;
    background-color: var(--surface-card) !important;
    color: var(--text-strong) !important;
    font: 600 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .02em !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-save-row > input::placeholder {
    color: rgb(var(--text-strong-rgb) / .62) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-save-row > input:focus-visible {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 1px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-save-row > :is(.primary-button, .ghost-button):not(.comment-colour-swatch):not(.comment-size-step) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 64px !important;
    height: auto !important;
    min-height: 34px !important;
    padding: 0 16px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-list:empty {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row {
    display: flex !important;
    align-items: stretch !important;
    min-width: 0 !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .12) !important;
    border-radius: 8px !important;
    background: linear-gradient(rgb(var(--overlay-rgb) / .075), rgb(var(--overlay-rgb) / .016)), var(--surface-card) !important;
    box-shadow: inset 0 1px 0 rgb(var(--gloss-rgb) / .14), inset 0 -2px 0 rgb(var(--shade-rgb) / .18) !important;
    overflow: hidden !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row.is-active {
    border-color: transparent !important;
    background: linear-gradient(var(--accent-button), var(--accent-button) 55%, color-mix(in srgb, var(--accent-button) 78%, var(--shade))) !important;
    color: var(--on-colour-button) !important;
    box-shadow: inset 0 1px 0 rgb(var(--gloss-rgb) / .22), 0 8px 16px rgb(var(--accent-button-rgb) / .32) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > button {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--text-strong) !important;
    font: 700 12px/16px var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > .saved-row-apply {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 8px 4px 8px 12px !important;
    overflow: hidden !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > .saved-row-delete {
    flex: 0 0 34px !important;
    width: 34px !important;
    color: var(--muted-action) !important;
    font: 400 20px/32px var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row.is-active > .saved-row-delete {
    color: rgb(var(--text-strong-rgb) / .8) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > .saved-row-apply:hover {
    background: rgb(var(--overlay-rgb) / .08) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > .saved-row-delete:hover {
    background: rgb(var(--danger-rgb) / .22) !important;
    color: color-mix(in srgb, var(--text-muted) 29%, var(--text-strong)) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > button:focus-visible {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: -3px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .saved-row > button:disabled {
    opacity: .5 !important;
    cursor: default !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)) !important;
    align-content: start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    container-type: inline-size !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto auto !important;
    align-self: start !important;
    gap: 4px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    outline: none !important;
    cursor: default !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-select {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--paper) !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-card {
    display: grid !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: 2px solid rgb(var(--overlay-rgb) / .12) !important;
    border-radius: 8px !important;
    background: var(--surface-raised) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-card:hover {
    border-color: rgb(var(--overlay-rgb) / .5) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-select img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    background: none !important;
    object-fit: contain !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile[aria-selected="true"] .stamp-library-tile-card {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / .35) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid :is(.stamp-library-tile-select, .stamp-library-tile-rename, .stamp-library-tile-delete):focus-visible {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: -2px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-name {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-name strong {
    display: block !important;
    overflow: hidden !important;
    color: var(--muted-action) !important;
    font: 600 10.5px/1.3 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .02em !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile[aria-selected="true"] .stamp-library-tile-name strong {
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-actions {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid rgb(var(--overlay-rgb) / .1) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid :is(.stamp-library-tile-rename, .stamp-library-tile-delete) {
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text) !important;
    opacity: 1 !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-delete {
    border-left: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    color: var(--danger-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid :is(.stamp-library-tile-rename, .stamp-library-tile-delete):hover {
    background: rgb(var(--overlay-rgb) / .08) !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-delete:hover {
    background: rgb(var(--action-danger-rgb) / .35) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid :is(.stamp-library-tile-rename, .stamp-library-tile-delete) svg {
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-add {
    position: relative !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 2px !important;
    width: 100% !important;
    aspect-ratio: auto !important;
    height: calc((100cqw - 16px) / 3 + 30px) !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1.5px dashed rgb(var(--overlay-rgb) / .28) !important;
    border-radius: 8px !important;
    background: rgb(var(--overlay-rgb) / .03) !important;
    color: var(--muted-action) !important;
    font: 700 10.5px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-add:hover {
    border-color: rgb(var(--overlay-rgb) / .5) !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-add:is(.is-dragging, :has(input:focus-visible)) {
    border-color: var(--accent-strong) !important;
    background: rgb(var(--accent-wash-rgb) / .14) !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-add > svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls[hidden] {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.date-pos-panel, .date-pos-tool) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    min-width: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-stage {
    width: min(100%, 14rem) !important;
    margin: 0 auto !important;
    border: 1px solid rgb(var(--overlay-rgb) / .18) !important;
    border-radius: 8px !important;
    background: var(--paper) !important;
    box-shadow: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-stage.is-picking-date-colour {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 2px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-marker:focus-visible {
    outline: 2px solid var(--accent-text) !important;
    outline-offset: 2px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
    min-width: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-fields > label {
    display: grid !important;
    align-content: start !important;
    gap: 4px !important;
    min-width: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-fields > :is(.date-pos-font, .date-pos-size, .date-pos-colour, .date-pos-actions) {
    grid-column: 1 / -1 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-fields > label > input:not([type="color"]) {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 8px !important;
    background-color: var(--surface-card) !important;
    color: var(--text-strong) !important;
    font: 600 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .02em !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-fields > label > input:not([type="color"]):focus-visible {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 1px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-font > select {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 8px !important;
    background-color: var(--surface-card) !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-colour-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #dateColorDropper.ghost-button.icon-only:not(.comment-colour-swatch):not(.comment-size-step) {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #dateColorDropper.is-active {
    background: var(--accent-button-press) !important;
    color: var(--on-colour-button) !important;
    border-color: rgb(var(--accent-border-rgb) / .55) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-colour-row #dateColor {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 2px !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .12) !important;
    border-radius: 8px !important;
    background: var(--surface-card) !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-colour-row #dateColorValue {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: color-mix(in srgb, var(--text) 87%, var(--surface-muted)) !important;
    font: 600 11px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    text-align: left !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-colour-row .date-palette-row {
    flex: 1 0 100% !important;
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-palette-row .comment-colour-swatch {
    width: auto !important;
    min-width: 0 !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    border: 1px solid rgb(var(--overlay-rgb) / .28) !important;
    border-radius: 6px !important;
    box-shadow: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-palette-row .comment-colour-swatch.is-active {
    border-color: var(--text-strong) !important;
    box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / .7) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-palette-row .comment-colour-swatch:focus-visible {
    outline: 2px solid var(--accent-strong) !important;
    outline-offset: 2px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .date-pos-actions > #datePosReset {
    grid-column: 1 / -1 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-icon-selects {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-icon-selects label {
    display: grid !important;
    gap: 4px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid rgb(var(--overlay-rgb) / .08) !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 4px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--text) !important;
    font: 800 11.52px/1.5 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    list-style: none !important;
    cursor: pointer !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls > summary::-webkit-details-marker {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls > summary::before {
    content: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls > summary::after {
    content: "" !important;
    position: static !important;
    flex: 0 0 auto !important;
    width: 8px !important;
    height: 8px !important;
    margin: -4px 4px 0 0 !important;
    border: 0 !important;
    border-right: 1.6px solid var(--text) !important;
    border-bottom: 1.6px solid var(--text) !important;
    background: none !important;
    transform: rotate(45deg) !important;
    transition: transform 160ms ease !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls[open] > summary::after {
    margin-top: 4px !important;
    transform: rotate(225deg) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls details.advanced-controls > :not(summary) {
    margin: 0 0 8px !important;
    padding: 12px !important;
    border: 1px solid rgb(var(--overlay-rgb) / .08) !important;
    border-radius: 8px !important;
    background: var(--surface-card) !important;
    box-shadow: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.stamp-size-grid, .comment-style-grid, .stamp-icon-selects, .date-pos-fields) label,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls :is(.stamp-position-field > .panel-label, .stamp-size-header .panel-label, .comment-color-control, .comment-align-control legend) {
    color: var(--muted-action) !important;
    font: 700 10.5px/1.3 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .size-input-row,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-position-field :is(input, select),
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .comment-style-grid > label > select {
    min-height: 36px !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 8px !important;
    background-color: var(--surface-card) !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .custom-select-trigger {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 10px 0 12px !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 8px !important;
    background-color: var(--surface-card) !important;
    color: var(--text-strong) !important;
    font: 600 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .02em !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .size-input-row {
    box-sizing: border-box !important;
    height: 36px !important;
    min-height: 36px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .size-input-row > input {
    height: 34px !important;
    min-height: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .comment-size-control > :is(#commentSize, .comment-size-step) {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    box-sizing: border-box !important;
    border: 1px solid rgb(var(--overlay-rgb) / .1) !important;
    border-radius: 8px !important;
    background-color: var(--surface-card) !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls #addCommentButton.is-active {
    box-shadow: 0 0 0 2px var(--gloss), 0 10px 24px rgb(var(--shadow-rgb) / .28) !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-section > label.toggle.manual-mark-multiselect-toggle {
    display: none !important;
  }
}
@media all {
  html #savePreviewFrame#savePreviewFrame .comment-draw-box {
    position: absolute !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: 2px dashed var(--accent) !important;
    border-radius: 2px !important;
    background: rgb(var(--accent-wash-rgb) / .14) !important;
    pointer-events: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(#commentTemplateList, #commentTemplateEmpty)[hidden] {
    display: none !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #commentTemplateList .saved-row > .saved-row-apply {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: center !important;
    gap: 1px !important;
    padding: 7px 4px 7px 12px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #commentTemplateList .saved-row-apply > :is(.saved-row-name, small) {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #commentTemplateList .saved-row-apply > small {
    color: var(--muted-action) !important;
    font: 500 10.5px/14px var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #commentTemplateList .saved-row.is-active .saved-row-apply > small {
    color: rgb(var(--text-strong-rgb) / .8) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .comment-sheet-section > #commentList {
    margin-top: 0 !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-top-toggles:not([hidden]) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .manual-mark-panel, .stamp-action-row) > label.toggle:not([hidden]) {
    justify-content: center !important;
    padding: 4px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .manual-mark-panel, .stamp-action-row) > label.toggle > span {
    flex: 0 1 auto !important;
    text-align: center !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-action-row > label.toggle:not([hidden]) {
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 8px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-action-row > label.toggle > span {
    font: 700 12px/1.2 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-top-toggles > label.toggle > span > .pill-line {
    display: block !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel label.toggle .pill-line {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    white-space: nowrap !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel #stampLibraryTileGrid .stamp-library-tile-name strong {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-library-status.is-routine:not(.is-error) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-top-toggles:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel) > label.toggle:not([hidden]),
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel) > label.toggle:not([hidden]):has(input:checked) {
    justify-content: flex-start !important;
    gap: 12px !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-bottom: 1px solid rgb(var(--overlay-rgb) / .08) !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--text-strong) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel) > label.toggle:not([hidden]):first-of-type {
    border-top: 1px solid rgb(var(--overlay-rgb) / .08) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel :is(.stamp-top-toggles, .stamp-section, .manual-mark-panel) > label.toggle > span {
    flex: 1 1 auto !important;
    text-align: left !important;
    font: 700 12px/1.25 var(--font-ui, "IBM Plex Sans", system-ui, sans-serif) !important;
    letter-spacing: .04em !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-top-toggles > label.toggle > span > .pill-line {
    display: inline !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel .stamp-controls .stamp-action-row.stamp-action-row-single:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel > .stamp-controls:not(.comment-controls) {
    grid-auto-rows: minmax(min-content, 1fr) !important;
    align-content: stretch !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel > .stamp-controls > .stamp-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--panel-section-gap, 12px) !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel #stampLibraryTileGrid {
    grid-template-columns: repeat(var(--stamp-tile-cols, 3), minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 10px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel #stampLibraryTileGrid > .stamp-library-add {
    align-self: start !important;
    width: 100% !important;
    height: calc((100cqw - (var(--stamp-tile-cols, 3) - 1) * 10px) / var(--stamp-tile-cols, 3) + 30px) !important;
    min-height: 0 !important;
    margin: 0 0 calc(4px + 10.5px * 1.3) !important;
    box-sizing: border-box !important;
    place-content: center !important;
    justify-items: center !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel[data-panel-section="positions"] > .stamp-controls > section[aria-label="Saved positions"] > .stamp-save-row {
    margin-top: auto !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel > .comment-controls > .comment-tab-panel.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--panel-section-gap, 12px) !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel > .comment-controls > .comment-tab-panel.is-active > * {
    flex: 0 0 auto !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel > .comment-controls > .comment-tab-panel.is-active > .comment-sheet-section {
    flex: 1 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel .comment-sheet-section > #commentList {
    flex: 1 0 auto !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel section[aria-label="Marks"] > details.advanced-controls,
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel section[aria-label="Marks"] .stamp-icon-selects {
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel section[aria-label="Marks"] .stamp-icon-selects {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}
@media all {
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel :is(.stamp-section, .comment-tab-panel).panel-group-stack {
    padding-inline: 4px !important;
    box-sizing: border-box !important;
  }
  html #layoutV2FloatHost#layoutV2FloatHost #savePanel#savePanel#savePanel .panel-group-stack > .panel-group-divided {
    border-top: 1px solid rgb(var(--overlay-rgb) / .08) !important;
    padding-top: var(--panel-group-half, 12px) !important;
  }
}
