/* One icon grid, independent of font glyphs and native button padding. */
.product-showcase .icon {
    display:block; width:20px; height:20px; flex:0 0 auto;
    fill:none; stroke:currentColor; stroke-width:1.9;
    stroke-linecap:round; stroke-linejoin:round; pointer-events:none;
}
.product-showcase :is(.viewer-toolbar,.product-tools,.stage-actions,.dialog-heading) .icon-button {
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; min-width:44px; min-height:44px;
    flex:0 0 44px; padding:0; margin:0; line-height:1;
    border:1px solid #cdded7; border-radius:11px;
    color:var(--primary); background:#fff; box-shadow:0 1px 2px #153f3510;
}
.product-showcase :is(.viewer-toolbar,.product-tools,.stage-actions,.dialog-heading) .icon-button .icon { width:20px; height:20px; }
.product-showcase :is(.viewer-toolbar,.product-tools,.stage-actions,.dialog-heading) .icon-button:hover:not(:disabled),
.product-showcase .control-cluster .secondary-button:hover:not(:disabled) { background:#eaf3ee; border-color:#92b6a6; }
.product-showcase :is(.icon-button,.control-cluster .secondary-button):active:not(:disabled) { background:#dfeee6; }
.product-showcase .control-cluster .secondary-button[aria-pressed=true] { color:#fff; background:var(--primary); border-color:var(--primary); }
.product-showcase :is(.icon-button,.control-cluster button):disabled { opacity:.45; cursor:default; box-shadow:none; }
.product-showcase .dialog-heading { align-items:flex-start; gap:16px; }
.product-showcase .dialog-heading>div { min-width:0; }
.product-showcase .dialog-heading .icon-button { border-color:transparent; background:#edf5f0; border-radius:50%; box-shadow:none; }
.product-showcase :is(.viewer-toolbar,.product-tools) { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.product-showcase .control-cluster { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:5px; border:1px solid #e0e9e3; border-radius:16px; background:#f5f8f5; }
.product-showcase .control-cluster .secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin:0; padding:10px 13px; border-color:#cdded7; border-radius:11px; font-size:13px; line-height:1.25; white-space:nowrap; }
.product-showcase .viewer-toolbar .orbit-hint { flex-basis:100%; margin:0; text-align:center; }
.product-showcase .icon-pause, .product-showcase [aria-pressed=true] .icon-play { display:none; }
.product-showcase [aria-pressed=true] .icon-pause { display:block; }
.product-showcase .quantity-control button { display:flex; align-items:center; justify-content:center; padding:0; line-height:1; }
.product-showcase .quantity-control .icon { width:16px; height:16px; stroke-width:2; }
.product-showcase :is(.back-button,.header-button,.mode-glyph) .icon { width:20px; height:20px; }
.product-showcase .mode-glyph { display:grid; place-items:center; }
.product-showcase .product-view-hint { display:inline-flex; align-items:center; gap:4px; }
.product-showcase .product-view-hint .icon { width:13px; height:13px; }
.product-showcase .loading-buttons .icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; line-height:1; }

/* Saved-plan rows share one button column; file actions stay together. */
.product-showcase .saved-workspace { grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:12px; }
.product-showcase .saved-workspace :is(input:not([type=file]),select) { width:100%; min-height:46px; margin:0; }
.product-showcase .saved-workspace :is(#save-workspace,#load-workspace) { width:100%; min-height:46px; padding:10px 12px; gap:8px; }
.product-showcase .saved-workspace>.workspace-file-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:10px; margin:4px 0 0; padding-top:16px; border-top:1px solid var(--line); }
.product-showcase .workspace-file-actions .text-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 13px; margin:0; border:1px solid #dce6df; border-radius:10px; background:#f6f9f6; line-height:1.25; }
.product-showcase .workspace-file-actions .text-button:hover { background:#eaf3ee; border-color:#92b6a6; }
.product-showcase .workspace-file-actions .icon { width:18px; height:18px; }
.product-showcase #workspace-status:empty { display:none; }
@media(max-width:520px) {
    .product-showcase :is(.viewer-toolbar,.product-tools) { gap:8px; }
    .product-showcase .control-cluster { gap:5px; padding:4px; }
    .product-showcase .control-cluster .secondary-button { padding:10px; gap:6px; font-size:12px; }
    .product-showcase .saved-workspace { grid-template-columns:minmax(0,1fr) 94px; gap:10px; }
    .product-showcase .workspace-file-actions .text-button { flex:1 1 120px; font-size:13px; }
}
