@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--bg-deep: #0d0d0d;--bg-card: #161616;--bg-elevated: #1a1a1a;--gold: #c9a227;--gold-light: #e8d48b;--gold-dark: #8b7019;--text-primary: #f0ebe3;--text-muted: #8a8578;--border: #2a2a2a;--font-display: "Cinzel", serif;--font-body: "Cormorant Garamond", serif;--transition-smooth: .4s cubic-bezier(.25, .46, .45, .94);--transition-fast: .2s ease;--transition-slide: .6s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1.125rem;line-height:1.6;color:var(--text-primary);background-color:var(--bg-deep);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;text-transform:uppercase;letter-spacing:.1em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}::selection{background-color:var(--gold);color:var(--bg-deep)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--transition-smooth),border-color var(--transition-smooth),padding var(--transition-fast);border-bottom:1px solid transparent}.nav.scrolled{background-color:#0d0d0df2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--gold-dark);padding:1rem 3rem}.nav__logo{font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--text-primary)}.nav__links{display:flex;gap:3rem;list-style:none}.nav__link{font-family:var(--font-display);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);transition:color var(--transition-fast);position:relative}.nav__link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background-color:var(--gold);transition:width var(--transition-smooth)}.nav__link:hover{color:var(--gold)}.nav__link:hover:after{width:100%}.nav__cta{font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--bg-deep);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);background-size:200% 200%;padding:.6rem 1.2rem;border-radius:3px;transition:background-position var(--transition-smooth),box-shadow var(--transition-smooth),transform var(--transition-fast)}.nav__cta:hover{background-position:100% 100%;box-shadow:0 4px 20px #c9a22766;transform:translateY(-1px)}.section-header{display:flex;align-items:center;justify-content:center;gap:2rem;padding-top:6rem;margin-bottom:.5rem}.section-header__line{flex:1;max-width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark));transform:scaleX(0);transition:transform 1s cubic-bezier(.25,.46,.45,.94)}.section-header__line:last-child{background:linear-gradient(90deg,var(--gold-dark),transparent)}.section-header.visible .section-header__line{transform:scaleX(1)}.section-header__title{font-family:var(--font-display);font-size:clamp(1rem,3vw,1.5rem);font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--text-primary)}.footer{padding:2rem 3rem;border-top:1px solid var(--border);text-align:center}.footer__copy{font-size:.85rem;color:var(--text-muted);letter-spacing:.1em}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:1;transform:translate(-50%) translateY(0)}50%{opacity:.5;transform:translate(-50%) translateY(8px)}}@keyframes lineExpand{to{width:min(300px,40vw)}}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__bg{position:absolute;inset:0;background:linear-gradient(180deg,#0d0d0d66,#0d0d0de6),url(/images/hero-desktop.webp) center/cover no-repeat}.hero__bg:before{content:"";position:absolute;top:20%;left:-10%;width:120%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),transparent);transform:rotate(-15deg);opacity:.4}.hero__content{position:relative;z-index:1;text-align:center}.hero__title{font-family:var(--font-display);font-size:clamp(3.5rem,12vw,10rem);font-weight:400;letter-spacing:.15em;color:var(--text-primary);margin-bottom:1rem;animation:fadeUp 1.2s cubic-bezier(.25,.46,.45,.94) forwards;opacity:0;transform:translateY(30px)}.hero__subtitle{font-family:var(--font-display);font-size:clamp(1.2rem,4vw,2rem);font-weight:400;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;text-shadow:0 2px 20px rgba(0,0,0,.5);animation:fadeUp 1.2s .3s cubic-bezier(.25,.46,.45,.94) forwards;opacity:0;transform:translateY(20px)}.hero__line{width:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto;animation:lineExpand 1s .6s cubic-bezier(.25,.46,.45,.94) forwards}.hero__scroll{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fadeIn 1s 1.2s forwards}.hero__scroll-text{font-family:var(--font-display);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted)}.hero__scroll-icon{width:20px;height:30px;border:1px solid var(--text-muted);border-radius:10px;position:relative}.hero__scroll-icon:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:3px;height:6px;background-color:var(--gold);border-radius:2px;animation:scrollPulse 2s infinite}.gallery{padding:8rem 3rem;max-width:1600px;margin:0 auto}.gallery__grid{columns:3;column-gap:1.25rem}.gallery__item{break-inside:avoid;margin-bottom:1.25rem;position:relative;cursor:pointer;overflow:hidden;border-radius:3px}.gallery__image{width:100%;display:block;transition:transform var(--transition-smooth),filter var(--transition-smooth)}.gallery__item:before{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:3px;transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth);z-index:1;pointer-events:none}.gallery__item:hover:before{border-color:var(--gold);box-shadow:0 0 30px #c9a2274d,inset 0 0 30px #c9a2271a}.gallery__item:hover .gallery__image{transform:scale(1.03);filter:brightness(1.1)}.gallery__item:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-family:var(--font-display);font-size:3rem;font-weight:300;color:var(--gold);opacity:0;transition:transform var(--transition-smooth),opacity var(--transition-smooth);z-index:2;text-shadow:0 0 30px rgba(201,162,39,.5)}.gallery__item:hover:after{transform:translate(-50%,-50%) scale(1);opacity:1}.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-smooth),visibility var(--transition-smooth)}.lightbox.active{opacity:1;visibility:visible}.lightbox__backdrop{position:absolute;inset:0;background-color:#000000f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lightbox__content{position:relative;z-index:1;max-width:90vw;max-height:90vh;transform:scale(.9);transition:transform var(--transition-smooth)}.lightbox.active .lightbox__content{transform:scale(1)}.lightbox__image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 0 60px #c9a22733}.lightbox__close{position:absolute;top:-50px;right:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;transition:color var(--transition-fast)}.lightbox__close:hover{color:var(--gold)}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid var(--border);color:var(--text-muted);width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);z-index:2}.lightbox__nav:hover{color:var(--gold);border-color:var(--gold)}.lightbox__nav--prev{left:2rem}.lightbox__nav--next{right:2rem}.lightbox__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.contact{padding:3rem;border-top:1px solid var(--border);background-color:var(--bg-card)}.contact__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact__info p{color:var(--text-muted);margin-bottom:.75rem;font-size:1.1rem}.contact__info a{color:var(--text-primary);transition:color var(--transition-fast)}.contact__info a:hover{color:var(--gold)}.contact__social{display:flex;justify-content:flex-end;align-items:flex-start;gap:1.5rem}.social-link{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid var(--border);border-radius:50%;color:var(--text-muted);transition:color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.social-link:hover{color:var(--gold);border-color:var(--gold);transform:scale(1.1);box-shadow:0 0 20px #c9a2274d}.social-link svg{width:22px;height:22px;stroke:currentColor}.booking-cta{padding:6rem 3rem;background:linear-gradient(180deg,var(--bg-deep) 0%,var(--bg-card) 100%);text-align:center;position:relative;overflow:hidden}.booking-cta:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dark),transparent)}.booking-cta__title{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:400;letter-spacing:.1em;color:var(--text-primary);margin-bottom:1rem}.booking-cta__subtitle{font-family:var(--font-body);font-size:1.2rem;color:var(--text-muted);margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto}.booking-cta__btn{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bg-deep);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);background-size:200% 200%;padding:1rem 2.5rem;border-radius:3px;border:none;cursor:pointer;transition:background-position var(--transition-smooth),box-shadow var(--transition-smooth),transform var(--transition-fast)}.booking-cta__btn:hover{background-position:100% 100%;box-shadow:0 8px 30px #c9a22766;transform:translateY(-2px)}.booking-cta__btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite;border-radius:4px}.skeleton--text{height:1rem;margin-bottom:.5rem}.skeleton--text-sm{height:.875rem;width:60%}.skeleton--card{height:80px;margin-bottom:1rem}.skeleton--table-row{height:50px;margin-bottom:.5rem}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:3rem;text-align:center}.error-boundary__icon{width:64px;height:64px;color:var(--gold);margin-bottom:1.5rem}.error-boundary__title{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.1em;margin-bottom:1rem;color:var(--text-primary)}.error-boundary__message{color:var(--text-muted);margin-bottom:2rem;max-width:400px}.error-boundary__btn{font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);background:transparent;border:1px solid var(--gold);padding:.75rem 1.5rem;border-radius:3px;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.error-boundary__btn:hover{background-color:var(--gold);color:var(--bg-deep)}@media(max-width:768px){.nav{padding:1rem 1.5rem}.nav.scrolled{padding:.75rem 1.5rem}.nav__links{gap:1.5rem}.nav__link{font-size:.7rem}.nav__cta{font-size:.65rem;padding:.5rem .9rem}.section-header{gap:1rem;padding-top:4rem;margin-bottom:.5rem}.section-header__line{max-width:60px}.footer{padding:1.5rem}}@media(max-width:1024px){.gallery__grid{columns:2}}@media(max-width:768px){.hero__bg{background:linear-gradient(180deg,#0d0d0d66,#0d0d0de6),url(/images/hero-mobile.webp) center/cover no-repeat}.gallery{padding:5rem 1.5rem}.gallery__grid{columns:1}.contact{padding:2.5rem 1.5rem}.contact__inner{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.contact__social{flex-shrink:0}.lightbox__nav{width:40px;height:40px}.lightbox__nav--prev{left:1rem}.lightbox__nav--next{right:1rem}.booking-cta{padding:4rem 1.5rem}.booking-cta__btn{font-size:.8rem;padding:.875rem 2rem}}@media(max-width:480px){.nav__logo{font-size:.9rem;letter-spacing:.2em}.hero__title{letter-spacing:.1em}}.admin-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-deep)}.admin-loading__spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:var(--bg-deep)}.login-card{width:100%;max-width:400px;padding:2.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-family:var(--font-display);font-size:2rem;color:var(--gold);margin-bottom:.25rem}.login-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--text-muted);text-transform:none;letter-spacing:.05em}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.5rem}.login-label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.login-input{padding:.875rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a2271a}.login-input::placeholder{color:var(--text-muted)}.login-error{padding:.75rem 1rem;font-size:.875rem;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.2);border-radius:8px;text-align:center}.login-button{display:flex;align-items:center;justify-content:center;padding:1rem;margin-top:.5rem;font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bg-deep);background:var(--gold);border:none;border-radius:8px;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.login-button:hover:not(:disabled){background:var(--gold-light)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button__spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:var(--bg-deep);border-radius:50%;animation:spin .8s linear infinite}.admin-layout{display:flex;min-height:100vh;max-width:100vw;background:var(--bg-deep);touch-action:manipulation;overflow-x:hidden}.admin-sidebar{position:fixed;top:0;left:0;width:240px;height:100vh;display:flex;flex-direction:column;background:var(--bg-card);border-right:1px solid var(--border);z-index:100}.admin-sidebar__header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid var(--border)}.admin-sidebar__logo{font-family:var(--font-display);font-size:1.25rem;color:var(--gold);letter-spacing:.1em}.admin-sidebar__badge{padding:.25rem .5rem;font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-elevated);border-radius:4px}.admin-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.admin-nav__item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.25rem;color:var(--text-muted);border-radius:8px;transition:color var(--transition-fast),background var(--transition-fast)}.admin-nav__item:hover{color:var(--text-primary);background:var(--bg-elevated)}.admin-nav__item--active{color:var(--gold);background:#c9a2271a}.admin-nav__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.admin-nav__icon svg{width:100%;height:100%}.admin-nav__label{font-family:var(--font-body);font-size:.9375rem}.admin-sidebar__logout{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;margin:.75rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.admin-sidebar__logout:hover{color:#f87171;border-color:#f871714d}.admin-sidebar__logout svg{width:18px;height:18px}.admin-bottom-nav{display:none}.admin-main{flex:1;margin-left:240px;padding:2rem;min-height:100vh;max-width:100%;overflow-x:hidden}.admin-page{max-width:1200px}.admin-page__header{margin-bottom:2rem}.admin-page__title{font-family:var(--font-display);font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.admin-page__subtitle{font-family:var(--font-body);font-size:1rem;color:var(--text-muted)}.admin-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-card);border:1px dashed var(--border);border-radius:12px}.admin-placeholder__icon{width:48px;height:48px;margin-bottom:1rem;color:var(--text-muted)}.admin-placeholder__text{font-family:var(--font-body);font-size:1rem;color:var(--text-muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.dashboard-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.dashboard-card__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.dashboard-card__title{font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.dashboard-card__badge{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .5rem;font-family:var(--font-display);font-size:.75rem;color:var(--bg-deep);background:var(--gold);border-radius:14px}.dashboard-card__loading{display:flex;align-items:center;justify-content:center;padding:3rem}.dashboard-card__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.dashboard-card__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--text-muted)}.dashboard-card__empty svg{width:40px;height:40px;margin-bottom:1rem;opacity:.5}.dashboard-card__empty p{font-family:var(--font-body);font-size:.9375rem}.bookings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.bookings-toolbar__left,.bookings-toolbar__right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-toggle__btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.view-toggle__btn svg{width:16px;height:16px}.view-toggle__btn:hover{color:var(--text-primary)}.view-toggle__btn--active{color:var(--gold);background:#c9a2271a}.date-nav{display:flex;align-items:center;gap:.5rem}.date-nav__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.date-nav__btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.date-nav__btn svg{width:16px;height:16px}.date-nav__input{position:absolute;opacity:0;width:0;height:0}.date-nav__display{padding:.5rem 1rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;min-width:180px;text-align:center;cursor:pointer}.date-nav__today{padding:.5rem .75rem;font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);background:transparent;border:1px solid var(--gold);border-radius:6px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.date-nav__today:hover{color:var(--bg-deep);background:var(--gold)}.bookings-filter{padding:.625rem 1rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;min-width:150px}.bookings-filter:focus{outline:none;border-color:var(--gold)}.bookings-stats{display:flex;gap:1rem;margin-bottom:1rem}.bookings-stats__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.bookings-stats__value{font-family:var(--font-display);font-size:1.5rem;color:var(--gold);line-height:1}.bookings-stats__label{font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.bookings-filter-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast)}.bookings-filter-btn:hover{border-color:var(--gold)}.bookings-filter-btn__badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.6875rem;font-weight:600;color:var(--bg-deep);background:var(--gold);border-radius:10px}.bookings-filter-drawer{display:flex;flex-direction:column;padding:0 1.5rem 1.5rem}.bookings-filter-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-bottom:.5rem}.bookings-filter-drawer__title{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.bookings-filter-drawer__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer}.bookings-filter-drawer__close:hover{color:var(--text-primary)}.bookings-filter-drawer__content{display:flex;flex-direction:column;gap:1.25rem}.bookings-filter-drawer__section{display:flex;flex-direction:column;gap:.5rem}.bookings-filter-drawer__section--dates{flex-direction:row;gap:1rem}.bookings-filter-drawer__date-field{flex:1;display:flex;flex-direction:column;gap:.5rem}.bookings-filter-drawer__label{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.bookings-filter-drawer__input{padding:.75rem 1rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;outline:none}.bookings-filter-drawer__input:focus{border-color:var(--gold)}.bookings-filter-drawer__input::placeholder{color:var(--text-muted)}.bookings-filter-drawer__select{padding:.75rem 1rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer}.bookings-filter-drawer__select:focus{outline:none;border-color:var(--gold)}.bookings-filter-drawer__chips{display:flex;flex-wrap:wrap;gap:.5rem}.bookings-filter-drawer__chip{padding:.5rem 1rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:all var(--transition-fast)}.bookings-filter-drawer__chip:hover{color:var(--text-primary);border-color:var(--text-muted)}.bookings-filter-drawer__chip--active{color:var(--gold);background:#c9a2271a;border-color:var(--gold)}.bookings-filter-drawer__actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.bookings-filter-drawer__reset{flex:1;padding:.875rem;font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.bookings-filter-drawer__reset:hover{color:var(--text-primary);border-color:var(--text-muted)}.bookings-filter-drawer__apply{flex:2;padding:.875rem;font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bg-deep);background:var(--gold);border:none;border-radius:8px;cursor:pointer;transition:opacity var(--transition-fast)}.bookings-filter-drawer__apply:hover{opacity:.9}.bookings-cards{display:flex;flex-direction:column;gap:1rem}.bookings-date-group{display:flex;flex-direction:column;gap:.75rem}.bookings-date-group__header{position:sticky;top:0;padding:.5rem 0;font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-deep);z-index:5}.bookings-date-group__cards{display:flex;flex-direction:column;gap:.75rem}.booking-card{display:flex;flex-direction:column;gap:.375rem;width:100%;padding:1rem;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color var(--transition-fast)}.booking-card:hover{border-color:var(--gold)}.booking-card__header{display:flex;justify-content:space-between;align-items:center}.booking-card__time{font-family:var(--font-display);font-size:.8125rem;color:var(--text-muted)}.booking-card__date{color:var(--text-muted)}.booking-card__status{font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px}.booking-card__status--confirmed{color:#34d399;background:#34d3991a}.booking-card__status--cancelled{color:#f87171;background:#f871711a}.booking-card__name{font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--text-primary)}.booking-card__service{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted)}.booking-card__contact{display:flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.booking-card__contact svg{width:14px;height:14px;opacity:.7}.bookings-content{display:flex;flex-direction:column}.bookings-cards{display:flex}.bookings-table-wrapper{display:none}@media(min-width:768px){.bookings-cards{display:none}.bookings-table-wrapper{display:block}.bookings-stats{max-width:400px}}.bookings-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.bookings-loading{display:flex;align-items:center;justify-content:center;padding:4rem}.bookings-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.bookings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.bookings-empty svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.bookings-empty p{font-family:var(--font-body);font-size:1rem}.bookings-table{width:100%;border-collapse:collapse}.bookings-table th,.bookings-table td{padding:1rem 1.25rem;text-align:left;font-family:var(--font-body);font-size:.875rem}.bookings-table th{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border)}.bookings-table td{color:var(--text-primary);border-bottom:1px solid var(--border)}.bookings-table tr:last-child td{border-bottom:none}.bookings-table__row--cancelled td{opacity:.5}.bookings-table__time{font-family:var(--font-display);font-size:.875rem}.bookings-table__contact{color:var(--text-muted)}.bookings-table__action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.bookings-table__action:hover{color:var(--text-primary);background:var(--bg-elevated)}.bookings-table__action svg{width:18px;height:18px}.bookings-status{display:inline-block;padding:.25rem .625rem;font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;border-radius:4px}.bookings-status--confirmed{color:#34d399;background:#34d3991a}.bookings-status--cancelled{color:#f87171;background:#f871711a}.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.modal{width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal__title{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.modal__close:hover{color:var(--text-primary);background:var(--bg-elevated)}.modal__close svg{width:18px;height:18px}.modal__body{padding:1.5rem}.modal__footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);background:var(--bg-elevated)}.booking-details{display:flex;flex-direction:column;gap:1rem}.booking-details__row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.booking-details__label{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.booking-details__value{font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);text-align:right}.booking-details__contact-type{margin-left:.5rem;color:var(--text-muted);font-size:.8125rem}.modal__btn{padding:.75rem 1.5rem;font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;border:none;border-radius:6px;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.modal__btn:disabled{opacity:.6;cursor:not-allowed}.modal__btn--danger{color:#fff;background:#dc2626}.modal__btn--danger:hover:not(:disabled){background:#b91c1c}.modal__btn--secondary{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border)}.modal__btn--secondary:hover:not(:disabled){background:var(--bg-deep)}.modal__confirm{text-align:center}.modal__confirm-text{font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);margin-bottom:1rem}.modal__confirm-actions{display:flex;gap:.75rem;justify-content:center}.modal__cancelled-notice{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);text-align:center;font-style:italic}.admin-page__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;border:none;border-radius:8px;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.admin-btn svg{width:16px;height:16px}.admin-btn--primary{color:var(--bg-deep);background:var(--gold)}.admin-btn--primary:hover{background:var(--gold-light)}.admin-btn--primary:active{transform:scale(.98)}.admin-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.admin-table-loading{display:flex;align-items:center;justify-content:center;padding:4rem}.admin-table-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.admin-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.admin-table-empty svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.admin-table-empty p{font-family:var(--font-body);font-size:1rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem 1.5rem;text-align:left;font-family:var(--font-body);font-size:.9375rem}.admin-table th{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border)}.admin-table td{color:var(--text-primary);border-bottom:1px solid var(--border)}.admin-table tr:last-child td{border-bottom:none}.admin-table__row--inactive td{opacity:.5}.admin-table__name{font-weight:500}.admin-table__actions{display:flex;align-items:center;gap:.5rem}.admin-table__action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.admin-table__action-btn:hover{color:var(--text-primary);border-color:var(--text-muted);background:var(--bg-elevated)}.admin-table__action-btn--danger:hover{color:#f87171;border-color:#f871714d;background:#f871711a}.admin-table__action-btn svg{width:16px;height:16px}.admin-table__confirm-delete{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.admin-table__confirm-btn{padding:.25rem .5rem;font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:4px;cursor:pointer}.admin-table__confirm-btn--yes{color:#fff;background:#dc2626}.admin-table__confirm-btn--yes:hover{background:#b91c1c}.admin-table__confirm-btn--no{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border)}.admin-table__confirm-btn--no:hover{background:var(--bg-deep)}.status-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:all var(--transition-fast)}.status-toggle:hover{border-color:var(--text-muted)}.status-toggle--active{color:#34d399;background:#34d3991a;border-color:#34d3994d}.status-toggle__dot{width:8px;height:8px;background:currentColor;border-radius:50%}.status-toggle__label{font-size:.75rem}.status-tabs{display:flex;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;padding:4px;gap:4px}.status-tabs__tab{flex:1;padding:.5rem 1rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all var(--transition-fast)}.status-tabs__tab:hover:not(.status-tabs__tab--active){color:var(--text-primary);background:var(--bg-elevated)}.status-tabs__tab--active{color:var(--text-primary);background:var(--bg-card);box-shadow:0 1px 3px #0003}.form-field{margin-bottom:1.25rem}.form-field:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:.5rem;font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.form-input{width:100%;padding:.875rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a2271a}.form-input::placeholder{color:var(--text-muted)}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input-prefix{position:absolute;left:1rem;color:var(--text-muted);font-family:var(--font-body);font-size:1rem;pointer-events:none}.form-input--with-prefix{padding-left:2.25rem}.form-select{width:100%;padding:.875rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;cursor:pointer;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a2271a}.admin-table__row--past td{opacity:.5}.admin-table__date{display:flex;align-items:center;gap:.75rem}.admin-table__past-badge{display:inline-block;padding:.125rem .5rem;font-family:var(--font-display);font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated);border-radius:4px}.admin-table__reason{max-width:300px}.admin-table__no-reason{color:var(--text-muted)}.admin-table__price{font-family:var(--font-display);font-size:.875rem}.schedule-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.schedule-toolbar__label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.schedule-toolbar__select{padding:.625rem 1rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;min-width:200px}.schedule-toolbar__select:focus{outline:none;border-color:var(--gold)}.schedule-success{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;font-family:var(--font-body);font-size:.9375rem;color:#34d399;background:#34d3991a;border:1px solid rgba(52,211,153,.2);border-radius:8px}.schedule-success svg{width:20px;height:20px;flex-shrink:0}.schedule-editor{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.schedule-loading{display:flex;align-items:center;justify-content:center;padding:4rem}.schedule-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.schedule-empty{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.schedule-empty p{font-family:var(--font-body);font-size:1rem}.schedule-grid{display:grid;gap:1px;background:var(--border)}.schedule-day{padding:1.25rem 1.5rem;background:var(--bg-card)}.schedule-day--closed{background:var(--bg-elevated)}.schedule-day__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.schedule-day--closed .schedule-day__header{margin-bottom:0}.schedule-day__name{font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.schedule-day--closed .schedule-day__name{color:var(--text-muted)}.schedule-day__toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.schedule-day__toggle input{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}.schedule-day__toggle-label{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.schedule-day__times{display:flex;gap:1.5rem}.schedule-day__time-field{display:flex;flex-direction:column;gap:.375rem}.schedule-day__time-field label{font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.schedule-day__time-field select{padding:.5rem .75rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;cursor:pointer;min-width:100px}.schedule-day__time-field select:focus{outline:none;border-color:var(--gold)}.admin-btn__spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.form-error{margin-top:1rem;padding:.75rem 1rem;font-size:.875rem;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.2);border-radius:8px;text-align:center}.modal__btn--primary{color:var(--bg-deep);background:var(--gold)}.modal__btn--primary:hover:not(:disabled){background:var(--gold-light)}.modal__footer{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:768px){.admin-sidebar--desktop{display:none}.admin-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding:.5rem .75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:100}.admin-bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:56px;padding:.5rem;color:var(--text-muted);background:transparent;border:none;border-radius:12px;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);-webkit-tap-highlight-color:transparent}.admin-bottom-nav__item:hover{color:var(--text-primary)}.admin-bottom-nav__item--active{color:var(--gold);background:#c9a2271a}.admin-bottom-nav__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.admin-bottom-nav__icon svg{width:100%;height:100%}.admin-bottom-nav__label{font-family:var(--font-body);font-size:.6875rem;font-weight:500}.admin-main{margin-left:0;margin-bottom:calc(76px + env(safe-area-inset-bottom));padding:1.5rem}.dashboard-grid{grid-template-columns:1fr}.bookings-toolbar{flex-direction:column;align-items:stretch}.bookings-toolbar__left,.bookings-toolbar__right{justify-content:center}.date-nav__display{min-width:140px;font-size:.8125rem}.bookings-filter{flex:1;min-width:0}.bookings-table-wrapper{overflow-x:auto}.bookings-table{min-width:700px}.bookings-table th,.bookings-table td{padding:.75rem 1rem}}.bottom-sheet-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-sheet{width:100%;max-width:500px;margin:0 auto;background:var(--bg-card);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 30px #0000004d;animation:slideUp .3s cubic-bezier(.32,.72,0,1);max-height:90vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet--half{height:50vh}.bottom-sheet--full{height:90vh}.bottom-sheet__handle-area{display:flex;justify-content:center;padding:12px;cursor:grab;touch-action:none}.bottom-sheet__handle-area:active{cursor:grabbing}.bottom-sheet__handle{width:36px;height:4px;background:var(--border);border-radius:2px}.bottom-sheet__content{flex:1;overflow-y:auto;overscroll-behavior:contain}.action-sheet{padding:0 1rem 1rem}.action-sheet__title{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:center;padding:.5rem 0 1rem}.action-sheet__actions{display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);border-radius:12px;overflow:hidden}.action-sheet__action{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem;font-family:var(--font-body);font-size:1.125rem;color:var(--text-primary);background:var(--bg-card);border:none;cursor:pointer;transition:background var(--transition-fast);min-height:52px}.action-sheet__action:hover:not(:disabled){background:var(--bg-elevated)}.action-sheet__action:active:not(:disabled){background:var(--border)}.action-sheet__action:disabled{opacity:.4;cursor:not-allowed}.action-sheet__action--danger{color:#f87171}.action-sheet__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.action-sheet__icon svg{width:20px;height:20px}.action-sheet__label{flex:1;text-align:left}.action-sheet__cancel-wrapper{margin-top:.5rem}.action-sheet__cancel{width:100%;padding:1rem;font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);background:var(--bg-card);border:none;border-radius:12px;cursor:pointer;transition:background var(--transition-fast);min-height:52px}.action-sheet__cancel:hover{background:var(--bg-elevated)}.action-sheet__cancel:active{background:var(--border)}.next-up-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:12px;overflow:hidden}.next-up-card--loading,.next-up-card--empty{border-left-color:var(--border)}.next-up__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.next-up__label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.next-up__time{font-family:var(--font-body);font-size:.9375rem;color:var(--gold);font-weight:500}.next-up__loading{display:flex;align-items:center;justify-content:center;padding:2rem}.next-up__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-muted);text-align:center}.next-up__empty span{font-family:var(--font-body);font-size:.9375rem}.next-up__bookings{display:flex;flex-direction:column}.next-up__booking{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.next-up__booking+.next-up__booking{border-top:1px solid var(--border)}.next-up__booking-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.next-up__barber-badge{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--bg-deep);background:var(--gold);border-radius:50%;flex-shrink:0}.next-up__booking-details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.next-up__customer{font-family:var(--font-body);font-size:1.125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-up__service{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted)}.next-up__barber-name{font-family:var(--font-body);font-size:.8125rem;color:var(--gold-dark)}.next-up__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.next-up__action-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.next-up__action-btn:hover{color:var(--gold);border-color:var(--gold)}.next-up__action-btn:active{background:var(--bg-elevated)}.quick-actions{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.quick-actions__header{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.quick-actions__label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.quick-actions__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}.quick-actions__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 1rem;min-height:80px;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-card);border:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.quick-actions__btn:hover{background:var(--bg-elevated);color:var(--gold)}.quick-actions__btn:active{background:var(--bg-deep)}.quick-actions__btn svg{color:var(--text-muted);transition:color var(--transition-fast)}.quick-actions__btn:hover svg{color:var(--gold)}.walkin-modal{display:flex;flex-direction:column;height:100%}.walkin-modal__header{display:flex;align-items:center;gap:.75rem;padding:0 1.25rem 1rem;border-bottom:1px solid var(--border)}.walkin-modal__back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-muted);background:transparent;border:none;cursor:pointer}.walkin-modal__back:hover{color:var(--text-primary)}.walkin-modal__title{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin:0}.walkin-modal__content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.walkin-modal__list{display:flex;flex-direction:column;gap:.5rem}.walkin-modal__option{display:flex;align-items:center;justify-content:space-between;padding:1rem;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast);min-height:52px}.walkin-modal__option:hover{border-color:var(--gold)}.walkin-modal__option-name{font-weight:500}.walkin-modal__option-price{color:var(--gold)}.walkin-modal__empty{text-align:center;color:var(--text-muted);padding:2rem}.walkin-modal__time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.walkin-modal__time-slot{padding:.875rem .5rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);min-height:48px}.walkin-modal__time-slot:hover{border-color:var(--gold)}.walkin-modal__form{display:flex;flex-direction:column;gap:1rem}.walkin-modal__summary{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:var(--bg-elevated);border-radius:8px}.walkin-modal__field{display:flex;flex-direction:column;gap:.5rem}.walkin-modal__label{font-family:var(--font-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.walkin-modal__input{padding:.875rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color var(--transition-fast)}.walkin-modal__input:focus{border-color:var(--gold)}.walkin-modal__input::placeholder{color:var(--text-muted)}.walkin-modal__contact-type{display:flex;gap:.5rem}.walkin-modal__type-btn{flex:1;padding:.625rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.walkin-modal__type-btn:hover{color:var(--text-primary)}.walkin-modal__type-btn--active{color:var(--gold);border-color:var(--gold)}.walkin-modal__error{text-align:center;color:#f87171;font-size:.875rem}.walkin-modal__submit{padding:1rem;font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bg-deep);background:var(--gold);border:none;border-radius:8px;cursor:pointer;transition:background var(--transition-fast);min-height:52px}.walkin-modal__submit:hover:not(:disabled){background:var(--gold-light)}.walkin-modal__submit:disabled{opacity:.6;cursor:not-allowed}.block-modal{display:flex;flex-direction:column;align-items:center;padding:1.5rem;text-align:center}.block-modal__icon{color:var(--text-muted);margin-bottom:1rem}.block-modal__title{font-family:var(--font-display);font-size:1.125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin:0 0 1rem}.block-modal__description{font-family:var(--font-body);font-size:.9375rem;color:var(--text-muted);line-height:1.5;margin:0 0 .75rem}.block-modal__hint{font-family:var(--font-body);font-size:.8125rem;color:var(--gold-dark);font-style:italic;margin:0 0 1.5rem}.block-modal__button{width:100%;padding:1rem;font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast)}.block-modal__button:hover{border-color:var(--gold)}.move-modal{display:flex;flex-direction:column;height:100%}.move-modal__header{display:flex;align-items:center;gap:.75rem;padding:0 1.25rem 1rem;border-bottom:1px solid var(--border)}.move-modal__back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-muted);background:transparent;border:none;cursor:pointer}.move-modal__back:hover{color:var(--text-primary)}.move-modal__title{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin:0}.move-modal__content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.move-modal__list{display:flex;flex-direction:column;gap:.5rem}.move-modal__booking{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast);text-align:left}.move-modal__booking:hover{border-color:var(--gold)}.move-modal__booking-time{font-family:var(--font-display);font-size:1rem;color:var(--gold);min-width:48px}.move-modal__booking-info{display:flex;flex-direction:column;gap:.125rem}.move-modal__booking-name{font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--text-primary)}.move-modal__booking-service{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.move-modal__empty{text-align:center;color:var(--text-muted);padding:2rem}.move-modal__summary{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;margin-bottom:1rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);background:var(--bg-elevated);border-radius:8px}.move-modal__time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.move-modal__time-slot{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.875rem .5rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);min-height:48px}.move-modal__time-slot:hover:not(:disabled){border-color:var(--gold)}.move-modal__time-slot:disabled{opacity:.6;cursor:not-allowed}.move-modal__time-slot--current{border-color:var(--gold);color:var(--gold)}.move-modal__error{text-align:center;color:#f87171;font-size:.875rem;margin-top:1rem}.cancel-modal__confirm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.cancel-modal__booking-details{padding:1.5rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;width:100%}.cancel-modal__time{font-family:var(--font-display);font-size:1.5rem;color:var(--gold);margin:0 0 .5rem}.cancel-modal__name{font-family:var(--font-body);font-size:1.125rem;font-weight:500;color:var(--text-primary);margin:0 0 .25rem}.cancel-modal__service{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);margin:0}.cancel-modal__warning{font-family:var(--font-body);font-size:1rem;color:var(--text-primary);margin:0 0 1.5rem}.cancel-modal__actions{display:flex;gap:.75rem;width:100%}.cancel-modal__btn{flex:1;padding:.875rem 1rem;font-family:var(--font-body);font-size:.9375rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:opacity var(--transition-fast);min-height:48px}.cancel-modal__btn:disabled{opacity:.6;cursor:not-allowed}.cancel-modal__btn--secondary{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border)}.cancel-modal__btn--danger{color:#fff;background:#dc2626}.timeline{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;flex:1;min-height:0}.timeline__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.timeline__date-nav{display:flex;align-items:center;gap:.75rem}.timeline__nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.timeline__nav-btn:hover{color:var(--gold);border-color:var(--gold)}.timeline__date{display:flex;align-items:center;gap:.5rem;min-width:180px;justify-content:center}.timeline__today{font-family:var(--font-display);font-size:.625rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bg-deep);background:var(--gold);padding:.125rem .5rem;border-radius:4px}.timeline__date-text{font-family:var(--font-display);font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.timeline__filter{padding:.5rem .75rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;cursor:pointer}.timeline__body{flex:1;overflow-y:auto;position:relative}.timeline__loading{display:flex;align-items:center;justify-content:center;padding:3rem}.timeline__slots{position:relative}.timeline__current-time{position:absolute;left:0;right:0;height:2px;background:var(--gold);z-index:10;pointer-events:none}.timeline__current-time:before{content:"";position:absolute;left:0;top:-4px;width:10px;height:10px;background:var(--gold);border-radius:50%}.timeline__slot{display:flex;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--transition-fast);min-height:56px}.timeline__slot:hover{background:var(--bg-elevated)}.timeline__slot:last-child{border-bottom:none}.timeline__slot-time{font-family:var(--font-display);font-size:.8125rem;color:var(--text-muted);min-width:48px;padding-top:.125rem}.timeline__slot--booked .timeline__slot-time{color:var(--gold)}.timeline__slot-content{flex:1;min-width:0}.timeline__slot-empty{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);opacity:.5}.timeline__bookings{display:flex;flex-direction:column;gap:.5rem}.timeline__booking{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:6px;cursor:pointer;transition:border-color var(--transition-fast);text-align:left;width:100%}.timeline__booking:hover{border-color:var(--gold)}.timeline__booking-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-family:var(--font-display);font-size:.75rem;font-weight:600;color:var(--bg-deep);background:var(--gold);border-radius:50%;flex-shrink:0}.timeline__booking-info{display:flex;flex-direction:column;gap:.0625rem;min-width:0}.timeline__booking-name{font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline__booking-service{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.admin-page--dashboard{display:flex;flex-direction:column;height:100%;padding:0}.dashboard-layout{display:flex;flex-direction:column;height:100%;padding:1rem;gap:1rem}.dashboard-layout__top{display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.dashboard-layout__main{display:flex;flex-direction:column;flex:1;min-height:0}@media(min-width:768px){.dashboard-layout{padding:1.5rem;gap:1.5rem}.dashboard-layout__top{flex-direction:row;gap:1.5rem}.dashboard-layout__top>*{flex:1}}@media(min-width:1024px){.dashboard-layout{max-width:1200px;margin:0 auto;width:100%}}.admin-page--schedule{display:flex;flex-direction:column;height:100%;padding:0}.schedule-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.schedule-header__left{display:flex;align-items:center;gap:1rem}.schedule-header__title{font-family:var(--font-display);font-size:1.125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin:0}.schedule-header__select{padding:.5rem .75rem;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;cursor:pointer}.schedule-header__status{display:flex;align-items:center}.save-status{display:flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.8125rem}.save-status--saving{color:var(--text-muted)}.save-status--saved{color:#34d399}.save-status--error{color:#f87171}.save-status__spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.schedule-content{flex:1;overflow-y:auto;padding:1rem}.schedule-loading{display:flex;align-items:center;justify-content:center;padding:3rem}.schedule-empty{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.schedule-days{display:flex;flex-direction:column;gap:.75rem;max-width:800px;margin:0 auto}.schedule-day-visual{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem}.schedule-day-visual--closed{opacity:.6}.schedule-day-visual__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.schedule-day-visual__name{font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.schedule-day-visual__toggle{padding:.375rem .75rem;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.schedule-day-visual__toggle--open{color:#34d399;border-color:#34d399}.schedule-day-visual__presets{display:flex;gap:.375rem;margin-bottom:.75rem;overflow-x:auto;padding-bottom:.25rem}.schedule-day-visual__preset{padding:.375rem .625rem;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.schedule-day-visual__preset:hover{color:var(--text-primary)}.schedule-day-visual__preset--active{color:var(--gold);border-color:var(--gold)}.schedule-day-visual__timeline{position:relative;padding-top:1.25rem;cursor:pointer}.schedule-day-visual__labels{position:absolute;top:0;left:0;right:0;height:1rem}.schedule-day-visual__label{position:absolute;transform:translate(-50%);font-family:var(--font-body);font-size:.625rem;color:var(--text-muted)}.schedule-day-visual__track{position:relative;height:40px;background:var(--bg-elevated);border-radius:6px;overflow:hidden}.schedule-day-visual__block{position:absolute;top:0;bottom:0;background:var(--gold);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:60px}.schedule-day-visual__handle{position:absolute;top:0;bottom:0;width:20px;cursor:ew-resize;display:flex;align-items:center;justify-content:center;touch-action:none}.schedule-day-visual__handle:before{content:"";width:4px;height:20px;background:#0000004d;border-radius:2px}.schedule-day-visual__handle--start{left:0}.schedule-day-visual__handle--end{right:0}.schedule-day-visual__times{font-family:var(--font-display);font-size:.625rem;color:var(--bg-deep);letter-spacing:.05em;white-space:nowrap;line-height:1}.schedule-day-visual__delete{flex-shrink:0;width:18px;height:18px;padding:0;font-size:10px;font-weight:700;line-height:18px;text-align:center;color:var(--text-primary);background:#0003;border:none;border-radius:50%;cursor:pointer;transition:background var(--transition-fast)}.schedule-day-visual__delete:hover{background:#00000059}.schedule-day-visual__timeline--can-add{cursor:crosshair}.schedule-day-visual__hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);pointer-events:none}.schedule-day-visual__status{font-family:var(--font-body);font-size:.75rem;color:var(--text-muted)}@media(min-width:768px){.schedule-content{padding:1.5rem}.schedule-days{gap:1rem}.schedule-day-visual{padding:1.25rem}}@media screen and (max-width:767px){input,select,textarea{font-size:16px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.admin-loading__spinner,.save-status__spinner,.bottom-sheet,.bottom-sheet-backdrop{animation:none}}.booking-page{position:fixed;width:100%;height:100vh;height:100dvh;overflow:hidden}.booking-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(13,13,13,.95),transparent)}.booking-nav__back{font-family:var(--font-body);font-size:1rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;transition:color var(--transition-fast);padding:.5rem;margin:-.5rem;background:none;border:none;cursor:pointer}.booking-nav__back:hover{color:var(--gold)}.booking-nav__back svg{width:20px;height:20px}.booking-nav__logo{font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);text-decoration:none}.progress{position:fixed;top:4.5rem;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#161616e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50px;border:1px solid var(--border)}.progress__step{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all var(--transition-smooth)}.progress__step--active{background:var(--gold);box-shadow:0 0 12px #c9a22780}.progress__step--completed{background:var(--gold-dark)}.progress__line{width:24px;height:1px;background:var(--border);transition:background var(--transition-smooth)}.progress__line--active{background:linear-gradient(90deg,var(--gold-dark),var(--border))}.progress__line--completed{background:var(--gold-dark)}.wizard{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}.wizard__steps{display:flex;height:100%;transition:transform var(--transition-slide);will-change:transform}.step{min-width:100%;width:100%;height:100%;display:flex;flex-direction:column;padding:7rem 1.5rem 0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;opacity:.4;transition:opacity var(--transition-slide)}.step--active{opacity:1}.step__content{flex:1;max-width:500px;margin:0 auto;width:100%;padding-bottom:12rem}.step__header{margin-bottom:2rem;opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1) .2s}.step--active .step__header{opacity:1;transform:translateY(0)}.step__number{font-family:var(--font-display);font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}.step__number:after{content:"";flex:1;max-width:60px;height:1px;background:linear-gradient(90deg,var(--gold-dark),transparent)}.step__title{font-family:var(--font-display);font-size:clamp(1.75rem,7vw,2.5rem);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);line-height:1.2}.step__subtitle{font-size:1.1rem;color:var(--text-muted);font-style:italic;margin-top:.5rem}.step__body{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1) .35s}.step--active .step__body{opacity:1;transform:translateY(0)}.service-list{display:flex;flex-direction:column;gap:1rem}.service-card{padding:1.5rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all var(--transition-smooth);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(201,162,39,.1),transparent);opacity:0;transition:opacity var(--transition-smooth)}.service-card:active{transform:scale(.98)}.service-card--selected{border-color:var(--gold)}.service-card--selected:before{opacity:1}.service-card__info{position:relative;z-index:1}.service-card__name{font-family:var(--font-display);font-size:1.1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.25rem}.service-card__duration{font-size:.95rem;color:var(--text-muted);font-style:italic}.service-card__check{width:24px;height:24px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-smooth);position:relative;z-index:1}.service-card--selected .service-card__check{background:var(--gold);border-color:var(--gold)}.service-card__check svg{width:12px;height:12px;stroke:var(--bg-deep);opacity:0;transform:scale(0);transition:all var(--transition-fast)}.service-card--selected .service-card__check svg{opacity:1;transform:scale(1)}.calendar-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.5rem;transition:opacity var(--transition-fast)}.calendar-wrapper--loading{opacity:.7;pointer-events:none}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-nav{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.calendar-nav:hover{border-color:var(--gold);color:var(--gold)}.calendar-nav:active{transform:scale(.95)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-nav svg{width:18px;height:18px}.calendar-month{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.75rem}.calendar-day-label{font-family:var(--font-display);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:.5rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-date{aspect-ratio:1;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:1rem;cursor:pointer;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.calendar-date:hover:not(:disabled):not(.calendar-date--selected){background:var(--bg-elevated)}.calendar-date:disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed}.calendar-date--other-month{color:var(--text-muted);opacity:.5}.calendar-date--today{border:1px solid var(--gold-dark)}.calendar-date--selected{background:var(--gold);color:var(--bg-deep);font-weight:500}.calendar-date:active:not(:disabled){transform:scale(.9)}.time-section-label{font-family:var(--font-display);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem;margin-top:1.5rem}.time-section-label:first-child{margin-top:0}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.time-slot{padding:1rem .5rem;font-family:var(--font-body);font-size:1.1rem;text-align:center;color:var(--text-muted);background-color:var(--bg-card);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.time-slot:hover:not(.time-slot--unavailable){border-color:var(--gold);color:var(--text-primary)}.time-slot:active:not(.time-slot--unavailable){transform:scale(.95)}.time-slot--selected{background-color:var(--gold);border-color:var(--gold);color:var(--bg-deep);font-weight:500}.time-slot--unavailable{opacity:.25;cursor:not-allowed;text-decoration:line-through}.barber-list{display:flex;flex-direction:column;gap:1rem}.barber-card{padding:1.25rem 1.5rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all var(--transition-smooth);display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden}.barber-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(201,162,39,.1),transparent);opacity:0;transition:opacity var(--transition-smooth)}.barber-card:active{transform:scale(.98)}.barber-card--selected{border-color:var(--gold)}.barber-card--selected:before{opacity:1}.barber-card--unavailable{opacity:.4;cursor:not-allowed}.barber-card--unavailable:active{transform:none}.barber-card__avatar{width:50px;height:50px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.barber-card__avatar svg{width:26px;height:26px;color:var(--text-muted)}.barber-card--selected .barber-card__avatar{border-color:var(--gold)}.barber-card--selected .barber-card__avatar svg{color:var(--gold)}.barber-card__info{flex:1;position:relative;z-index:1}.barber-card__name{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.25rem}.barber-card__status{font-size:.9rem;font-style:italic}.barber-card__status--available{color:var(--gold)}.barber-card__status--unavailable{color:var(--text-muted)}.barber-card__check{width:24px;height:24px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-smooth);position:relative;z-index:1;flex-shrink:0}.barber-card--selected .barber-card__check{background:var(--gold);border-color:var(--gold)}.barber-card__check svg{width:12px;height:12px;stroke:var(--bg-deep);opacity:0;transform:scale(0);transition:all var(--transition-fast)}.barber-card--selected .barber-card__check svg{opacity:1;transform:scale(1)}.input-group{margin-bottom:1.5rem}.input-group:last-child{margin-bottom:0}.input-label{display:block;font-family:var(--font-display);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}.text-input{width:100%;padding:1.25rem;font-family:var(--font-body);font-size:1.15rem;color:var(--text-primary);background-color:var(--bg-card);border:1px solid var(--border);border-radius:4px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.text-input::placeholder{color:var(--text-muted);opacity:.5}.text-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a2271a}.input-hint{font-size:.9rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.summary-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background:linear-gradient(to top,var(--bg-deep) 70%,transparent);padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.summary-bar__content{max-width:500px;margin:0 auto}.summary-bar__selections{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;min-height:1.5rem}.summary-tag{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem;opacity:0;transform:translateY(10px);animation:tagAppear .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes tagAppear{to{opacity:1;transform:translateY(0)}}.summary-tag__icon{width:14px;height:14px;color:var(--gold)}.summary-tag__icon svg{width:14px;height:14px}.summary-tag__value{color:var(--text-primary)}.summary-bar__actions{display:flex;gap:1rem}.btn{flex:1;padding:1.15rem 1.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn:active{transform:scale(.98)}.btn--secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn--secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.btn--primary{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--bg-deep)}.btn--primary:hover{box-shadow:0 8px 25px #c9a22759}.btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn svg{width:16px;height:16px}.confirmation{min-width:100%;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:5rem 2rem 4rem;text-align:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.confirmation__icon{width:100px;height:100px;margin-bottom:2rem;position:relative}.checkmark-circle{width:100px;height:100px;position:relative}.checkmark-circle__bg{fill:none;stroke:var(--border);stroke-width:2}.checkmark-circle__ring{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:314;stroke-dashoffset:314;transform:rotate(-90deg);transform-origin:center}.confirmation--visible .checkmark-circle__ring{animation:drawCircle .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes drawCircle{to{stroke-dashoffset:0}}.checkmark-circle__check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:50;stroke-dashoffset:50}.confirmation--visible .checkmark-circle__check{animation:drawCheck .4s cubic-bezier(.4,0,.2,1) .5s forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.confirmation__flourish{position:absolute;width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.flourish-line{position:absolute;top:50%;left:50%;width:60px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transform-origin:left center}.confirmation--visible .flourish-line{animation:flourishBurst .6s cubic-bezier(.4,0,.2,1) .7s forwards}@keyframes flourishBurst{0%{opacity:0;transform:scaleX(0)}50%{opacity:1}to{opacity:0;transform:scaleX(1) translate(20px)}}.flourish-line:nth-child(1){transform:rotate(0)}.flourish-line:nth-child(2){transform:rotate(45deg)}.flourish-line:nth-child(3){transform:rotate(90deg)}.flourish-line:nth-child(4){transform:rotate(135deg)}.flourish-line:nth-child(5){transform:rotate(180deg)}.flourish-line:nth-child(6){transform:rotate(225deg)}.flourish-line:nth-child(7){transform:rotate(270deg)}.flourish-line:nth-child(8){transform:rotate(315deg)}.confirmation__title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.5rem;opacity:0;transform:translateY(20px)}.confirmation--visible .confirmation__title{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) .9s forwards}.confirmation__subtitle{font-size:1.1rem;color:var(--text-muted);font-style:italic;margin-bottom:3rem;opacity:0;transform:translateY(20px)}.confirmation--visible .confirmation__subtitle{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) 1s forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.confirmation__details{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.5rem 2rem;width:100%;max-width:350px;opacity:0;transform:translateY(20px)}.confirmation--visible .confirmation__details{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) 1.1s forwards}.confirmation__detail{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.confirmation__detail:last-child{border-bottom:none}.confirmation__detail-label{font-size:.9rem;color:var(--text-muted)}.confirmation__detail-value{font-size:1rem;color:var(--text-primary)}.confirmation__actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px;margin-top:2rem;opacity:0;transform:translateY(20px)}.confirmation--visible .confirmation__actions{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) 1.3s forwards}.confirmation__action-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.25rem;font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.confirmation__action-btn svg{width:18px;height:18px;flex-shrink:0}.confirmation__action-btn:hover{border-color:var(--gold);color:var(--gold)}.confirmation__action-btn:active{transform:scale(.98)}.confirmation__home-btn{margin-top:2rem;padding:1rem 2.5rem;font-family:var(--font-display);font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);opacity:0;text-decoration:none;display:inline-block}.confirmation--visible .confirmation__home-btn{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) 1.5s forwards}.confirmation__home-btn:hover{border-color:var(--gold);color:var(--gold)}.btn--loading{pointer-events:none;position:relative}.btn--loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn--loading span{opacity:0}.cancel-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.cancel-page__title{font-family:var(--font-display);font-size:clamp(1.5rem,6vw,2rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.5rem}.cancel-page__subtitle{font-size:1.1rem;color:var(--text-muted);font-style:italic;margin-bottom:2rem}.cancel-page__details{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.5rem 2rem;width:100%;max-width:350px;margin-bottom:2rem}.cancel-page__detail{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.cancel-page__detail:last-child{border-bottom:none}.cancel-page__detail-label{font-size:.9rem;color:var(--text-muted)}.cancel-page__detail-value{font-size:1rem;color:var(--text-primary)}.cancel-page__btn{padding:1rem 2.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;background:var(--error);color:var(--text-primary);border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.cancel-page__btn:hover{box-shadow:0 8px 25px #c9272759}.cancel-page__btn:disabled{opacity:.5;cursor:not-allowed}.cancel-page__message{margin-top:1.5rem;padding:1rem 1.5rem;border-radius:4px;font-size:1rem}.cancel-page__message--success{background:#27c9271a;border:1px solid rgba(39,201,39,.3);color:#27c927}.cancel-page__message--error{background:#c927271a;border:1px solid rgba(201,39,39,.3);color:var(--error)}.cancel-page__home-link{margin-top:2rem;color:var(--text-muted);text-decoration:none;font-size:.95rem;transition:color var(--transition-fast)}.cancel-page__home-link:hover{color:var(--gold)}.rate-limit-dialog{padding:2rem 1.5rem;text-align:center}.rate-limit-dialog__icon{color:var(--gold);margin-bottom:1rem}.rate-limit-dialog__title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.75rem}.rate-limit-dialog__message{font-size:1rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.5rem}.rate-limit-dialog__btn{width:100%;padding:1rem 1.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--bg-deep);border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.rate-limit-dialog__btn:hover{box-shadow:0 8px 25px #c9a22759}.rate-limit-dialog__btn:active{transform:scale(.98)}@media(max-width:380px){.time-grid{grid-template-columns:repeat(2,1fr)}.progress{padding:.4rem .75rem}.progress__step{width:6px;height:6px}.progress__line{width:16px}}@media(min-width:768px){.step{padding-top:8rem}.step__content{padding-bottom:14rem}.time-grid{grid-template-columns:repeat(4,1fr)}}
