/* The confirmation sheet (web/write-confirm.js), in the Lovable skin every Reviews screen wears.
   It is opened on document.body, outside any app's main, so it carries its own tokens. */
.write-confirm{
  --wc-ground:#f8f4ec;--wc-card:#fefbf5;--wc-ink:#3e2418;--wc-muted:#776559;--wc-line:#e0d9cd;
  --wc-primary:#573222;--wc-primary-ink:#fbf6ee;--wc-accent:#bf623d;--wc-soft:#f0e8dc;
  --wc-action:#a9532f;--wc-bad:#a8342c;--wc-bad-soft:#f6dfdb;--wc-warn:#8a4f10;--wc-warn-soft:#f7ead6;--wc-good:#2f7a5b;
  width:min(640px,calc(100vw - 32px));max-height:min(88vh,860px);padding:0;border:1px solid var(--wc-line);border-radius:16px;
  background:var(--wc-ground);color:var(--wc-ink);font-family:"Karla",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  box-shadow:0 2px 4px rgb(61 32 19 / 8%),0 18px 40px -22px rgb(61 32 19 / 30%);overflow:auto;-webkit-font-smoothing:antialiased
}
.write-confirm::backdrop{background:rgb(40 22 14 / 45%)}
.write-confirm>*{margin-left:24px;margin-right:24px}
.write-confirm h2{margin-top:22px;margin-bottom:12px;font-family:"Fraunces",Georgia,"Times New Roman",serif;font-weight:600;font-size:1.35rem;line-height:1.25}
.write-confirm-banner{margin-top:0;margin-bottom:16px;padding:12px 14px;border-radius:12px;background:var(--wc-warn-soft);color:var(--wc-warn);font-weight:700;line-height:1.4;border:1px solid color-mix(in srgb,var(--wc-warn) 30%,transparent)}
.write-confirm-items{display:grid;gap:12px}
.write-confirm-item{padding:14px 16px;border-radius:16px;background:var(--wc-card);border:1px solid var(--wc-line)}
.write-confirm-item.critical{border:2px solid var(--wc-bad)}
.write-confirm-item-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between}
.write-confirm-meta{color:var(--wc-muted);font-size:.9rem}
.write-confirm-flag{margin:8px 0 0;color:var(--wc-bad);font-weight:700;font-size:.92rem}
.write-confirm-quote{margin:10px 0 0;padding:0 0 0 12px;border-left:3px solid var(--wc-line);color:var(--wc-muted);white-space:pre-wrap;overflow-wrap:anywhere;max-height:9em;overflow:auto}
.write-confirm-changes{display:grid;gap:10px;margin-top:12px}
.write-confirm-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--wc-muted);margin-bottom:4px}
.write-confirm-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}
.write-confirm-before .write-confirm-text{color:var(--wc-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--wc-muted) 50%,transparent)}
.write-confirm-after{padding:10px 12px;border-radius:12px;background:var(--wc-soft)}
.write-confirm-removed{margin:0;color:var(--wc-bad);font-weight:700}
.write-confirm-warnings{margin:10px 0 0;padding:10px 12px 10px 28px;border-radius:12px;background:var(--wc-bad-soft);color:var(--wc-bad);font-size:.92rem;line-height:1.4}
.write-confirm-phrase{display:grid;gap:6px;margin-top:18px;font-weight:700}
.write-confirm-phrase input{min-height:44px;padding:0 12px;border:1px solid var(--wc-line);border-radius:12px;background:var(--wc-card);color:var(--wc-ink);font:inherit;font-weight:400;letter-spacing:.04em}
.write-confirm-status{margin-top:16px;margin-bottom:0;display:grid;gap:8px}
.write-confirm-count{font-weight:700}
.write-confirm-count.sent{color:var(--wc-good)}
.write-confirm-count.failed{color:var(--wc-bad)}
.write-confirm-progress{display:block;height:6px;border-radius:999px;background:var(--wc-soft);overflow:hidden}
.write-confirm-progress i{display:block;height:100%;width:0;background:var(--wc-accent);transition:width .2s linear}
/* Cancel first and apart: the gap pushes the confirm button to the far edge, so the two are never
   adjacent and a thumb aimed at one does not land on the other. */
.write-confirm-actions{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;margin:18px 0 0;padding:16px 24px 20px;background:var(--wc-ground);border-top:1px solid var(--wc-line)}
.write-confirm .write-confirm-actions{margin-left:0;margin-right:0}
.write-confirm-gap{flex:1 1 32px;min-width:32px}
.write-confirm-actions button{min-height:44px;padding:0 20px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
.write-confirm-cancel{border:1px solid var(--wc-line);background:var(--wc-card);color:var(--wc-ink)}
.write-confirm-cancel.undo{border-color:var(--wc-primary);background:var(--wc-primary);color:var(--wc-primary-ink)}
.write-confirm-go{border:1px solid var(--wc-action);background:var(--wc-action);color:var(--wc-primary-ink)}
.write-confirm-go:disabled{opacity:.45;cursor:not-allowed}
.write-confirm button:focus-visible,.write-confirm input:focus-visible{outline:3px solid color-mix(in srgb,var(--wc-accent) 55%,transparent);outline-offset:2px}
@media (max-width:560px){
  .write-confirm{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:16px 16px 0 0}
  .write-confirm>*{margin-left:16px;margin-right:16px}
  .write-confirm-actions{padding:14px 16px 18px}
}
