:focus-visible {
  outline: 3px solid #8a6818;
  outline-offset: 3px;
}

.bc-toast-region {
  position: fixed;
  z-index: 100;
  right: 1rem;
  bottom: 1rem;
  display: grid;
  gap: .75rem;
  max-width: min(26rem, calc(100vw - 2rem));
}

.bc-toast {
  padding: .9rem 1rem;
  border-radius: .25rem;
  background: #1c1408;
  color: #fff;
  box-shadow: 0 10px 30px rgba(28, 20, 8, .2);
}

.bc-toast--success { background: #1e4d2b; }
.bc-toast--error { background: #6b2020; }

.bc-status { display: inline-flex; align-items: center; padding: .3rem .55rem; border-radius: .2rem; font-size: .75rem; font-weight: 700; }
.bc-status--completed { background: #d9f2df; color: #1e4d2b; }
.bc-status--cancelled { background: #fbe0e0; color: #6b2020; }
.bc-status--in_progress, .bc-status--pending_review { background: #fef3c7; color: #604808; }
.bc-status--draft, .bc-status--scheduled, .bc-status--assigned, .bc-status--archived { background: #eee9da; color: #4a3c1c; }

.bc-loading, .bc-empty-state { padding: 2rem; text-align: center; color: #6a6040; }
.bc-empty-state { border: 1px dashed rgba(100,80,20,.3); background: rgba(250,247,240,.7); }

.bc-page-message {
  max-width: 42rem;
  margin: 8vh auto;
  padding: 2rem;
  background: #faf7f0;
  border-left: 4px solid #8a6818;
  color: #1c1408;
}

/* Messagerie privée — client/intervenant vers administration. */
.bc-message-launcher { position: fixed; z-index: 30; right: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .55rem; min-height: 2.8rem; padding: .7rem 1rem; border: 0; border-radius: 999px; background: #1c1408; color: #fff; font: inherit; font-weight: 700; box-shadow: 0 12px 28px rgba(28,20,8,.24); cursor: pointer; }
.bc-message-launcher:hover { background: #33250d; }
.bc-message-launcher__badge { position: absolute; top: -.45rem; right: -.25rem; overflow: hidden; width: .8rem; height: .8rem; border: 2px solid #faf7f0; border-radius: 50%; background: #bd1d31; color: transparent; }
.bc-message-dialog { width: min(38rem, calc(100vw - 1.5rem)); max-height: min(43rem, calc(100vh - 1.5rem)); padding: 0; border: 1px solid #ded7c9; border-radius: 1rem; color: #1c1408; background: #fffdf8; box-shadow: 0 26px 70px rgba(28,20,8,.28); }
.bc-message-dialog::backdrop { background: rgba(27,20,11,.48); }
.bc-message-dialog__head { display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.35rem; border-bottom: 1px solid #e6dfd1; }
.bc-message-dialog h2 { margin: .2rem 0; font-size: 1.3rem; }
.bc-message-close { width: 2.3rem; height: 2.3rem; border: 1px solid #d9d1c2; border-radius: .55rem; background: #fff; color: #1c1408; font-size: 1.5rem; cursor: pointer; }
.bc-message-muted { margin: .25rem 0 0; color: #766b55; font-size: .88rem; line-height: 1.45; }
.bc-message-feed { display: grid; gap: .85rem; min-height: 15rem; max-height: 25rem; overflow: auto; padding: 1.15rem 1.35rem; background-color: #faf7f0; background-image: radial-gradient(rgba(138,104,24,.12) 1px, transparent 1px); background-size: 18px 18px; }
.bc-message-empty { align-self: center; padding: 1rem; border: 1px dashed #cfc3a7; border-radius: .75rem; background: rgba(255,253,248,.9); color: #5f5134; text-align: center; }
.bc-message-empty p { margin: .45rem 0 0; font-size: .9rem; line-height: 1.45; }
.bc-message-bubble { width: fit-content; max-width: 84%; padding: .75rem .9rem; border: 1px solid #e2dbce; border-radius: .85rem .85rem .85rem .2rem; background: #fff; box-shadow: 0 2px 7px rgba(28,20,8,.05); font-size: .93rem; line-height: 1.45; }
.bc-message-bubble.is-mine { justify-self: end; border: 0; border-radius: .85rem .85rem .2rem .85rem; background: #1c1408; color: #fff; }
.bc-message-bubble p { margin: 0; white-space: pre-wrap; }
.bc-message-bubble__author { margin-bottom: .25rem !important; color: #80631f; font-size: .72rem; font-weight: 800; }
.bc-message-bubble.is-mine .bc-message-bubble__author { color: #f4c43b; }
.bc-message-bubble time { display: block; margin-top: .35rem; color: #897f6d; font-size: .7rem; }
.bc-message-bubble.is-mine time { color: #c8bdad; }
.bc-message-compose { display: grid; gap: .65rem; padding: 1rem 1.35rem; border-top: 1px solid #e6dfd1; }
.bc-message-compose textarea { width: 100%; box-sizing: border-box; resize: vertical; padding: .7rem; border: 1px solid #d5cbb9; border-radius: .65rem; color: #1c1408; background: #fff; font: inherit; }
.bc-message-compose__footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: #766b55; font-size: .72rem; }
.bc-message-send { min-height: 2.5rem; padding: .55rem 1rem; border: 0; border-radius: .55rem; color: #fff; background: #1c1408; font: inherit; font-weight: 700; cursor: pointer; }
.bc-message-send:disabled { opacity: .6; cursor: wait; }
.bc-message-error { padding: .75rem; border-radius: .6rem; color: #7b1f2b; background: #fff0f1; }
@media (max-width: 34rem) { .bc-message-launcher { right: .75rem; bottom: .75rem; } .bc-message-launcher span:not(.bc-message-launcher__badge) { display: none; } .bc-message-launcher { width: 3rem; justify-content: center; padding: .7rem; } .bc-message-dialog { width: calc(100vw - 1rem); } .bc-message-feed { max-height: 44vh; padding: 1rem; } .bc-message-dialog__head, .bc-message-compose { padding-left: 1rem; padding-right: 1rem; } }
.bc-push-banner{position:sticky;top:.6rem;z-index:24;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem 1rem;max-width:min(72rem,calc(100% - 1.5rem));margin:.75rem auto;padding:.75rem 1rem;border:1px solid #b9d8ef;border-radius:.85rem;background:#eff8ff;color:#163c5a;box-shadow:0 8px 24px rgba(20,20,16,.1);font:inherit}.bc-push-banner strong{font-size:.9rem}.bc-push-banner p{flex:1;min-width:14rem;margin:0;font-size:.8rem;line-height:1.35}.bc-push-toggle{min-height:2.5rem;padding:.55rem .85rem;border:1px solid #7caecf;border-radius:.6rem;background:#173e59;color:#fff;font:700 .8rem/1 system-ui,sans-serif;cursor:pointer}.bc-push-toggle[aria-pressed="true"]{border-color:#197a4e;background:#fff;color:#14613e}@media (max-width:34rem){.bc-push-banner{margin:.5rem;align-items:flex-start}.bc-push-toggle{width:100%}}
