.lodge-app-mode{--app-top:calc(58px + env(safe-area-inset-top));--app-bottom:calc(70px + env(safe-area-inset-bottom));scroll-padding-top:calc(var(--app-top) + 12px)}
.lodge-app-mode body{padding-top:var(--app-top);padding-bottom:var(--app-bottom)}
.lodge-app-mode .site-header,.lodge-app-mode body>footer,.lodge-app-mode .seo-breadcrumb,.lodge-app-mode .bottom-nav,.lodge-app-mode .app-launcher{display:none!important}
.lodge-app-bar{position:fixed;inset:0 0 auto;z-index:90;min-height:var(--app-top);padding:calc(8px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:12px;background:#071c36;color:#fff;box-shadow:0 1px 8px #0002;font:600 14px/1.25 system-ui}
.lodge-app-bar a{color:#fff;text-decoration:none}.lodge-app-bar>a:nth-child(2){text-align:center}.lodge-app-bar small{display:block;font-size:10px;color:#d4b676;margin-top:3px}.lodge-app-bar button{border:0;background:transparent;color:#fff;font:inherit;min-height:40px;padding:0 6px;cursor:pointer}.lodge-app-home .lodge-app-bar button{visibility:hidden}
.lodge-app-nav{position:fixed;inset:auto 0 0;z-index:90;display:grid;grid-template-columns:repeat(5,1fr);min-height:var(--app-bottom);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dcd7cc;box-shadow:0 -2px 12px #0001}
.lodge-app-nav a,.lodge-app-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:8px;background:none;color:#586573;text-decoration:none;font:600 11px/1.3 system-ui;min-height:52px;cursor:pointer}.lodge-app-nav span{font:22px/1 system-ui}.lodge-app-nav [aria-current=page]{background:#f4eddd;color:#071c36}.lodge-app-mode :focus-visible{outline:3px solid #b18c3e;outline-offset:3px}
.lodge-app-mode .app-shell{min-height:calc(100dvh - var(--app-top) - var(--app-bottom));padding-bottom:22px}.lodge-app-mode .app-head{padding-top:24px}.lodge-app-mode .subhero{padding-top:32px;padding-bottom:32px}.lodge-app-mode .subhero h1{font-size:clamp(30px,6vw,48px)}.lodge-app-mode .section{padding-top:32px;padding-bottom:32px}.lodge-app-mode .portal-sidebar{top:var(--app-top);bottom:var(--app-bottom);overflow:auto}.lodge-app-mode .portal-header{top:var(--app-top)}.lodge-app-mode .portal-main{min-height:calc(100dvh - var(--app-top) - var(--app-bottom))}.lodge-app-mode .login-shell{min-height:calc(100dvh - var(--app-top) - var(--app-bottom))}.lodge-app-mode .login-brand{display:none}.lodge-app-mode .login-shell{grid-template-columns:1fr}.lodge-app-mode .login-panel{padding:32px 22px}.lodge-app-mode .portal-toast{bottom:calc(var(--app-bottom) + 12px)}
.lodge-app-dialog{border:0;border-radius:16px;padding:22px;width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 60px);background:#fbfaf7;color:#142131;font:16px/1.5 system-ui;box-shadow:0 10px 50px #0005}.lodge-app-dialog::backdrop{background:#071c36aa}.lodge-app-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.lodge-app-dialog-head h2{font:700 21px/1.3 system-ui;margin:0}.lodge-app-dialog-head button{font-size:28px;background:none;border:0;min-width:44px;min-height:44px;cursor:pointer}.lodge-app-menu{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.lodge-app-menu a{display:block;padding:16px 12px;background:#fff;border:1px solid #dedbd3;border-radius:8px;color:#142131;text-decoration:none;font-weight:600;font-size:14px}.lodge-app-menu-note,.lodge-app-document>p{font-size:12px;color:#586573}.lodge-app-exit{display:block;color:#695024;font-size:13px;margin-top:16px}.lodge-app-document{width:min(1000px,calc(100% - 16px));height:calc(100dvh - 28px);padding:12px}.lodge-app-document iframe{width:100%;height:calc(100% - 110px);border:1px solid #ddd;background:#fff}.lodge-app-offline{position:fixed;z-index:91;bottom:var(--app-bottom);left:0;right:0;margin:0;padding:12px 18px;background:#fff1bc;color:#463711;font:13px/1.4 system-ui}.lodge-app-offline[hidden]{display:none}
@media(min-width:900px){.lodge-app-nav{padding-left:calc((100% - 720px)/2);padding-right:calc((100% - 720px)/2)}}
@media(prefers-reduced-motion:reduce){.lodge-app-mode *{scroll-behavior:auto!important}}
