/* Shared identity / functions / content presentation. Native actions and data
   remain owned by each module. These selectors never enable a disabled action. */
[data-rcb-section="1"]{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:8px!important;width:100%;max-width:100%;min-height:65px!important;margin:0!important;padding:6px 12px!important;border:0!important;border-bottom:1px solid #dce7e1!important;background:#f5f9f8!important;color:#123c36;overflow-x:auto!important;scrollbar-width:thin}
[data-rcb-section="1"] [data-rcb-brand]{box-sizing:border-box;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;flex:1 0 auto!important;gap:2px!important;min-height:53px!important;height:auto!important;margin:0!important;padding:4px 8px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#123c36!important;text-decoration:none!important;text-align:left!important;white-space:nowrap!important;font:600 15px/1.3 system-ui,sans-serif!important}
[data-rcb-brand-title],[data-rcb-brand-line]{display:block;white-space:nowrap;font:600 15px/1.3 system-ui,sans-serif!important}
[data-rcb-business-name]{display:block!important;visibility:visible!important;min-height:17px;white-space:nowrap;font:400 13px/1.3 system-ui,sans-serif!important;color:#52675e}
[data-rcb-section="1"] :is(.brand-clock,[data-rcb-layout-clock],#headerTime,.rcb-header-clock,.admin-clock,.rcb-home-clock,.header-clock,[data-entry-clock],.attendance-utility-time){box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:53px!important;height:53px!important;max-height:53px!important;margin:0!important;padding:4px 8px!important;border:1px solid #d1deed!important;border-radius:8px!important;background:#fff!important;color:#16477f!important;white-space:pre!important;font:400 13px/1.3 system-ui,sans-serif!important;font-variant-numeric:tabular-nums!important}
[data-rcb-section="2"]{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start!important;align-content:flex-start;flex:0 0 auto;flex-wrap:wrap;gap:6px;max-width:100%;padding:6px 12px;margin:0;background:#f5f9f8;border-bottom:1px solid #dce7e1;scrollbar-width:thin}
[data-rcb-section="2"]:empty{display:none}
[data-rcb-section="2"] :is(button,a.button,a[data-rcb-main-page]){box-sizing:border-box;min-height:44px;max-width:100%;touch-action:manipulation}
[data-rcb-section="3"]{box-sizing:border-box;min-width:0;min-height:0}
body[data-rcb-layout-central]>.page-shell{max-width:100%;padding:0}
body[data-rcb-layout-central]>.page-shell>[data-rcb-section="3"],body[data-rcb-layout-central]>[data-rcb-section="3"]{width:100%;max-width:1264px;margin-inline:auto;padding:16px clamp(12px,3vw,32px)}
body[data-page="home"]>.topbar[data-rcb-section="1"]{display:flex!important}
body[data-page="home"]>.topbar[data-rcb-section="1"]>.language-dropdown{flex:0 0 auto;margin-inline:0}
body[data-page="home"] [data-rcb-section="2"].module-functions{display:grid;grid-template-columns:repeat(2,minmax(0,calc(42.5% - 1.7px)));justify-content:start;align-items:stretch;align-content:start;gap:4px;border-bottom:0;background:transparent;padding:4px}
[data-rcb-layout-function-row]{position:relative;z-index:2}
/* Both ribbons remain above the scrolling detail pane. Native module frames
   keep their own scroll containers and React-owned controls. */
@media screen{
 #attendance-utility-header:has(>[data-rcb-section="1"]){padding:0!important;border:0!important}
 [data-rcb-section="1"]{position:sticky!important;top:0!important;z-index:65!important;flex-shrink:0!important}
 [data-rcb-section="2"]{position:sticky;top:var(--rcb-section-top,65px);z-index:64;flex-shrink:0}
 [data-rcb-frame]{display:flex!important;flex-direction:column!important;height:var(--rcb-frame-height,100dvh)!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box}
 body:has(>[data-rcb-frame]),body[data-rcb-frame]{height:100dvh;margin:0;overflow:hidden}
 [data-rcb-frame]>[data-rcb-section="1"],[data-rcb-frame]>[data-rcb-section="2"]{position:relative!important;top:auto!important;flex:0 0 auto!important}
 [data-rcb-frame]>[data-rcb-section="3"]{flex:1 1 0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;scroll-padding-block:12px}
 body[data-page="home"] .module-grid[data-rcb-section="2"]{position:static}
}
[data-rcb-shared-admin-menu]{width:min(380px,calc(100vw - 32px));max-height:80dvh;overflow:auto;padding:16px;border:1px solid #b8cdc3;border-radius:12px;color:#123c36;background:white}
[data-rcb-shared-admin-menu]::backdrop{background:#123c3655}
[data-rcb-shared-admin-menu] nav{display:grid;gap:8px;margin-top:12px}
[data-rcb-shared-admin-menu] :is(a,button){display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 12px;border:1px solid #1767a2;border-radius:8px;background:#dbeeff;color:#16477f;text-decoration:none;font:inherit;box-sizing:border-box}
[data-rcb-section="1"]>[data-rcb-header-role]{text-decoration:none}
body[data-page="home"] [data-rcb-section="1"]>[data-rcb-main-page]{order:0!important;margin:0!important;height:53px!important;white-space:nowrap!important}
body[data-page="home"] [data-rcb-section="1"]>[data-rcb-header-role="admin"]{order:1!important}
body[data-page="home"] [data-rcb-section="1"]>[data-rcb-brand]{order:2!important;flex:0 0 auto!important}
body[data-page="home"] [data-rcb-section="1"]>[data-rcb-header-role="chat"]{order:3!important}
body[data-page="home"] [data-rcb-section="1"]>.brand-clock{order:3!important}
body[data-page="home"] [data-rcb-section="1"]>.language-dropdown{order:4!important}
body[data-page="customers"] .customer-tools{width:100%;align-items:center;margin:0;gap:8px}
body[data-page="customers"] #publish-customer{display:inline-flex;align-items:center;justify-content:center;min-height:53px!important;height:auto!important;padding:12px 20px!important;font-size:16px!important;font-weight:650;text-align:center;white-space:normal}
@media(max-width:480px){[data-rcb-section="1"]{gap:6px!important;padding-inline:6px!important}[data-rcb-section="1"] [data-rcb-brand]{padding-inline:4px!important}[data-rcb-brand-title],[data-rcb-brand-line]{font-size:14px!important}[data-rcb-business-name]{font-size:12px!important}[data-rcb-section="1"] :is(.brand-clock,[data-rcb-layout-clock],#headerTime,.rcb-header-clock,.admin-clock,.rcb-home-clock,.header-clock,[data-entry-clock],.attendance-utility-time){font-size:11px!important}[data-rcb-section="2"]{padding-inline:6px}}
@media print{[data-rcb-section="1"],[data-rcb-section="2"]{display:none!important}}

/* Native controls stay in the first authored row. Preserve every callback and
   keep narrow windows scrollable without wrapping actions into another row. */
body[data-rcb-layout-module] [data-rcb-section="1"]{justify-content:flex-start!important;gap:6px!important}
body:not([data-page="home"]) [data-rcb-section="1"] [data-rcb-brand]{flex:0 0 auto!important}
body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-main-page]{order:0!important;margin:0!important;min-height:53px!important;height:53px!important;white-space:nowrap!important}
body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-header-role="admin"]{order:1!important}
body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-brand],body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-header-box="brand"]{order:2!important}
body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-header-role="chat"]{order:3!important}
body:not([data-page="home"]) [data-rcb-section="1"]>:is(.brand-clock,[data-rcb-header-box="clock"],[data-rcb-layout-clock],#headerTime,.rcb-header-clock,.admin-clock,.rcb-home-clock,.header-clock,[data-entry-clock],.attendance-utility-time){order:4!important;background:#fff!important;color:#52675e!important;border-color:#dce7e1!important}
[data-rcb-section="1"] [data-rcb-header-box="action"],body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-header-role]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:53px!important;height:53px!important;max-height:53px!important;margin:0!important;padding:4px 8px!important;border:1px solid #1767a2!important;border-radius:8px!important;background:#dbeeff!important;color:#16477f!important;white-space:nowrap!important;text-align:center;line-height:1.2}
[data-rcb-section="1"] [data-rcb-header-box="action"]:disabled,[data-rcb-section="1"] [data-rcb-header-box="action"][aria-disabled="true"],body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-header-role]:disabled,body:not([data-page="home"]) [data-rcb-section="1"]>[data-rcb-header-role][aria-disabled="true"]{background:#fff!important;color:#667788!important;border-color:#dce7e1!important}

/* One explicit customer-language action belongs after the system identity. */
[data-rcb-section="1"]>[data-rcb-customer-language]{order:3!important;flex:0 0 auto!important;align-items:center;justify-content:center;white-space:nowrap;min-height:44px;padding:4px 8px}
[data-rcb-public-header] [data-rcb-business-name]{display:block!important;visibility:visible!important;overflow:visible!important;text-overflow:clip!important}

/* Native header boxes share one height; widths continue to follow their content. */
[data-rcb-section="1"] [data-rcb-brand]{height:53px!important;min-height:53px!important;max-height:53px!important;flex:0 0 auto!important;width:max-content!important}

/* Action captions may use two balanced lines while the native identity ribbon
   remains one row. Keep all text, form controls and authored child nodes. */
[data-rcb-section="1"]>.main-header-navigation{display:flex!important;align-items:center;flex:0 0 auto;flex-wrap:nowrap!important;margin:0!important}
body [data-rcb-section="1"] :is([data-rcb-header-box="action"],[data-rcb-header-box="return"],[data-rcb-header-role],[data-rcb-step-back]):not([data-rcb-brand]){width:max-content!important;min-width:0!important;max-width:18ch!important;white-space:normal!important;text-wrap:balance;overflow-wrap:normal;word-break:normal;line-height:1.2!important;text-align:center}
body [data-rcb-section="1"] [data-rcb-header-role="admin"] br{display:initial}

/* Ordinary function actions fit their captions instead of stretching across a
   row. Compound financial controls retain their authored grids/field widths. */
body [data-rcb-section="2"] :is(button,a[href],summary):not(.module-card){white-space:normal!important;text-wrap:balance;line-height:1.2}
body [data-rcb-section="2"] :is(button,a[href],summary):not(:where(.module-card,.bill-pinned-controls *,.checkout-toolbar *,.staff-bill-primary *)){min-width:0!important;max-width:18ch!important}
body [data-rcb-section="2"] :is(.pinned-action-group,.function-bar,.room-admin-actions,.rcb-utility-functions,.rcb-public-functions,.attendance-action-row,.admin-primary-actions,.pos-actions,.customer-tools,.attendance-system-actions){justify-content:flex-start!important;align-content:flex-start}

/* Navigation captions use two lines inside the single native identity ribbon.
   Render Admin without replacing framework-owned text, icons or callbacks. */
[data-rcb-section="1"] [data-rcb-header-role="admin"],
[data-rcb-section="1"] [data-rcb-step-back]{width:max-content!important;min-width:0!important;max-width:18ch!important;white-space:pre-line!important}
body [data-rcb-section="1"] :is([data-rcb-header-role="admin"],[data-rcb-step-back]):not([data-rcb-brand]){white-space:pre-line!important}
body [data-rcb-step-back]{white-space:pre-line!important;text-align:center!important;justify-content:center!important;line-height:1.2!important}
body :is([data-rcb-section="1"],[data-rcb-native-header]) :is(button,a)[data-rcb-header-role="admin"],
body :is([data-rcb-section="1"],[data-rcb-native-header]) [data-rcb-header-role="admin"]>summary{font-size:0!important;line-height:0!important;gap:0!important;white-space:pre-line!important}
body :is([data-rcb-section="1"],[data-rcb-native-header]) :is(button,a)[data-rcb-header-role="admin"]>*,
body :is([data-rcb-section="1"],[data-rcb-native-header]) [data-rcb-header-role="admin"]>summary>*{display:none!important}
body :is([data-rcb-section="1"],[data-rcb-native-header]) :is(button,a)[data-rcb-header-role="admin"]::after,
body :is([data-rcb-section="1"],[data-rcb-native-header]) [data-rcb-header-role="admin"]>summary::after{content:"Ad\A min";display:block;white-space:pre;font:600 16px/1.2 system-ui,sans-serif;text-align:center;color:inherit}
body [data-rcb-section="1"] details[data-rcb-header-role="admin"]{padding:0!important}
body [data-rcb-section="1"] details[data-rcb-header-role="admin"]>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:100%!important;min-height:0!important;padding:4px 8px;list-style:none}
body [data-rcb-section="1"] details[data-rcb-header-role="admin"]>summary::-webkit-details-marker{display:none}
/* Admin's native text is hidden at font-size:0 in favor of its visible caption.
   Keep its intrinsic caption width; ch units on that host would resolve to zero. */
body :is([data-rcb-section="1"],[data-rcb-native-header]) [data-rcb-header-role="admin"],
body :is([data-rcb-section="1"],[data-rcb-native-header]) [data-rcb-header-role="admin"]>summary{width:max-content!important;min-width:max-content!important;max-width:none!important;flex:0 0 auto!important}

body[data-page="home"] [data-rcb-section="1"]{justify-content:flex-start!important}
