:root{font:16px/1.5 system-ui,sans-serif;color:#352c25;background:#ede6d8;color-scheme:light}*{box-sizing:border-box}body{margin:0}.shell{max-width:920px;min-height:100vh;margin:auto;background:#f7f1e5}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px;background:#fffdf8}header strong{color:#b94719;letter-spacing:1px}header small{display:block;color:#70655b;font-size:14px;letter-spacing:0}header span{font-size:13px}aside{padding:12px 22px;background:#f4dfbd;font-size:14px}main{padding:24px 24px 100px}h1{font-size:28px;margin:0}h2{font-size:18px;margin:24px 0 10px}p{color:#70655b}button,input{font:inherit;min-height:46px;border:1px solid #dbceba;border-radius:10px;padding:10px 12px;background:#fffdf8;color:#352c25}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #236da0;outline-offset:2px}.primary{background:#b94719;color:white;border-color:#b94719;width:100%}.stats,.dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stats{margin:20px 0}.card{background:#fffdf8;padding:18px;border:1px solid #e7dece;border-radius:14px;margin:10px 0}.card strong{display:block}.card button{margin-top:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px}.grid button[aria-pressed=true]{background:#b94719;color:white}.divider{border-top:3px solid #cc642f;padding-top:20px}label{display:block;margin:12px 0;font-size:14px}input{display:block;width:100%;min-width:0;margin-top:5px}nav{position:fixed;bottom:0;width:100%;max-width:920px;display:flex;gap:6px;background:#fffdf8;border-top:1px solid #e7dece;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}nav button{flex:1;border:0;font-size:14px}nav button[aria-current=page]{background:#f9e5d3;color:#a83f15}#error,#bed-error{color:#a12821}#notice{color:#315b35}@media(max-width:380px){main{padding:18px 16px 100px}.dates{grid-template-columns:1fr}header{padding:16px}}
:root select{font:inherit;min-height:46px;width:100%;border:1px solid #dbceba;border-radius:10px;padding:10px 12px;background:#fffdf8;color:#352c25;margin-top:5px}details{padding:16px 0;border-bottom:1px solid #dbceba}summary{cursor:pointer;min-height:44px;font-weight:600}#bookings .card h2{margin-top:0}#bookings button{margin:4px 0}#bookings p[role=status]{color:#6f401a}nav{flex-wrap:wrap}nav button{min-width:65px}header{flex-wrap:wrap}main{padding-bottom:150px}
