/* @comunmedia/ui - Acero components. Uses --cm-* tokens. No shadows except overlays; radii 6/8. */
.cm-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.cm-switch input{position:absolute;opacity:0;width:0;height:0}
.cm-switch .track{width:34px;height:20px;border-radius:999px;background:var(--cm-zinc-300,#d4d4d8);position:relative;transition:background .12s}
.cm-switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--cm-bg,#fff);transition:transform .12s}
.cm-switch input:checked+.track{background:var(--cm-accent)}
.cm-switch input:checked+.track::after{transform:translateX(14px)}
.cm-switch input:focus-visible+.track{outline:2px solid var(--cm-accent);outline-offset:2px}
.cm-switch input:disabled+.track{opacity:.45;cursor:not-allowed}
.cm-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:grid;place-items:center;z-index:50}
.cm-modal{background:var(--cm-bg);border:1px solid var(--cm-line);border-radius:var(--cm-radius-card);min-width:320px;max-width:min(560px,92vw);padding:20px;box-shadow:var(--cm-shadow-lg)}
.cm-modal h2{font-size:16px;margin:0 0 8px}.cm-modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.cm-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cm-accent-soft);color:var(--cm-accent);font-size:12px;font-weight:600;vertical-align:middle;overflow:hidden}
.cm-avatar.lg{width:40px;height:40px;font-size:15px}.cm-avatar.sm{width:22px;height:22px;font-size:10px}.cm-avatar img{width:100%;height:100%;object-fit:cover}
.cm-alert{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--cm-line);border-radius:var(--cm-radius-btn);background:var(--cm-zinc-100)}
.cm-alert.info{border-color:var(--cm-accent);background:var(--cm-accent-soft)}
.cm-alert.success{border-color:var(--cm-success,#16a34a)}.cm-alert.warning{border-color:var(--cm-warn);background:var(--cm-warn-soft)}.cm-alert.danger{border-color:var(--cm-danger);color:var(--cm-danger)}
.cm-alert button.close{margin-left:auto;border:0;background:transparent;padding:0 4px}
