/* Shared public/panel controls; loaded after page design systems. */
.theme-control{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:var(--brand-ink,var(--text,currentColor));cursor:pointer}
.theme-control:hover{background:var(--brand-surface,var(--card))}
.theme-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-control .theme-sun{display:none}
[data-theme="dark"] .theme-control .theme-sun{display:block}
[data-theme="dark"] .theme-control .theme-moon{display:none}
button:disabled,.btn:disabled,.bw-button:disabled,.bw-link:disabled{opacity:.48!important;cursor:not-allowed!important;box-shadow:none!important;filter:grayscale(1)}
.theme-control:focus-visible,.room-preview>summary:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}

.brand-ui main a[href],.brand-ui main button:not(:disabled),.brand-ui main summary{transition:background-color .15s,outline-color .15s;outline:2px solid transparent;outline-offset:3px}
.brand-ui main a[href]:hover,.brand-ui main button:not(:disabled):hover,.brand-ui main summary:hover{outline-color:var(--brand-link,#315d9b);background-color:color-mix(in srgb,var(--brand-green) 10%,transparent)}
.brand-ui main a[href]:focus-visible,.brand-ui main button:focus-visible,.brand-ui main summary:focus-visible{outline:2px solid var(--brand-link,#315d9b);outline-offset:3px}
