/* Shake-to-undo prompt (js/shake-undo.js): a sheet at the bottom of the screen, like the iOS undo alert. Heights avoid dvh (Firefox). */
.shake-undo{width:min(380px,calc(100% - 24px));margin:auto auto 16px;border:1px solid #cbd5e1;border-radius:16px;padding:18px 18px 14px;background:#fff;color:#183044;box-shadow:0 24px 90px #0f172a55;font:14px/1.5 Inter,system-ui,sans-serif}
.shake-undo::backdrop{background:#0f172a55}
.shake-undo h2{font-size:17px;line-height:1.3;font-weight:700;margin:0 0 4px}
.shake-undo p{margin:0 0 14px;color:#53677a;font-size:13px}
.shake-undo-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.shake-undo button{border:1px solid #a8bacb;background:#fff;color:#183044;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;min-height:44px;cursor:pointer}
.shake-undo button[hidden]{display:none}
.shake-undo .shake-undo-primary{background:#207873;border-color:#207873;color:#fff}
.shake-undo button:focus-visible{outline:3px solid #36a59e;outline-offset:2px}
/* The toast stays in the page as a live region; empty means idle. max-content keeps it on one line (left:50% alone would cap it at half the screen). */
.shake-undo-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;text-align:center;z-index:13000;background:#183044;color:#fff;border-radius:999px;padding:8px 16px;font:600 13px/1.4 Inter,system-ui,sans-serif;box-shadow:0 8px 30px #0f172a55;pointer-events:none}
.shake-undo-toast:empty{opacity:0;padding:0;box-shadow:none}
