*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;font-size:16px;color:#1a1a1a;background:#f0f0f0;line-height:1.6}.container{max-width:560px;margin:2rem auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.sign-in{text-align:center;padding:2rem 0}.sign-in h1{font-size:1.5rem;margin-bottom:.5rem}.sign-in p{color:#555;margin-bottom:1.5rem}.btn{padding:.6rem 1.2rem;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;font-size:.95rem}.btn:hover{background:#f5f5f5}.availability h2{font-size:1.3rem;margin-bottom:.25rem}.subtitle{color:#555;font-size:.9rem;margin-bottom:1.25rem}.day{margin-bottom:1rem}.day h3{font-size:1.05rem;font-weight:600}.day ul{list-style:none;padding-left:1rem}.day li{font-size:.95rem;color:#333;line-height:1.7}.no-slots{padding-left:1rem;color:#888;font-size:.95rem}.share-controls{display:flex;gap:.5rem;margin-top:1.5rem}.generated{color:#999;font-size:.8rem;margin-top:1.5rem;padding-top:.75rem;border-top:1px solid #eee}.loading{text-align:center;color:#555;padding:3rem 0}.error{color:#c00;margin-top:.5rem;font-size:.9rem}@media(max-width:600px){.container{margin:0;border-radius:0;box-shadow:none;min-height:100vh}}
