:root{--bg: #FFFFFF;--bg-subtle: #F8FAFC;--text: #0F172A;--text-secondary: #475569;--text-tertiary: #94A3B8;--border: #E2E8F0;--border-light: #F1F5F9;--accent: #2563EB;--accent-hover: #1D4ED8;--accent-soft: rgba(37, 99, 235, .06);--green: #059669;--green-soft: rgba(5, 150, 105, .08);--red: #DC2626;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light only}body{font-family:var(--font-body);font-size:15px;font-weight:400;color:var(--text);background:var(--bg-subtle);line-height:1.65;min-height:100vh}.container{max-width:540px;margin:0 auto;padding:3rem 2rem 4rem;animation:fadeUp .4s ease-out both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sign-in{text-align:center;padding:5rem 1rem 4rem}.sign-in h1{font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--text);margin-bottom:.75rem}.sign-in p{color:var(--text-secondary);font-size:.95rem;max-width:340px;margin:0 auto 2.5rem;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.4rem;border:1.5px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.01em;transition:all .2s ease;box-shadow:0 1px 2px #0000000a}.btn:hover{background:var(--text);color:var(--bg);border-color:var(--text);box-shadow:0 2px 8px #0f172a1f}.btn:active{transform:scale(.97)}.availability{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:1.75rem;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000005;animation:fadeUp .4s ease-out both}.availability h2{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin-bottom:.3rem}.subtitle{color:var(--text-tertiary);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.day{padding:.85rem 0;border-bottom:1px solid var(--border-light);animation:fadeUp .35s ease-out both}.day:last-of-type{border-bottom:none;padding-bottom:0}.day:nth-child(1){animation-delay:.04s}.day:nth-child(2){animation-delay:.08s}.day:nth-child(3){animation-delay:.12s}.day:nth-child(4){animation-delay:.16s}.day:nth-child(5){animation-delay:.2s}.day:nth-child(6){animation-delay:.24s}.day:nth-child(7){animation-delay:.28s}.day h3{font-family:var(--font-display);font-size:.92rem;font-weight:500;color:var(--text);margin-bottom:.3rem;display:flex;align-items:center;gap:.5rem}.day h3:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.day ul{list-style:none;padding-left:1.15rem}.day li{font-size:.88rem;color:var(--text-secondary);line-height:1.75;position:relative;padding-left:.85rem}.day li:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--green);transform:translateY(-50%)}.no-slots{padding-left:2rem;color:var(--text-tertiary);font-size:.86rem;font-style:italic}.share-controls{display:flex;gap:.6rem;margin-top:1.75rem}.generated{color:var(--text-tertiary);font-size:.76rem;letter-spacing:.02em;margin-top:1.5rem;padding-top:.85rem;border-top:1px solid var(--border-light)}.loading{text-align:center;color:var(--text-secondary);font-size:.95rem;padding:5rem 0}.loading:before{content:"";display:block;width:26px;height:26px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;margin:0 auto 1.25rem;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:var(--red);margin-top:.75rem;font-size:.88rem}@media(max-width:600px){.container{padding:1.5rem 1.25rem 3rem}.sign-in{padding:3rem .5rem 2rem}.sign-in h1{font-size:1.6rem}.availability{border-radius:12px;padding:1.25rem}.share-controls{flex-direction:column}}
