/* Private RENTAS entry and menu; catalog and tenant screens keep their styles.
   Repeated #app specificity is intentional: android-comfort.css uses six #app IDs
   and !important to hide/header-style controls; dark-workspace.css uses six IDs
   for shared header/button styling, and admin-redesign.css:1533-1537 hides the
   old desktop menu with both display:none and visibility:hidden and forces its
   sheet layout. These scoped overrides win that legacy cascade without changing
   those styles or the public/tenant UI. Preserve the original header positioning. */
body.rentas-session-loading #login { display: none !important; }
.rentas-load-state.hidden { display: none !important; }
.rentas-load-state { position: fixed; inset: 0; z-index: 9000; display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); background: var(--ex-bg, #1b1e23); color: var(--ex-text, #eef2f4); }
.rentas-load-card { width: min(100%, 420px); display: grid; gap: 16px; padding: 28px; border: 1px solid var(--ex-line, #41484c); border-radius: 18px; background: var(--ex-surface, #222830); }
.rentas-load-card h1 { font-size: 24px; line-height: 1.2; margin: 0; }
.rentas-load-card p { font-size: 15px; line-height: 1.6; margin: 0; color: var(--ex-muted, #c1ccd1); }
.rentas-load-card .app-house-logo { width: 40px; height: 40px; }
.rentas-load-actions { display: grid; gap: 14px; }
.rentas-load-actions a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rentas-load-actions button { min-height: 46px; padding: 10px 16px; }
.rentas-load-actions button[hidden] { display: none !important; }
.rentas-load-inline { inset: 0 0 auto; padding: 12px; background: transparent; pointer-events: none; }
.rentas-load-inline .rentas-load-card { width: min(100%, 640px); padding: 16px; pointer-events: auto; box-shadow: 0 8px 30px #0004; }
.rentas-load-inline .app-house-logo { display: none; }
.rentas-load-inline h1 { font-size: 18px; }
.rentas-load-inline .rentas-load-actions { display: flex; flex-wrap: wrap; align-items: center; }
body[data-access-mode="admin"] #app > .app-header > .brand-lockup { text-decoration: none; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app > .app-header { padding-right: 68px !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app > .app-header > .rentas-menu-toggle { position: absolute !important; right: max(12px, env(safe-area-inset-right)) !important; top: calc(8px + env(safe-area-inset-top)) !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 5px !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; padding: 10px !important; border: 1px solid var(--ex-line, #41484c) !important; border-radius: 9px !important; background: var(--ex-surface, #222830) !important; color: var(--ex-text, #eef2f4) !important; cursor: pointer; box-shadow: none !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .rentas-menu-toggle > span:not(.rentas-menu-label) { display: block !important; width: 20px !important; height: 2px !important; background: currentColor !important; border-radius: 2px; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app > #admin-mobile-menu:not(.hidden) { display: block !important; visibility: visible !important; position: fixed !important; inset: 0 !important; z-index: 7000 !important; width: 100% !important; height: 100dvh !important; background: transparent !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app > #admin-mobile-menu.hidden { display: none !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-backdrop { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; height: 100% !important; background: #0007 !important; border: 0 !important; border-radius: 0 !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-sheet { position: absolute !important; inset: 0 0 0 auto !important; display: flex !important; flex-direction: column !important; width: min(360px, calc(100vw - 24px)) !important; max-width: 100% !important; height: 100% !important; max-height: 100% !important; padding-top: env(safe-area-inset-top) !important; border-radius: 16px 0 0 16px !important; border: 1px solid var(--ex-line, #41484c) !important; background: var(--ex-surface, #222830) !important; color: var(--ex-text, #eef2f4) !important; box-shadow: -12px 0 40px #0003 !important; overflow: hidden !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-sheet::before { display: none !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 20px !important; border-bottom: 1px solid var(--ex-line, #41484c) !important; flex-shrink: 0; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-head h2 { margin: 3px 0 0 !important; font-size: 23px !important; color: inherit !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-head small { color: var(--ex-muted, #c1ccd1) !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-close { display: grid !important; place-items: center !important; width: 44px !important; height: 44px !important; min-width: 44px !important; background: var(--ex-bg, #1b1e23) !important; color: inherit !important; border: 1px solid var(--ex-line, #41484c) !important; border-radius: 9px !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-groups { display: grid !important; gap: 26px !important; overflow: auto !important; overscroll-behavior: contain; padding: 20px 20px calc(24px + env(safe-area-inset-bottom)) !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-groups h3 { font-size: 13px !important; font-weight: 600 !important; margin: 0 0 12px !important; color: var(--ex-muted, #c1ccd1) !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-grid button,
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .rentas-menu-account a { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; min-height: 48px !important; width: 100% !important; padding: 12px !important; font: 500 15px/1.4 "Segoe UI", sans-serif !important; text-decoration: none !important; background: var(--ex-bg, #1b1e23) !important; color: var(--ex-text, #eef2f4) !important; border: 1px solid var(--ex-line, #41484c) !important; border-radius: 9px !important; box-shadow: none !important; }
.rentas-menu-account { display: grid; gap: 8px; }
body.admin-mobile-menu-open { overflow: hidden !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app :is(.rentas-menu-toggle,.admin-mobile-menu-sheet a,.admin-mobile-menu-sheet button):focus-visible { outline: 3px solid var(--ex-accent, #8bd7af) !important; outline-offset: 3px !important; }

html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .rentas-menu-toggle > .rentas-menu-label { display: none !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app > .app-header > .brand-lockup { text-decoration: none !important; }

/* The former close glyph existed only inside the phone media query. */
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-close span { position: relative !important; display: block !important; width: 20px !important; height: 20px !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-close span::before,
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-close span::after { content: "" !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 18px !important; height: 2px !important; background: currentColor !important; border-radius: 2px; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-close span::before { transform: translate(-50%, -50%) rotate(45deg) !important; }
html:root body[data-access-mode="admin"] #app#app#app#app#app#app#app#app .admin-mobile-menu-close span::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }
