*{margin:0;padding:0;box-sizing:border-box}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #111827;--tg-theme-hint-color: #6b7280;--tg-theme-link-color: #3b82f6;--tg-theme-button-color: #3b82f6;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f3f4f6;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--card-shadow: 0 8px 32px 0 rgba(31, 38, 135, .07);--nav-height: 72px;--radius-xl: 1.25rem;--radius-lg: 1rem;--radius-md: .75rem;--primary-gradient: linear-gradient(135deg, var(--tg-theme-button-color), #2563eb)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(17, 24, 39, .7);--glass-border: rgba(255, 255, 255, .1)}}body{font-family:Outfit,Inter,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background-color:var(--tg-theme-secondary-bg-color);background-image:radial-gradient(at 0% 0%,rgba(59,130,246,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(59,130,246,.05) 0px,transparent 50%);color:var(--tg-theme-text-color);line-height:1.6}#root{min-height:100vh}.container{max-width:1000px;margin:0 auto;padding:0 1.5rem;width:100%;overflow-x:hidden}.btn{padding:.875rem 1.75rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--primary-gradient);color:var(--tg-theme-button-text-color);box-shadow:0 4px 14px #3b82f663}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-secondary{background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--tg-theme-secondary-bg-color)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color)}.input:focus{outline:none;border-color:#3b82f6}.textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;min-height:100px;resize:vertical;font-family:inherit;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color)}.textarea:focus{outline:none;border-color:#3b82f6}.select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color)}.card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--card-shadow);transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 12px 40px #1f26871a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.error{color:#ef4444;font-size:.875rem;margin-top:.25rem}.auth-container{max-width:500px;margin:4rem auto}@media (max-width: 640px){.auth-container{margin:2rem auto}}.navbar{background:var(--tg-theme-bg-color);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);height:var(--nav-height);display:flex;align-items:center;margin-bottom:2.5rem;position:sticky;top:0;z-index:50}@media (max-width: 1024px){.navbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--tg-theme-bg-color)}}.navbar-content{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.navbar-brand{font-size:1.25rem;font-weight:700;color:var(--tg-theme-link-color);text-decoration:none;white-space:nowrap}.navbar-toggle{display:none;background:var(--tg-theme-secondary-bg-color);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.5rem;font-size:1.5rem;cursor:pointer;line-height:1;color:var(--tg-theme-text-color);z-index:51;position:relative;transition:all .3s ease}.navbar-toggle.open{z-index:2001;background:var(--tg-theme-bg-color);position:fixed;top:14px;left:20px}.navbar-toggle:hover{background:var(--tg-theme-bg-color);filter:brightness(.95)}.navbar-nav{display:flex;gap:.5rem;align-items:center;margin-left:auto}.nav-link{text-decoration:none;color:var(--tg-theme-hint-color);font-weight:500;padding:.5rem .75rem;border-radius:.375rem;transition:all .2s;font-size:.875rem;white-space:nowrap}.nav-link:hover{color:#111827;background:#f3f4f6}.nav-link.active{color:var(--tg-theme-link-color);background:var(--tg-theme-secondary-bg-color)}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width: 1024px){.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 640px){.grid-2{grid-template-columns:1fr}}.loading,.empty{text-align:center;padding:3rem;color:#6b7280}.page-header{margin-bottom:2rem}.page-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.page-subtitle{color:#6b7280;font-size:1.125rem}@media (max-width: 1024px){.navbar-toggle{display:block;margin-right:auto}.navbar-brand{position:absolute;left:50%;transform:translate(-50%)}.navbar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:999;display:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.navbar-overlay.open{display:block}.navbar-nav{position:fixed;top:0;left:-320px;bottom:0;width:320px;background:var(--tg-theme-bg-color)!important;background-color:var(--tg-theme-bg-color)!important;opacity:1!important;flex-direction:column;align-items:stretch;gap:.5rem;padding:6rem 1.5rem 2rem;z-index:2000;transition:left .4s cubic-bezier(.16,1,.3,1);box-shadow:20px 0 60px #0006;display:flex;margin-left:0;border-radius:0 var(--radius-xl) var(--radius-xl) 0;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.navbar-nav.open{left:0}.nav-link{padding:1rem 1.25rem;font-size:1.125rem;font-weight:600;text-align:left;border-radius:var(--radius-md)}.nav-link.active{background:var(--primary-gradient);color:#fff!important}.navbar-nav .btn{width:100%;margin-top:auto;padding:1.25rem;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color);border:none}}.page-title{font-size:2.25rem;font-weight:800;letter-spacing:-.025em;background:var(--primary-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.page-subtitle{color:var(--tg-theme-hint-color);font-size:1.125rem;font-weight:500}@media (max-width: 768px){.container{padding:0 .75rem}.page-title{font-size:1.5rem}.page-subtitle{font-size:1rem}.grid-2{grid-template-columns:1fr}.card{padding:1rem}.btn{padding:.625rem 1.25rem;font-size:.9375rem}}@media (max-width: 480px){.container{padding:0 .5rem}.navbar-brand{font-size:1.125rem}.page-title{font-size:1.25rem}.card [style*="display: flex"][style*="flex-direction: row"]{flex-direction:column!important;align-items:flex-start!important}.card [style*="min-width: 100px"]{margin-bottom:.5rem}}.booking-layout{grid-template-columns:280px 1fr}.date-selector-container{display:flex;gap:.75rem;overflow-x:auto;padding:.25rem .5rem 1.25rem;margin:0 -.5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.date-selector-container::-webkit-scrollbar{display:none}.date-selector-item{flex-shrink:0;min-width:84px;padding:1.25rem .75rem;border:2px solid var(--glass-border);background:var(--tg-theme-bg-color);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--tg-theme-text-color);display:flex;flex-direction:column;align-items:center;gap:.25rem}.date-selector-item.selected{border-color:var(--tg-theme-link-color);background:var(--tg-theme-secondary-bg-color);box-shadow:0 8px 16px #3b82f626;transform:translateY(-2px)}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin-top:1rem}.time-slot-btn{padding:1rem .75rem;border:1px solid var(--glass-border);background:var(--tg-theme-bg-color);border-radius:var(--radius-md);cursor:pointer;font-weight:500;color:var(--tg-theme-text-color);transition:all .2s ease;text-align:center}.time-slot-btn.selected{border-color:var(--tg-theme-link-color);background:var(--primary-gradient);color:#fff;font-weight:700;border:none}.time-slot-btn:hover:not(.selected){border-color:var(--tg-theme-hint-color);background:var(--tg-theme-secondary-bg-color)}@media (max-width: 768px){.booking-layout{grid-template-columns:1fr!important}}
