/* Shared visual feedback uses only the existing L6 / D19 semantic tokens. */
.suite-overlay{padding:0;max-width:calc(100vw - 32px)}.suite-overlay[open]{display:flex;flex-direction:column}.suite-overlay-head,.suite-overlay-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;flex:none}.suite-overlay-head{border-bottom:1px solid var(--admin-line-soft)}.suite-overlay-head h2{font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0}.suite-overlay-body{padding:24px;overflow:auto;min-height:0;overscroll-behavior:contain;overflow-wrap:anywhere}.suite-overlay-description{color:var(--admin-muted);margin:0 0 20px}.suite-overlay-footer{border-top:1px solid var(--admin-line-soft);background:var(--admin-panel-2);justify-content:flex-end;flex-wrap:wrap}.suite-overlay-footer[hidden]{display:none}.suite-overlay-error{margin:0;padding:12px 24px;color:var(--admin-danger);background:var(--admin-danger-bg)}.suite-overlay-error[hidden]{display:none}.suite-overlay[data-variant=drawer]{inset:0 0 0 auto;margin:0;width:min(520px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-width:0 0 0 1px}.suite-overlay[data-variant=drawer] .suite-overlay-body{flex:1}
.suite-toasts{position:fixed;z-index:100;right:20px;bottom:20px;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;display:grid;gap:10px;font:14px/1.5 var(--admin-font);color:var(--admin-text);scrollbar-color:var(--admin-scroll) var(--admin-panel)}.suite-toasts:empty{display:none}.suite-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;background:var(--admin-panel);border:1px solid var(--admin-card-border);border-radius:var(--admin-panel-radius);box-shadow:var(--admin-shadow-float);overflow-wrap:anywhere}.suite-toast>div{min-width:0}.suite-toast p{margin:5px 0 0;color:var(--admin-muted)}.suite-toast .suite-button{margin-top:10px}.suite-toast>button{margin:0;flex:none}.suite-toast>div>strong,.suite-toast>div>:first-child{font-weight:700}.suite-toast>div::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px;background:var(--admin-info)}.suite-toast[data-tone=success]>div::before{background:var(--admin-brand)}.suite-toast[data-tone=warning]>div::before{background:var(--admin-warning)}.suite-toast[data-tone=error]>div::before{background:var(--admin-danger)}
.suite-state{box-sizing:border-box;min-height:240px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;gap:16px;padding:24px;color:var(--admin-text);font:14px/1.5 var(--admin-font);background:var(--admin-panel);border:1px solid var(--admin-card-border);border-radius:var(--admin-panel-radius)}.suite-state h3{margin:0 0 8px;font-size:17px;font-weight:800}.suite-state p{margin:0;color:var(--admin-muted);max-width:55ch}.suite-state{box-shadow:var(--admin-shadow)}.suite-state[data-state=error] h3{color:var(--admin-danger)}.suite-state[data-state=success] h3{color:var(--admin-accent)}.suite-skeleton{display:grid;gap:10px;width:100%;max-width:420px}.suite-skeleton span{height:10px;background:var(--admin-hover);border-radius:999px}.suite-skeleton span:nth-child(2){width:80%}.suite-skeleton span:last-child{width:60%}.suite-state :focus-visible,.suite-toasts :focus-visible{outline:1px solid var(--admin-accent);outline-offset:2px}
@media(max-width:800px){.suite-overlay-head,.suite-overlay-footer{padding:16px}.suite-overlay-body{padding:16px}.suite-toasts{right:16px;bottom:16px}.suite-overlay[data-variant=drawer]{width:100vw}.suite-state{padding:18px}}
@media(forced-colors:active){.suite-toast,.suite-state{border:1px solid CanvasText}}
.suite-overlay :focus-visible{outline:1px solid var(--admin-accent);outline-offset:2px}

/* State icon: a tinted tile with the tone-coloured symbol (mask keeps it theme-aware). */
.suite-state:not([data-state=loading])::before{content:"";order:-2;flex:none;width:48px;height:48px;border-radius:14px;background:var(--suite-state-bg,var(--admin-neutral-bg))}
.suite-state:not([data-state=loading])::after{content:"";order:-1;flex:none;width:24px;height:24px;margin:-52px 0 12px 12px;background:var(--suite-state-tone,var(--admin-muted));-webkit-mask:var(--suite-state-icon) center/contain no-repeat;mask:var(--suite-state-icon) center/contain no-repeat}
.suite-state[data-state=empty]{--suite-state-bg:var(--admin-neutral-bg);--suite-state-tone:var(--admin-muted);--suite-state-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2013h5l2%203h4l2-3h5%20M5.5%205h13L21%2013v6H3v-6z%27%2F%3E%3C%2Fsvg%3E")}
.suite-state[data-state=error]{--suite-state-bg:var(--admin-danger-bg);--suite-state-tone:var(--admin-danger);--suite-state-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203a9%209%200%201%200%200%2018%209%209%200%200%200%200-18z%20M12%207.5v5.5%20M12%2016.2v.3%27%2F%3E%3C%2Fsvg%3E")}
.suite-state[data-state=unavailable]{--suite-state-bg:var(--admin-warning-bg);--suite-state-tone:var(--admin-warning);--suite-state-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7.5%2011V8a4.5%204.5%200%200%201%209%200v3%20M5%2011h14v10H5z%27%2F%3E%3C%2Fsvg%3E")}
.suite-state[data-state=success]{--suite-state-bg:var(--admin-success-bg);--suite-state-tone:var(--admin-accent);--suite-state-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203a9%209%200%201%200%200%2018%209%209%200%200%200%200-18z%20M8%2012.5l2.8%202.8L16.5%209%27%2F%3E%3C%2Fsvg%3E")}
/* Nested in a card, a state is an inset area rather than another card. */
:is(.suite-v1-card,.suite-template-card,.studio-section,.studio-chart-card) .suite-state{box-shadow:none;border-color:transparent;background:var(--admin-panel-2)}
