:root { --page-banner-height: 40px; }
#site-banner { position: sticky; top: 0; z-index: 40; padding: 8px 16px; border-bottom: 1px solid #e7dfe5; background: #f5edf3; color: #594652; text-align: center; font: 13px/1.6 system-ui, sans-serif; overflow-wrap: anywhere; }
#page-banner-message { font-weight: 600; }
#page-banner-disclosure { font-weight: 400; }
#page-banner-message[hidden],#page-banner-separator[hidden],.page-announcements[hidden] {display:none;}
.page-announcements {display:flex;align-items:center;gap:14px;max-width:1500px;margin:auto;text-align:left;}
.page-announcement-viewport {height:52px;overflow:hidden;flex:1;min-width:0;}
.page-announcement-track {transition:transform .45s ease;}
.page-announcement-slide {height:52px;display:flex;gap:12px;align-items:center;overflow:hidden;}
.page-announcement-slide>strong {flex-shrink:0;max-width:35%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.page-announcement-inline {min-width:0;overflow:hidden;max-height:48px;}.page-announcement-inline p {margin:0;}.page-announcement-slide>span {max-width:30%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.page-announcement-inline :is(h3,h4,h5) {margin:0;font:inherit;font-weight:600;}
.page-announcement-controls {display:flex;align-items:center;gap:6px;flex-shrink:0;}.page-announcement-controls button {border:1px solid #d3c2ce;border-radius:7px;background:#fff;color:#594652;padding:6px 9px;font:inherit;cursor:pointer;}
.page-announcement-controls button:focus-visible {outline:2px solid #452540;outline-offset:2px;}.page-announcement-controls [hidden] {display:none;}
.page-announcement-dialog {max-width:760px;width:calc(100% - 32px);max-height:80dvh;overflow:auto;padding:24px;border:1px solid #d3c2ce;border-radius:18px;background:#fff;color:#2d2230;font:17px/1.7 system-ui,sans-serif;}
.page-announcement-dialog::backdrop {background:rgb(28 18 28 / .5);}.page-announcement-dialog header {display:flex;align-items:center;justify-content:space-between;gap:20px;}.page-announcement-dialog h2 {font-size:24px;overflow-wrap:anywhere;}.page-announcement-dialog button {font:inherit;padding:8px 14px;border-radius:8px;border:1px solid #d3c2ce;background:#f5edf3;cursor:pointer;}
.page-announcement-rich {overflow-wrap:anywhere;}.page-announcement-rich pre {white-space:pre-wrap;padding:12px;background:#f5edf3;border-radius:8px;}.page-announcement-rich blockquote {border-left:3px solid #d3c2ce;padding-left:16px;margin-left:0;}
@media(prefers-reduced-motion:reduce){.page-announcement-track {transition:none;}}
@media(max-width:620px){.page-announcements{display:block;}.page-announcement-slide{display:block;}.page-announcement-slide>strong{display:block;max-width:100%;}.page-announcement-slide>span{display:none;}.page-announcement-inline{white-space:nowrap;max-height:22px;}.page-announcement-controls{justify-content:center;margin:6px 0;}}
body[data-page-banner] .topbar { top: var(--page-banner-height); }
body[data-page-banner] .app-shell,
body[data-page-banner] .workspace { min-height: calc(100dvh - var(--page-banner-height)); }
body[data-page-banner] .skip-link:focus { top: calc(var(--page-banner-height) + 10px); }
body[data-page-banner="operator"] .sidebar { top: var(--page-banner-height); }
body[data-page-banner] .auth-screen { top: var(--page-banner-height); min-height: calc(100dvh - var(--page-banner-height)); }
body[data-page-banner] .auth-card { max-height: calc(100dvh - var(--page-banner-height) - 16px); overflow-y: auto; }
@media (min-width: 821px) {
  body[data-page-banner="customer"] .sidebar,
  body[data-page-banner="worker"] .sidebar { top: var(--page-banner-height); height: calc(100dvh - var(--page-banner-height)); }
}
@media (max-width: 620px) {
  #site-banner { padding: 7px 12px; font-size: 12px; }
  #page-banner-message, #page-banner-disclosure { display: block; }
  #page-banner-separator { display: none; }
}
