*{box-sizing:border-box}body{color:#1c1917;background:radial-gradient(circle at 0 0,#e7e5e4 0%,#0000 40%),linear-gradient(#fafaf9 0%,#f5f5f4 100%);min-height:100svh;margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif}#root{min-height:100svh}.page{gap:1.25rem;width:min(32rem,100% - 2rem);margin:0 auto;padding:3rem 0 4rem;display:grid}h1{letter-spacing:-.03em;margin:0;font-family:IBM Plex Serif,Georgia,serif;font-size:2.5rem;font-weight:600}.lede{color:#57534e;margin:0}.field{gap:.4rem;display:grid}.field span{color:#44403c;font-size:.9rem}input,textarea{width:100%;font:inherit;background:#fff;border:1px solid #d6d3d1;border-radius:.4rem;padding:.75rem .85rem}input:focus,textarea:focus{outline-offset:1px;outline:2px solid #292524}textarea{resize:vertical;min-height:8rem}.actions{flex-wrap:wrap;gap:.75rem;display:flex}button{color:#fafaf9;font:inherit;cursor:pointer;background:#1c1917;border:0;border-radius:.4rem;padding:.7rem 1rem}button:disabled{opacity:.45;cursor:not-allowed}.button-secondary{color:#1c1917;background:0 0;border:1px solid #a8a29e}.status{border-top:1px solid #d6d3d1;gap:.35rem;padding-top:.5rem;display:grid}.status h2{letter-spacing:.04em;text-transform:uppercase;color:#78716c;margin:0;font-size:.85rem;font-weight:600}.status p{margin:0;font-size:1.05rem}.connection-details{gap:.5rem;margin:0;display:grid}.connection-details div{grid-template-columns:8rem 1fr;gap:.75rem;display:grid}.connection-details dt{color:#78716c}.connection-details dd{margin:0}.error{color:#9f1239;margin:0}.success{color:#166534;margin:0}.bookings{border-top:1px solid #d6d3d1;gap:1rem;padding-top:1.25rem;display:grid}.section-heading h2,.section-heading p,.booking-card h3,.dialog h3,.dialog p,.booking-list>p{margin:0}.section-heading h2{font-family:IBM Plex Serif,Georgia,serif;font-size:1.75rem}.section-heading p{color:#57534e;margin-top:.25rem}.booking-form,.booking-list{gap:.75rem;display:grid}.booking-form>button,.booking-card>button{justify-self:start}.booking-card{background:#ffffffbf;border:1px solid #d6d3d1;border-radius:.6rem;gap:.85rem;padding:1rem;display:grid}.booking-card-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.booking-card h3{font-size:1.1rem}.sync-state{color:#57534e;background:#e7e5e4;border-radius:999px;flex:none;padding:.2rem .45rem;font-size:.75rem}.sync-state.synchronized{color:#166534;background:#dcfce7}.booking-details{gap:.5rem;margin:0;display:grid}.booking-details div{gap:.15rem;display:grid}.booking-details dt{color:#78716c;text-transform:uppercase;font-size:.8rem}.booking-details dd{margin:0}.dialog-backdrop{z-index:10;background:#1c19178c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:#fafaf9;border-radius:.65rem;gap:1rem;width:min(28rem,100%);padding:1.25rem;display:grid;box-shadow:0 1.5rem 4rem #1c19174d}
