/* Layout: App-Rahmen zentriert (Desktop), vollflächig auf dem Handy und in der installierten PWA */
:root{
  --bg:#efeceb; --paper:#fbfaf9; --ink:#2a2023; --muted:#6e6266; --line:#e2dcdb;
  --hotel:#5a1d23; --kh:#401d06; --bo:#77142a; --chip:#f1ebe9; --ok:#2f7a4b;
  --onaccent:#fff;
  --display:"Young Serif", Georgia, "Times New Roman", serif;
  --body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#171213; --paper:#211a1c; --ink:#f1eaeb; --muted:#b3a5a8; --line:#3a2f32;
  --hotel:#d38a92; --kh:#c9905f; --bo:#e0667f; --chip:#2d2427; --ok:#6cc08b; --onaccent:#1b1416; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#171213; --paper:#211a1c; --ink:#f1eaeb; --muted:#b3a5a8; --line:#3a2f32;
  --hotel:#d38a92; --kh:#c9905f; --bo:#e0667f; --chip:#2d2427; --ok:#6cc08b; --onaccent:#1b1416; color-scheme:dark}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}
.stage{min-height:100%;display:grid;place-items:center;padding-block:24px;padding-inline:16px}
.phone{width:400px;max-width:100%;height:820px;max-height:calc(100vh - 48px);border-radius:44px;border:10px solid #1d1719;background:var(--paper);overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 30px 60px -30px rgba(40,10,20,.45)}
.screen{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;overscroll-behavior-y:contain}
.ptr{height:0;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:.8rem;font-weight:600;transition:height .2s ease}
.ptr .spin{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--hotel);border-radius:50%;margin-right:8px;display:inline-block;vertical-align:middle}
.ptr.busy .spin{animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.blank-h{padding:30px 22px 0;font-family:var(--display);font-size:1.3rem}
.blank{min-height:60vh;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted)}
.blank b{display:block;font-family:var(--display);font-weight:400;font-size:1.6rem;color:var(--ink);margin-bottom:.3rem}
.ver{font-size:.72rem;color:var(--muted);text-align:center;padding:8px 0 16px}
nav.bottom{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);background:var(--paper);padding:4px 2px calc(8px + env(safe-area-inset-bottom,0px))}
nav.bottom button{border:0;background:none;color:var(--muted);font:600 .74rem var(--body);padding:12px 0 10px;cursor:pointer;position:relative;white-space:nowrap}
nav.bottom button[aria-current="page"]{color:var(--ink)}
nav.bottom button[aria-current="page"]::before{content:"";position:absolute;left:22%;right:22%;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--cur,var(--hotel))}
nav.bottom button[data-tab="hotel"]{--cur:var(--hotel)} nav.bottom button[data-tab="bodega"]{--cur:var(--bo)} nav.bottom button[data-tab="kh"]{--cur:var(--kh)}
:focus-visible{outline:2px solid var(--hotel);outline-offset:2px}

@media (prefers-reduced-motion:reduce){.ptr,.ptr.busy .spin{transition:none;animation:none}}
@media (max-width:500px), (display-mode: standalone){
  .stage{padding:0;display:block;height:100%}
  .phone{width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}
  .phone{padding-top:env(safe-area-inset-top,0px)}
}
