@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--bg-gradient:linear-gradient(135deg, #022c22 0%, #064e3b 100%);--glass-bg:#10b9810d;--glass-border:#34d39933;--glass-highlight:#10b98126;--text-main:#fff;--text-muted:#a7f3d0;--accent:#10b981;--accent-glow:#10b98166}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#022c22}body{background:var(--bg-gradient);color:var(--text-main);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,sans-serif;display:flex;position:relative;overflow-x:hidden}body:before,body:after{content:"";filter:blur(120px);z-index:-1;border-radius:50%;position:fixed}body:before{background:#5e6ad226;width:50vw;height:50vw;top:-10vw;left:-10vw}body:after{background:#b45ed21a;width:40vw;height:40vw;bottom:-5vw;right:-5vw}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 30px 60px #0006,inset 0 1px #ffffff1a}.container{grid-template-columns:1fr 1.5fr;gap:3rem;width:100%;max-width:900px;margin:2rem;padding:3rem;display:grid}@media (width<=768px){.container{grid-template-columns:1fr;padding:2rem}}.sidebar{border-right:1px solid var(--glass-border);padding-right:3rem}@media (width<=768px){.sidebar{border-right:none;border-bottom:1px solid var(--glass-border);padding-bottom:2rem;padding-right:0}}.profile-img{background:var(--glass-highlight);border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;font-size:24px;display:flex}h1{margin-bottom:.5rem;font-size:1.5rem;font-weight:600}h2{margin-bottom:1.5rem;font-size:1.25rem;font-weight:500}p.subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.95rem;line-height:1.5}.details{flex-direction:column;gap:1rem;display:flex}.detail-item{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.main-content{flex-direction:column;display:flex}.date-selector{margin-bottom:2rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem;display:grid}.calendar-day-header{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.8rem}.calendar-day{aspect-ratio:1;cursor:pointer;color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.calendar-day:hover:not(:disabled){background:var(--glass-highlight)}.calendar-day.active{background:var(--accent);color:#fff;box-shadow:0 0 20px var(--accent-glow)}.calendar-day:disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed}.mobile-grid-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;flex-direction:column;max-width:100%;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000004d}.mobile-grid-scroller{-webkit-overflow-scrolling:touch;max-height:55vh;overflow:auto}.mobile-grid-table{border-collapse:collapse;table-layout:fixed}.mobile-grid-th{-webkit-backdrop-filter:blur(10px);z-index:2;text-align:center;border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:#022c22f2;min-width:70px;padding:.5rem;position:sticky;top:0}.mobile-grid-th-time{z-index:3;border-right:1px solid var(--glass-border);min-width:65px;left:0}.mobile-grid-td-time{-webkit-backdrop-filter:blur(10px);z-index:1;text-align:center;color:var(--text-muted);border-right:1px solid var(--glass-border);background:#022c22f2;border-bottom:1px solid #ffffff0d;font-size:.75rem;position:sticky;left:0}.mobile-grid-td{text-align:center;border-bottom:1px solid #ffffff0d;border-right:1px solid #ffffff0d;padding:.35rem}.grid-cell-btn{cursor:pointer;border:none;border-radius:6px;width:100%;height:38px;font-size:.8rem;font-weight:600;transition:transform .1s,background .2s}.grid-cell-btn.available{color:var(--accent);background:#10b98140;border:1px solid #10b98166}.grid-cell-btn.available:hover{background:var(--accent);color:#fff;transform:scale(1.05)}.grid-cell-btn.unavailable{color:#ffffff1a;cursor:not-allowed;background:#ffffff08}.slots-container{flex-direction:column;gap:.75rem;max-height:400px;padding-right:.5rem;display:flex;overflow-y:auto}.slots-container::-webkit-scrollbar{width:4px}.slots-container::-webkit-scrollbar-track{background:0 0}.slots-container::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.slot-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--accent);cursor:pointer;text-align:center;border-radius:12px;padding:1rem;font-size:1rem;font-weight:500;transition:none}.slot-btn:hover{background:var(--glass-highlight);border-color:var(--accent)}.slot-btn.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.booking-form{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--text-muted);font-size:.85rem}.input-group input{border:1px solid var(--glass-border);color:#fff;background:#0003;border-radius:8px;padding:1rem;font-family:inherit;font-size:1rem}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.confirm-btn{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 15px var(--accent-glow);border:none;border-radius:8px;margin-top:1rem;padding:1rem;font-size:1rem;font-weight:600}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.loader{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.scroll-container::-webkit-scrollbar{width:4px}.scroll-container::-webkit-scrollbar-track{background:0 0}.scroll-container::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.success-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:3rem 0;display:flex}.success-icon{color:#2ed573;background:#2ed57333;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.success-message h2{margin-bottom:.5rem}.success-message a{color:var(--accent);margin-top:1rem;font-weight:500;text-decoration:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-text{background:linear-gradient(90deg,#fff6 30%,#fff 50%,#fff6 70%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:3s linear infinite shimmer}
