/* Native geometry only. Shared /page-layout.css owns the common identity row. */
.rcb-page-first{position:sticky!important;top:0!important;z-index:65;box-sizing:border-box;max-width:100%}
.rcb-page-first>*{min-width:0;max-width:100%}
.rcb-page-second{position:sticky;top:var(--rcb-first-height,0px);z-index:64;box-sizing:border-box;max-width:100%;margin-block:0;overflow-wrap:anywhere}
.rcb-page-second:empty{display:none}
/* The main Rooms grid already places both ribbons above its scrolling pane.
   Do not apply a second sticky offset while the viewport stylesheet loads. */
@media screen{#app.app-shell>.room-section-two{position:relative!important;top:auto!important;margin-block:0}}
/* The native shell owns its full viewport even if the optional responsive
   stylesheet is delayed. Its two function bars share one section-two row. */
@media screen{html.rcb-fixed-frame body>#app.app-shell:has(>#workspace){height:var(--rcb-frame-height,100dvh)!important;min-height:0;grid-template-rows:auto auto minmax(0,1fr) auto}}
.rcb-admin-two-line{display:block;line-height:1.05;text-align:center;white-space:normal!important}
[data-compact-admin][data-backup-pending]{box-shadow:inset 0 0 0 2px #b77500!important}
body [data-entry-title][hidden]{display:none!important}
[data-guest-profile-menu]{max-width:min(32rem,95vw);max-height:90dvh;overflow:auto;border:1px solid #b7c5cf;border-radius:8px;padding:16px;z-index:1000;background:#fff}
[data-guest-profile-menu]::backdrop{background:#0005}
[data-guest-profile-menu]>button{margin:4px}
[data-entry-system-name][role=button]{cursor:pointer}
@media print{.rcb-page-first,.rcb-page-second{position:static!important}}

/* Main function controls take only the width of their visible contents. */
body .room-section-two .function-bar:not([hidden]){display:flex!important;justify-content:flex-start!important;flex-wrap:nowrap;overflow-x:auto}
body .room-section-two .function-bar>button,body #subFunctionBar>:is(button,a.button),body #subFunctionBar>details>summary{box-sizing:border-box;width:max-content!important;min-width:0!important;max-width:18ch!important;flex:0 0 auto!important;white-space:normal!important;text-wrap:balance;line-height:1.2;padding-inline:8px!important}

body #subFunctionBar>select[data-quick-booking]{box-sizing:border-box;field-sizing:content;width:auto;min-width:0!important;max-width:100%;flex:0 0 auto!important;min-height:44px;padding:6px 8px;white-space:nowrap}

/* Function controls retain native ownership, callbacks and form association. */
body [data-rcb-section="2"] .room-admin-actions,body .rcb-utility-functions,body .rcb-public-functions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;box-sizing:border-box}
body [data-rcb-section="2"] .room-admin-actions>:is(button,a,select),body .rcb-public-functions>:is(button,a){box-sizing:border-box;flex:0 0 auto;min-height:44px;width:max-content;max-width:100%;padding:6px 8px;font:inherit;border:1px solid #9cb5bb;border-radius:8px;background:#fff;color:#173b45;text-decoration:none}
body [data-rcb-section="2"] .room-admin-actions>:is(button,a){display:inline-flex;align-items:center;justify-content:center}
body .rcb-public-functions>a{display:inline-flex;align-items:center;justify-content:center}
body .rcb-entry-content{min-width:0;min-height:0;overflow:auto}

.guest-entry-header [data-rcb-public-back]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:53px;margin:0;padding:4px 8px;border:1px solid #1767a2;border-radius:8px;background:#dbeeff;color:#16477f;white-space:nowrap;text-decoration:none;font:600 14px/1.2 system-ui,sans-serif}
.guest-entry-header [data-rcb-public-back]:focus-visible{outline:3px solid #1767a2;outline-offset:3px}
