/* Session-zone action and announcement; existing workspace styles stay intact. */
.session-zone-action { margin: 12px 0; padding: 14px; border: 1px solid #c8b299; border-radius: 12px; background: #fffaf3; color: #35271c; }
.session-zone-action[hidden] { display: none; }
.session-zone-action p { margin: 8px 0; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.session-zone-action button { min-height: 44px; max-width: 100%; white-space: normal; }
.session-zone-action [role="status"]:empty { display: none; }
.session-zone-action [data-error="true"] { color: #a02b1d; }
@media (max-width: 600px) { .session-zone-action button { width: 100%; } }
.zone-announcement { box-sizing: border-box; width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; border: 1px solid #d6c5b5; border-radius: 20px; padding: 26px; color: #292521; background: #fffdf9; box-shadow: 0 20px 80px #0004; }
.zone-announcement::backdrop { background: #181512a6; }
.zone-announcement__badge { display: inline-block; padding: 6px 10px; background: #fbe7d4; border-radius: 8px; color: #974f23; font-size: 14px; font-weight: 700; }
.zone-announcement h2 { margin: 16px 0 12px; font-size: clamp(22px, 5vw, 28px); line-height: 1.2; }
.zone-announcement p { margin: 12px 0; font-size: 16px; line-height: 1.5; }
.zone-announcement__route { padding: 14px; background: #28231f; color: #fff; border-radius: 12px; font-size: 18px; font-weight: 700; text-align: center; }
.zone-announcement__note { color: #6d6055; }
.zone-announcement button { width: 100%; min-height: 46px; margin-top: 10px; border: 0; border-radius: 10px; padding: 12px; background: #aa5c2b; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.zone-announcement button:focus-visible { outline: 3px solid #df904d; outline-offset: 3px; }
@media (max-width: 420px) { .zone-announcement { padding: 20px; } }
