/* The session gate keeps private-account refreshes off the public map. */
#session-loading{display:none;position:fixed;inset:0;z-index:100;background:#f3f1e9;color:#173e35;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:24px;font:14px/1.5 system-ui,sans-serif}
.session-pending #session-loading{display:flex}
.session-pending #home-map,.session-pending #platform-view,.session-pending #main-navigation,.session-pending #platform-actions{visibility:hidden;pointer-events:none}
.session-mark{font-size:12px;font-weight:800;letter-spacing:.2em}
#session-retry{padding:12px 24px;border:0;border-radius:12px;background:#173e35;color:#fff;font:inherit;cursor:pointer}
body.owner-mode #home-map{visibility:hidden;pointer-events:none}
body.owner-mode{background:#f3f1e9}
body.owner-mode .world{visibility:hidden}
/* These images are invisible during session resolution and in owner workspaces. */
.session-pending .world-sea,.session-pending .world-land,.owner-mode .world-sea,.owner-mode .world-land{background-image:none!important}
body.owner-mode .site-header{height:90px;background:linear-gradient(135deg,#102e29,#1d4438);box-shadow:0 1px 0 #ffffff12;overflow:hidden}
body.owner-mode .title-brand{width:210px;max-width:44vw;height:82px;min-height:0;margin:2px auto;display:block}
body.owner-mode .title-brand picture,body.owner-mode .title-brand img{width:100%;height:100%;object-fit:contain}
body.owner-mode .main-navigation{z-index:45;left:18px;right:auto;top:108px;bottom:18px;width:208px;transform:none;max-width:none}
body.owner-mode .nav-dock{height:100%;width:100%;box-sizing:border-box;display:flex;align-items:stretch;flex-direction:column;gap:7px;padding:19px 12px 14px;background:#15382f;border:1px solid #ffffff18;box-shadow:0 10px 35px #15382f1c;border-radius:22px;backdrop-filter:none}
.owner-nav-caption{font-size:9px;letter-spacing:.14em;color:#b4c8bd;padding:4px 10px 14px;margin:0;font-weight:700}
body.owner-mode .nav-item{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:13px;min-height:51px;padding:11px 12px;border-radius:13px;color:#dbe8df;text-align:left;flex:none}
body.owner-mode .nav-item svg{width:21px;height:21px;flex:none}
body.owner-mode .nav-item span{font-size:12px;font-weight:600;line-height:1.25;letter-spacing:0}
body.owner-mode .nav-item:hover{background:#ffffff0c;color:#fff}
body.owner-mode .nav-item.active{background:#f4e6ba;color:#173e35;box-shadow:0 3px 12px #00000015}
body.owner-mode .nav-item.active::before,body.owner-mode .nav-item.active::after{display:none}
.owner-nav-footer{margin-top:auto;padding:22px 11px 5px;color:#c3d4c8;font-size:9px;letter-spacing:.11em;line-height:1.7}
.owner-nav-footer span{display:block;color:#b6a776;font-size:8px;letter-spacing:.2em}
body.owner-mode.content-mode #platform-view{left:242px;top:90px;width:calc(100vw - 242px);padding:0 24px 40px 0;background:#f3f1e9}
body.owner-mode .platform-page{max-width:1240px;margin:0 auto}
body.owner-mode .host-page,body.owner-mode .host-reservations-page{padding-bottom:35px}
body.owner-mode .login-control{background:#ffffff12;color:#fff;border-color:#ffffff20}
body.owner-mode .language-control{color:#fff;background:#ffffff12;border-color:#ffffff20}
body.owner-mode .language-control select{color:#fff}
body.owner-mode .language-control option{background:#15382f;color:#fff}
@media(max-height:670px) and (min-width:701px){body.owner-mode .nav-dock{padding-top:9px;gap:3px}.owner-nav-caption{padding-bottom:5px}body.owner-mode .nav-item{min-height:43px}.owner-nav-footer{padding-top:10px}}
@media(max-width:1000px) and (min-width:701px){body.owner-mode .main-navigation{width:180px;left:12px}body.owner-mode.content-mode #platform-view{left:206px;width:calc(100vw - 206px);padding-right:16px}body.owner-mode .nav-item{gap:10px;padding:11px 10px}}
@media(max-width:700px){
 body.owner-mode .site-header{height:76px}
 body.owner-mode .title-brand{width:185px;height:69px;max-width:48vw}
 body.owner-mode .main-navigation{left:7px;right:7px;top:auto;bottom:calc(7px + env(safe-area-inset-bottom,0px));width:auto;max-width:none}
 body.owner-mode .nav-dock{height:auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;padding:6px 4px;border-radius:19px;box-shadow:0 4px 25px #071f2940}
 .owner-nav-caption,.owner-nav-footer{display:none}
 body.owner-mode .nav-item{min-width:0;min-height:57px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:5px 1px;border-radius:12px;text-align:center}
 body.owner-mode .nav-item svg{width:19px;height:19px}
 body.owner-mode .nav-item span{font-size:8px;line-height:1.16;font-weight:600;white-space:normal;overflow-wrap:normal}
 body.owner-mode.content-mode #platform-view{left:0;top:76px;width:100vw;padding:0 0 calc(100px + env(safe-area-inset-bottom,0px))}
 body.owner-mode .host-page,body.owner-mode .host-reservations-page{padding-bottom:16px}
}
@media(prefers-reduced-motion:reduce){body.owner-mode *{scroll-behavior:auto}}

@media(max-width:370px){body.owner-mode .nav-dock{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:5px}body.owner-mode .nav-item{min-height:43px;gap:3px;padding:4px 1px}body.owner-mode .nav-item span{font-size:9px}body.owner-mode .nav-item svg{width:17px;height:17px}body.owner-mode.content-mode #platform-view{padding-bottom:calc(122px + env(safe-area-inset-bottom,0px))}}
