:root{color-scheme:light;--bg:#f6f3ec;--ink:#171b18;--muted:#5f665e;--line:#d8d5ca;--panel:#ffffff;--accent:#1e7b58;--mapp-leaf:#1e7b58;--mapp-mint:#cbead1;--mapp-clay:#e8775f;--mapp-sky:#a9c9d8;--mapp-cream:#f6f3ec;--mapp-ink:#171b18}*{box-sizing:border-box}body,html{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr)}.admin-nav,.admin-shell{min-height:100vh;min-height:100dvh}.admin-nav{position:-webkit-sticky;position:sticky;top:0;align-self:start;background:#111916;color:#edf5f1;padding:24px}.admin-nav h1{font-size:20px;margin:0 0 24px}.admin-nav a{display:block;color:#c8d7d1;padding:10px 0;text-decoration:none}.admin-nav a:focus-visible,.admin-nav a:hover{color:#ffffff}.nav-button{width:100%;margin-top:18px;border:1px solid rgba(237,245,241,.22);border-radius:8px;padding:10px 12px;background:transparent;color:#edf5f1;cursor:pointer;text-align:left}.admin-main{width:min(100%,1440px);padding:clamp(18px,3vw,36px);overflow:hidden}.admin-main h2{margin:0 0 10px;font-size:clamp(28px,4vw,48px);line-height:1;letter-spacing:0}.dashboard-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.panel h2,.panel h3{margin-top:0}.muted{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#e9f7ef;color:#11613b;font-size:13px}.building-table{margin-top:18px}.admin-section{scroll-margin-top:24px}.admin-section+.admin-section{margin-top:18px}.section-heading{display:flex;align-items:flex-start;gap:12px}.section-heading svg{flex:0 0 auto;color:var(--mapp-leaf)}.section-heading h3,.section-heading p{margin:0}.section-heading h3{margin-bottom:5px}.section-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;margin-top:16px}.section-points span{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#f8faf7;color:var(--ink);font-size:14px}.building-rows{display:grid;grid-gap:8px;gap:8px}.building-rows article{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,auto) minmax(84px,auto);grid-gap:16px;gap:16px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.building-rows span,.building-rows strong{display:block}.building-rows div span{margin-top:3px;color:var(--muted);font-size:14px}.login-screen{position:relative;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;grid-gap:clamp(24px,5vw,80px);gap:clamp(24px,5vw,80px);padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));container-type:inline-size;overflow-x:hidden;background:linear-gradient(110deg,rgba(246,243,236,.96),rgba(236,242,229,.88)),linear-gradient(90deg,rgba(30,123,88,.08) 1px,transparent 0),linear-gradient(0deg,rgba(23,27,24,.045) 1px,transparent 0);background-size:auto,96px 96px,96px 96px;color:var(--mapp-ink)}.login-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden}.login-ambient span{position:absolute;border:1px solid rgba(30,123,88,.24);background:rgba(255,255,255,.26);transform:rotate(-6deg);animation:drift-panel 16s ease-in-out infinite}.login-ambient span:first-child{width:34vw;height:34vw;left:-10vw;top:8vh}.login-ambient span:nth-child(2){width:24vw;height:24vw;right:8vw;bottom:-8vw;animation-delay:-6s}.login-ambient span:nth-child(3){width:18vw;height:18vw;right:26vw;top:16vh;animation-delay:-10s}.login-hero{position:relative;z-index:1;min-height:min(660px,calc(100dvh - 48px));display:grid;align-content:center;padding:clamp(24px,5vw,72px);min-width:0}.kiosk-fallback-core p,.login-hero p,.login-kicker{margin:0 0 12px;color:var(--mapp-leaf);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-hero h2{max-width:760px;margin:0;color:var(--mapp-ink);font-size:clamp(42px,7vw,106px);line-height:.9;letter-spacing:0;overflow-wrap:anywhere}.login-orbit{position:relative;width:min(460px,58vw);aspect-ratio:1;margin-top:42px}.login-orbit i{position:absolute;inset:0;border:1px solid rgba(30,123,88,.28);border-radius:8px;transform:rotate(-8deg)}.login-orbit i:nth-child(2){inset:12%;border-color:rgba(232,119,95,.34);border-style:dashed;animation:slow-spin 24s linear infinite}.login-orbit i:nth-child(3){inset:28%;background:rgba(203,234,209,.72);box-shadow:inset 0 0 0 1px rgba(30,123,88,.14)}.login-panel{position:relative;z-index:2;width:min(420px,100%);min-width:0;justify-self:center;display:grid;grid-gap:16px;gap:16px;border:1px solid rgba(23,27,24,.16);border-radius:8px;padding:26px;background:rgba(255,255,255,.78);box-shadow:0 28px 80px rgba(23,27,24,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-panel h1{margin:0 0 8px;color:var(--mapp-ink);font-size:34px;letter-spacing:0}.login-panel label{display:grid;grid-gap:8px;gap:8px;color:var(--mapp-ink);font-weight:700}.login-panel input{width:100%;min-height:44px;border:1px solid rgba(23,27,24,.18);border-radius:8px;padding:10px 12px;background:rgba(246,243,236,.74);color:var(--mapp-ink);outline:none}.login-panel input:focus{border-color:var(--mapp-leaf);box-shadow:0 0 0 3px rgba(30,123,88,.14)}.login-panel button{width:100%;min-height:44px;border:0;border-radius:8px;background:var(--mapp-leaf);color:white;cursor:pointer;font-weight:700}.login-error{margin:0;border-radius:8px;padding:10px 12px;background:#fee2e2;color:#991b1b}.kiosk-stage{position:relative;width:100vw;min-width:320px;height:100dvh;min-height:100svh;overflow:hidden;background:linear-gradient(rgba(246,243,236,.04),rgba(23,27,24,.44)),var(--mapp-ink);color:#fff}.kiosk-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(203,234,209,.09) 1px,transparent 0),linear-gradient(0deg,rgba(246,243,236,.08) 1px,transparent 0);background-size:96px 96px;-webkit-mask-image:linear-gradient(180deg,transparent,black 18%,black 72%,transparent);mask-image:linear-gradient(180deg,transparent,black 18%,black 72%,transparent)}.kiosk-atmosphere span{position:absolute;border:1px solid rgba(203,234,209,.24);background:rgba(30,123,88,.05);animation:drift-panel 16s ease-in-out infinite}.kiosk-atmosphere span:first-child{width:28vw;height:28vw;left:-9vw;top:16vh}.kiosk-atmosphere span:nth-child(2){width:18vw;height:18vw;right:7vw;top:10vh;animation-delay:-5s}.kiosk-atmosphere span:nth-child(3){width:22vw;height:22vw;right:-6vw;bottom:8vh;animation-delay:-9s}.kiosk-fallback,.kiosk-video{position:absolute;inset:0;width:100%;height:100%}.kiosk-video{object-fit:cover;object-position:center center;background:#050807}.kiosk-fallback{display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));text-align:center;background:linear-gradient(rgba(246,243,236,.18),rgba(23,27,24,.72)),repeating-linear-gradient(90deg,rgba(203,234,209,.14) 0 1px,transparent 1px 110px),repeating-linear-gradient(0deg,rgba(246,243,236,.08) 0 1px,transparent 1px 110px),radial-gradient(circle at center,#315d47 0,#171b18 68%)}.kiosk-fallback-core{position:relative;z-index:2;width:min(900px,calc(100vw - 36px));max-width:100%;padding:clamp(24px,5vw,64px);border:1px solid rgba(203,234,209,.3);border-radius:8px;background:rgba(23,27,24,.46);box-shadow:0 0 80px rgba(23,27,24,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.kiosk-fallback-core h1{margin:0;font-size:clamp(38px,9vw,130px);line-height:.92;letter-spacing:0;overflow-wrap:anywhere}.kiosk-fallback-core span{display:inline-flex;margin-top:22px;border:1px solid rgba(203,234,209,.4);border-radius:999px;padding:9px 14px;color:#f6f3ec;background:rgba(203,234,209,.12);text-align:center}.kiosk-overlay-top{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none;z-index:2}.kiosk-building{display:flex;align-items:center;gap:12px;min-width:0;max-width:min(680px,72vw);padding:10px 14px;border-radius:8px;border:1px solid rgba(203,234,209,.28);background:rgba(23,27,24,.58);box-shadow:0 0 42px rgba(23,27,24,.16);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.kiosk-building img{width:36px;height:36px;object-fit:contain}.kiosk-building strong{display:block;max-width:min(520px,58vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,2vw,28px);letter-spacing:0}.kiosk-status{flex:0 0 auto;padding:10px 14px;border-radius:8px;border:1px solid rgba(203,234,209,.28);background:rgba(23,27,24,.58);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:15px}.kiosk-overlay-bottom{position:absolute;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(820px,calc(100vw - 32px));z-index:2}.kiosk-message{margin:0;padding:14px 18px;border-radius:8px;border:1px solid rgba(203,234,209,.28);background:rgba(23,27,24,.66);box-shadow:0 20px 80px rgba(0,0,0,.32);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-size:clamp(17px,2.5vw,30px);line-height:1.25;text-align:center;overflow-wrap:anywhere;word-break:normal}@keyframes drift-panel{0%,to{transform:translateZ(0) rotate(-6deg);opacity:.55}50%{transform:translate3d(18px,-22px,0) rotate(-2deg);opacity:.9}}@keyframes slow-spin{to{transform:rotate(1turn)}}@media (min-width:1600px){.kiosk-overlay-top{top:28px;left:28px;right:28px}.kiosk-building{padding:14px 18px}.kiosk-building img{width:44px;height:44px}.kiosk-status{padding:14px 18px;font-size:18px}.kiosk-overlay-bottom{width:min(980px,calc(100vw - 72px));bottom:34px}}@media (max-width:1024px){.admin-shell{grid-template-columns:1fr}.admin-nav{position:static;min-height:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left))}.admin-section{scroll-margin-top:12px}.admin-nav h1{width:100%;margin:0 0 4px}.admin-nav a{padding:8px 0}.nav-button{width:auto;margin-top:0}.login-screen{grid-template-columns:minmax(0,1fr);align-content:center}.login-hero{min-height:auto;padding:28px min(4vw,28px) 0}.login-hero h2{max-width:680px;font-size:clamp(40px,9vw,78px)}.login-orbit{position:absolute;right:-4vw;bottom:-18vw;width:38vw;min-width:260px;opacity:.62}.login-panel{width:min(520px,100%)}}@media (max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-main{padding:18px max(14px,env(safe-area-inset-right)) 24px max(14px,env(safe-area-inset-left))}.dashboard-grid{grid-template-columns:1fr}.building-rows{gap:0}.building-rows article{grid-template-columns:1fr;gap:6px;padding:14px 0}.building-rows article>span{color:var(--muted);font-size:13px}.login-screen{display:block;gap:18px;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.login-hero{min-height:auto;margin:0 0 18px;padding:14px 0 0}.login-hero h2{max-width:12ch;font-size:clamp(28px,8.6vw,34px);line-height:.98}.login-orbit{display:none}.login-panel{width:100%;max-width:calc(100vw - 28px);padding:18px}.login-panel h1{font-size:30px}.kiosk-overlay-top{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));align-items:stretch;flex-direction:column;gap:8px}.kiosk-building{width:-moz-fit-content;width:fit-content;max-width:calc(100vw - 24px);padding:8px 10px}.kiosk-building img{width:28px;height:28px}.kiosk-building strong{max-width:calc(100vw - 72px);font-size:clamp(17px,6vw,24px)}.kiosk-status{width:-moz-fit-content;width:fit-content;padding:8px 10px;font-size:13px}.kiosk-overlay-bottom{width:calc(100vw - 24px);bottom:max(12px,env(safe-area-inset-bottom))}.kiosk-message{padding:11px 12px;font-size:clamp(15px,4.6vw,20px)}.kiosk-fallback-core{width:calc(100vw - 24px);padding:20px}.kiosk-fallback-core h1{max-width:11ch;margin-inline:auto;font-size:clamp(30px,10vw,42px);line-height:.98}.kiosk-fallback-core span{max-width:100%;white-space:normal}}@container (max-width: 430px){.login-hero h2{font-size:clamp(28px,8.6vw,34px)}.login-panel h1{font-size:28px}}@media (max-height:520px) and (orientation:landscape){.login-screen{align-content:center}.login-hero{display:none}.kiosk-overlay-top{flex-direction:row;align-items:flex-start}.kiosk-overlay-bottom{bottom:max(10px,env(safe-area-inset-bottom))}.kiosk-message{font-size:clamp(15px,3.2vw,20px);padding:9px 12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}