/* Sala Dom — estilos fiéis ao design "Sala Dom.dc.html" (Claude Design) */

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
  margin: 0;
  background: #f6f7f9;
  color: #171a21;
  font-family: 'Instrument Sans', -apple-system, 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
}

button { font-family: inherit; }
input { font-family: inherit; }
a { color: #4338ca; }
a:hover { color: #2f2799; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #d6dae2; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

#app { min-height: 100%; }

/* ---------- Login ---------- */

.login-m {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 28px;
  background: #fff;
}
.login-m .login-logo { width: 152px; height: 23px; object-fit: contain; object-position: left center; display: block; margin-bottom: 30px; }
.login-m .login-title { font-size: 30px; font-weight: 700; letter-spacing: -.025em; line-height: 1.15; }
.login-m .login-sub { font-size: 15px; color: #6e7686; margin-top: 8px; line-height: 1.5; }

.login-d {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.login-d .login-box { width: 380px; text-align: center; padding: 24px; }
.login-d .login-logo { width: 172px; height: 26px; object-fit: contain; display: block; margin: 0 auto 30px; }
.login-d .login-title { font-size: 32px; font-weight: 700; letter-spacing: -.025em; }
.login-d .login-sub { font-size: 15px; color: #6e7686; margin-top: 8px; }

.btn-google {
  margin-top: 34px;
  width: 100%;
  height: 52px;
  border: 1px solid #dfe3ea;
  background: #fff;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  color: #171a21;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 1px 2px rgba(16,20,35,.05);
}
.btn-google:hover { background: #f6f7f9; }
.login-d .btn-google { margin-top: 32px; }
.g-circle {
  width: 20px; height: 20px; border-radius: 50%;
  border: 2px solid #4338ca;
  border-right-color: #e5533d;
  border-bottom-color: #0f9d63;
  display: inline-block;
}
.login-note { margin-top: 16px; font-size: 13px; color: #8a91a0; text-align: center; }
.login-error { margin-top: 16px; font-size: 13px; color: #a83a27; background: #fdeeec; border: 1px solid #f6d7d1; border-radius: 10px; padding: 10px 14px; text-align: center; }

.dev-login { margin-top: 26px; border-top: 1px solid #eef0f4; padding-top: 20px; text-align: left; }
.dev-login .field-label { margin-top: 12px; }
.dev-login .btn-primary-full { margin-top: 16px; }

/* ---------- Cascas mobile / desktop ---------- */

.shell-m {
  min-height: 100vh;
  min-height: 100dvh;
  background: #f6f7f9;
  display: flex;
  flex-direction: column;
}
.topbar-m {
  height: 58px;
  flex: none;
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  background: #fff;
  border-bottom: 1px solid #e6e8ee;
}
.brand { display: flex; align-items: center; gap: 9px; }
.brand img { width: 25px; height: 24px; object-fit: contain; display: block; }
.brand .brand-name { font-size: 16px; font-weight: 700; letter-spacing: -.02em; }

.avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: #eceafb; color: #4338ca;
  font-size: 12px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; border: 0;
}

.content-m { flex: 1; min-height: 0; }

.tabbar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 30;
  height: 66px;
  display: flex;
  background: #fff;
  border-top: 1px solid #e6e8ee;
  padding-bottom: 6px;
}
.tabbar button {
  flex: 1; border: 0; background: transparent; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 5px; font-size: 11px; font-weight: 600; padding-top: 6px;
}
.tabbar .tab-dot { width: 9px; height: 9px; border-radius: 3px; display: block; }
.tabbar .on { color: #4338ca; }
.tabbar .on .tab-dot { background: #4338ca; }
.tabbar .off { color: #a2a8b6; }
.tabbar .off .tab-dot { background: #a2a8b6; }

.fab {
  position: fixed;
  right: 18px;
  bottom: 86px;
  z-index: 20;
  height: 52px;
  padding: 0 22px;
  border: 0;
  border-radius: 16px;
  background: #4338ca;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 10px 24px -8px rgba(67,56,202,.7);
}
.fab:hover { background: #3a30b3; }

.shell-d {
  min-height: 100vh;
  min-height: 100dvh;
  background: #f6f7f9;
  display: flex;
  flex-direction: column;
}
.topbar-d {
  height: 64px;
  flex: none;
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 28px;
  background: #fff;
  border-bottom: 1px solid #e6e8ee;
}
.topbar-d .brand img { width: 27px; height: 26px; }
.topbar-d .brand .brand-name { font-size: 17px; }
.nav-d { display: flex; gap: 4px; }
.nav-d button {
  border: 0; cursor: pointer; height: 36px; padding: 0 14px;
  border-radius: 9px; font-size: 14px; font-weight: 600;
}
.nav-d .on { background: #eceafb; color: #2f2799; }
.nav-d .off { background: transparent; color: #6e7686; }
.topbar-d .right { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.btn-new-d {
  height: 40px; padding: 0 18px; border: 0; border-radius: 11px;
  background: #4338ca; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer;
}
.btn-new-d:hover { background: #3a30b3; }
.topbar-d .avatar { width: 34px; height: 34px; }

.content-d { flex: 1; min-height: 0; padding: 24px 28px 32px; }
.content-d .inner { max-width: 1180px; margin: 0 auto; }

/* ---------- Cartões e status ---------- */

.card {
  background: #fff;
  border: 1px solid #e6e8ee;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16,20,35,.04);
}

.status-card { padding: 16px 18px; border-left: 4px solid #0f9d63; }
.status-card.busy { border-left-color: #e5533d; }
.status-card .status-flag { display: flex; align-items: center; gap: 8px; }
.status-card .status-dot { width: 8px; height: 8px; border-radius: 50%; background: #0f9d63; display: inline-block; }
.status-card .status-label { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #0f9d63; }
.status-card.busy .status-dot { background: #e5533d; }
.status-card.busy .status-label { color: #e5533d; }
.status-card .status-title { font-size: 23px; font-weight: 700; letter-spacing: -.02em; margin-top: 8px; }
.status-card .status-sub { font-size: 13px; color: #6e7686; margin-top: 4px; }
.status-card.d { padding: 16px 20px; flex: 1; }
.status-card.d .status-title { font-size: 24px; margin-top: 6px; }

.agenda-m { padding: 16px 16px 110px; }

.daynav-m { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; margin-bottom: 12px; }
.nav-arrow {
  width: 34px; height: 34px; border-radius: 10px;
  border: 1px solid #e2e5ec; background: #fff; color: #4b5262;
  font-size: 17px; line-height: 1; cursor: pointer;
}
.nav-arrow:disabled { opacity: .35; cursor: default; }
.daynav-title { text-align: center; }
.daynav-title .t { font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.daynav-title .s { font-size: 12px; color: #8a91a0; margin-top: 1px; }

/* ---------- Timeline mobile ---------- */

.tl-card { padding: 14px 12px 14px 0; }
.tl-grid { display: grid; grid-template-columns: 50px 1fr; }
.tl-hours .h { height: 66px; font-size: 11px; color: #a2a8b6; font-weight: 600; padding-left: 12px; }
.tl-hours .h:last-child { height: auto; }
.tl-body {
  position: relative;
  height: 792px;
  background-image: repeating-linear-gradient(to bottom, #eef0f4 0 1px, transparent 1px 66px);
}
.tl-seg { position: absolute; left: 0; right: 0; padding: 2px 0; }
.slot-free {
  width: 100%; height: 100%;
  border: 1px dashed #d8dde6; background: #fbfcfd; border-radius: 10px;
  cursor: pointer; color: #8a91a0; font-size: 12px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 0 8px; text-align: center;
}
.slot-free:hover { background: #f4f3ff; border-color: #bdb7f0; color: #4338ca; }
.block {
  width: 100%; height: 100%;
  border-radius: 8px; overflow: hidden;
}
.block.mine { background: #eceafb; border-left: 3px solid #4338ca; }
.block.other { background: #f1f3f7; border-left: 3px solid #9aa3b5; }
.block .b-title {
  font-weight: 700; letter-spacing: -.01em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.block.mine .b-title { color: #2f2799; }
.block.other .b-title { color: #2b3140; }
.block .b-suffix { font-weight: 500; }
.block.mine .b-suffix { color: #6259c4; }
.block.other .b-suffix { color: #6e7686; }
.block .b-detail {
  font-size: 11px; margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.block.mine .b-detail { color: #6259c4; }
.block.other .b-detail { color: #6e7686; }

.now-line { position: absolute; left: -6px; right: 0; height: 1px; background: #e5533d; z-index: 3; }
.now-line .now-dot { position: absolute; left: 0; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: #e5533d; display: block; }

/* ---------- Agenda desktop ---------- */

.agenda-top-d { display: flex; align-items: stretch; gap: 16px; }
.weeknav-d {
  flex: none; display: flex; align-items: center; gap: 10px;
  background: #fff; border: 1px solid #e6e8ee; border-radius: 14px;
  padding: 0 14px; box-shadow: 0 1px 2px rgba(16,20,35,.04);
}
.weeknav-d .mid { text-align: center; min-width: 150px; }
.weeknav-d .t { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.weeknav-d .s { font-size: 12px; color: #8a91a0; margin-top: 1px; }

.week-card { margin-top: 16px; padding: 0 16px 16px; }
.week-head { display: grid; grid-template-columns: 62px repeat(5, 1fr); border-bottom: 1px solid #eef0f4; }
.week-head .dh { padding: 14px 0 12px; text-align: center; }
.week-head .dh .wd { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #a2a8b6; }
.week-head .dh .dn { font-size: 19px; font-weight: 700; letter-spacing: -.02em; color: #2b3140; margin-top: 2px; }
.week-head .dh.today .wd, .week-head .dh.today .dn { color: #4338ca; }
.week-body { display: grid; grid-template-columns: 62px repeat(5, 1fr); padding-top: 10px; }
.week-hours .h { height: 54px; font-size: 11px; color: #a2a8b6; font-weight: 600; }
.day-col {
  position: relative;
  height: 648px;
  border-left: 1px solid #eef0f4;
  background-image:
    repeating-linear-gradient(to bottom, #f2f4f7 0 1px, transparent 1px 27px),
    repeating-linear-gradient(to bottom, #e6e9ef 0 1px, transparent 1px 54px);
}
.vago-d {
  position: absolute; left: 3px; right: 3px;
  border: 0; background: transparent; border-radius: 7px; cursor: pointer;
}
.vago-d:hover { background: #f4f3ff; }
.blk-wrap-d { position: absolute; left: 3px; right: 3px; padding: 1px 0; }
.blk-wrap-m { position: absolute; left: 0; right: 0; padding: 2px 0; }
.block.d { border-radius: 7px; }
.block.d .b-detail { margin-top: 1px; }
.block.d.mine { cursor: pointer; }
.block.d.mine:hover { background: #e2dffa; }
.day-col .now-line { left: 0; }
.day-col .now-line .now-dot { left: -3px; }

/* ---------- Minhas reservas ---------- */

.minhas-m { padding: 20px 16px 110px; }
.page-title-m { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 4px; }
.page-sub-m { font-size: 13px; color: #8a91a0; margin-bottom: 18px; }

.res-card-m { padding: 15px 16px; margin-bottom: 10px; }
.res-card-m .row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.res-card-m .r-title { font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.res-card-m .r-when { font-size: 13px; color: #6e7686; margin-top: 3px; }
.res-tag {
  flex: none; font-size: 11px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: #4338ca; background: #eceafb;
  border-radius: 6px; padding: 4px 8px;
}
.res-card-m .actions { display: flex; gap: 8px; margin-top: 14px; }
.btn-edit {
  flex: 1; height: 40px; border: 1px solid #dfe3ea; background: #fff;
  border-radius: 10px; font-size: 14px; font-weight: 600; color: #2b3140; cursor: pointer;
}
.btn-edit:hover { background: #f6f7f9; }
.btn-cancel-res {
  flex: 1; height: 40px; border: 1px solid #f3d3cd; background: #fff;
  border-radius: 10px; font-size: 14px; font-weight: 600; color: #c9432e; cursor: pointer;
}
.btn-cancel-res:hover { background: #fdeeec; }

.minhas-d { max-width: 720px; }
.page-title-d { font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
.page-sub-d { font-size: 14px; color: #8a91a0; margin-top: 4px; margin-bottom: 20px; }
.res-card-d { padding: 18px 20px; margin-bottom: 10px; display: flex; align-items: center; gap: 16px; }
.res-card-d .info { flex: 1; }
.res-card-d .head { display: flex; align-items: center; gap: 10px; }
.res-card-d .r-title { font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.res-card-d .res-tag { padding: 3px 8px; }
.res-card-d .r-when { font-size: 14px; color: #6e7686; margin-top: 4px; }
.res-card-d .btn-edit, .res-card-d .btn-cancel-res { flex: none; padding: 0 18px; }

.empty-card { padding: 44px 24px; text-align: center; }
.empty-card.d { padding: 56px 24px; }
.empty-icon { width: 44px; height: 44px; border-radius: 12px; background: #f1f3f7; margin: 0 auto 16px; }
.empty-title { font-size: 16px; font-weight: 700; }
.empty-card.d .empty-title { font-size: 17px; }
.empty-sub { font-size: 14px; color: #6e7686; margin-top: 4px; }
.btn-new-empty {
  margin-top: 20px; height: 44px; padding: 0 22px; border: 0; border-radius: 11px;
  background: #4338ca; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer;
}
.btn-new-empty:hover { background: #3a30b3; }

/* ---------- Perfil ---------- */

.perfil-m { padding: 20px 16px 110px; }
.perfil-m .page-title-m { margin-bottom: 18px; }
.perfil-card-m { padding: 20px; display: flex; align-items: center; gap: 14px; }
.perfil-card-m .avatar { width: 48px; height: 48px; font-size: 16px; cursor: default; }
.perfil-name { font-size: 16px; font-weight: 700; }
.perfil-email { font-size: 13px; color: #6e7686; margin-top: 2px; }
.btn-sair-m {
  margin-top: 12px; width: 100%; height: 48px; border: 1px solid #dfe3ea;
  background: #fff; border-radius: 12px; font-size: 14px; font-weight: 600;
  color: #c9432e; cursor: pointer; text-align: left; padding: 0 20px;
}
.btn-sair-m:hover { background: #fdeeec; }

.perfil-d { max-width: 520px; }
.perfil-d .page-title-d { margin-bottom: 20px; }
.perfil-card-d { padding: 22px; display: flex; align-items: center; gap: 16px; }
.perfil-card-d .avatar { width: 52px; height: 52px; font-size: 17px; cursor: default; }
.perfil-card-d .perfil-name { font-size: 17px; }
.perfil-card-d .perfil-email { font-size: 14px; }
.btn-sair-d {
  margin-left: auto; height: 40px; padding: 0 18px; border: 1px solid #dfe3ea;
  background: #fff; border-radius: 10px; font-size: 14px; font-weight: 600;
  color: #c9432e; cursor: pointer;
}
.btn-sair-d:hover { background: #fdeeec; }

/* ---------- Sheets (mobile) e modais (desktop) ---------- */

.overlay {
  position: fixed; inset: 0; z-index: 40;
  background: rgba(15,18,28,.4);
}
.shell-d .overlay { display: flex; align-items: center; justify-content: center; }

.sheet {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  background: #fff; border-radius: 22px 22px 0 0;
  padding: 8px 20px 26px;
  max-height: 88%;
  overflow-y: auto;
  box-shadow: 0 -18px 40px -20px rgba(16,20,35,.45);
}
.sheet-handle { width: 38px; height: 4px; border-radius: 99px; background: #e2e5ec; margin: 0 auto 16px; }
.sheet-title { font-size: 20px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 18px; }

.modal {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 45;
  width: 480px; max-width: calc(100vw - 32px); max-height: 86%; overflow-y: auto;
  background: #fff; border-radius: 18px; padding: 26px 26px 24px;
  box-shadow: 0 40px 80px -30px rgba(16,20,35,.5);
}
.modal .sheet-title { font-size: 21px; margin-bottom: 20px; }

.field-label { font-size: 12px; font-weight: 600; color: #6e7686; margin-bottom: 6px; }
.field-label.mt { margin: 16px 0 6px; }
.input-text {
  width: 100%; height: 48px; border: 1px solid #dfe3ea; border-radius: 11px;
  padding: 0 14px; font-size: 15px; color: #171a21; background: #fff; outline: none;
}
.stepper {
  display: flex; align-items: center; justify-content: space-between;
  height: 48px; border: 1px solid #dfe3ea; border-radius: 11px; padding: 0 6px;
}
.stepper.narrow { padding: 0 4px; }
.stepper button {
  width: 36px; height: 36px; border: 0; background: transparent;
  color: #4b5262; font-size: 17px; cursor: pointer;
}
.stepper.narrow button { width: 34px; }
.stepper button:disabled { opacity: .35; cursor: default; }
.stepper .val { font-size: 15px; font-weight: 600; }
.stepper.narrow .val { font-weight: 700; }
.time-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }

.chips { display: flex; gap: 8px; margin-top: 14px; }
.chips button {
  flex: 1; height: 40px; border-radius: 10px; font-size: 13px; font-weight: 600; cursor: pointer;
  border: 1px solid #dfe3ea; background: #fff; color: #4b5262;
}
.chips button.on { border-color: #c3bdf3; background: #eceafb; color: #2f2799; }

.conflict-box {
  margin-top: 18px; background: #fdeeec; border: 1px solid #f6d7d1;
  border-radius: 12px; padding: 14px 16px;
}
.conflict-box .c-title { font-size: 14px; font-weight: 700; color: #a83a27; line-height: 1.4; }
.conflict-box .c-sub { font-size: 13px; color: #8d5245; margin-top: 6px; }
.btn-suggest {
  margin-top: 12px; height: 38px; padding: 0 16px; border: 1px solid #e8b7ac;
  background: #fff; color: #a83a27; border-radius: 9px; font-size: 13px; font-weight: 600; cursor: pointer;
}

.btn-confirm-m {
  margin-top: 20px; width: 100%; height: 52px; border: 0; border-radius: 13px;
  background: #4338ca; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer;
}
.btn-confirm-m.blocked { background: #c3c7d1; cursor: not-allowed; }
.btn-ghost-m {
  margin-top: 8px; width: 100%; height: 46px; border: 0; background: transparent;
  color: #6e7686; font-size: 14px; font-weight: 600; cursor: pointer;
}

.form-actions-d { display: flex; gap: 10px; margin-top: 22px; }
.btn-cancel-d {
  flex: none; height: 48px; padding: 0 20px; border: 1px solid #dfe3ea;
  background: #fff; border-radius: 12px; color: #2b3140; font-size: 14px; font-weight: 600; cursor: pointer;
}
.btn-confirm-d {
  flex: 1; height: 48px; border: 0; border-radius: 12px;
  background: #4338ca; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer;
}
.btn-confirm-d.blocked { background: #c3c7d1; cursor: not-allowed; }

/* Sucesso */
.success-sheet { padding: 34px 24px 26px; text-align: center; }
.success-modal { width: 440px; padding: 32px 28px 24px; text-align: center; }
.success-check {
  width: 56px; height: 56px; border-radius: 50%; background: #e6f6ef; color: #0f9d63;
  font-size: 26px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; margin: 0 auto 18px;
}
.success-title { font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
.success-modal .success-title { font-size: 22px; }
.success-sub { font-size: 14px; color: #6e7686; margin-top: 6px; }
.success-box { margin-top: 20px; background: #f6f7f9; border-radius: 12px; padding: 14px 16px; text-align: left; }
.success-box .s-name { font-size: 15px; font-weight: 700; }
.success-box .s-meta { font-size: 13px; color: #6e7686; margin-top: 3px; }
.btn-success-primary-m {
  margin-top: 18px; width: 100%; height: 50px; border: 0; border-radius: 13px;
  background: #4338ca; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer;
}
.btn-ghost-sm { margin-top: 8px; width: 100%; height: 44px; border: 0; background: transparent; color: #6e7686; font-size: 14px; font-weight: 600; cursor: pointer; }
.success-actions-d { display: flex; gap: 10px; margin-top: 20px; }
.success-actions-d .ghost {
  flex: 1; height: 46px; border: 1px solid #dfe3ea; background: #fff; border-radius: 12px;
  color: #2b3140; font-size: 14px; font-weight: 600; cursor: pointer;
}
.success-actions-d .primary {
  flex: 1; height: 46px; border: 0; border-radius: 12px;
  background: #4338ca; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer;
}

/* Cancelar reserva */
.cancel-sheet { padding: 28px 24px 26px; }
.cancel-modal { width: 420px; padding: 28px; }
.cancel-title { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.cancel-text { font-size: 14px; color: #6e7686; margin-top: 8px; line-height: 1.5; }
.btn-danger-m {
  margin-top: 22px; width: 100%; height: 50px; border: 0; border-radius: 13px;
  background: #c9432e; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer;
}
.btn-keep-m {
  margin-top: 8px; width: 100%; height: 46px; border: 1px solid #dfe3ea; background: #fff;
  border-radius: 12px; color: #2b3140; font-size: 14px; font-weight: 600; cursor: pointer;
}
.cancel-actions-d { display: flex; gap: 10px; margin-top: 22px; }
.cancel-actions-d .keep {
  flex: 1; height: 46px; border: 1px solid #dfe3ea; background: #fff; border-radius: 12px;
  color: #2b3140; font-size: 14px; font-weight: 600; cursor: pointer;
}
.cancel-actions-d .danger {
  flex: 1; height: 46px; border: 0; border-radius: 12px;
  background: #c9432e; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer;
}

/* Toast de erro genérico */
.toast {
  position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%);
  z-index: 60; background: #171a21; color: #fff; font-size: 13px; font-weight: 600;
  padding: 10px 18px; border-radius: 10px; box-shadow: 0 10px 24px -8px rgba(16,20,35,.5);
}
