:root{--bg-primary: #0B0B0C;--bg-surface: #161616;--bg-surface-alt: #1C1C1C;--border-subtle: #2A2A2A;--text-primary: #F5F5F5;--text-secondary: #BDBDBD;--accent: #D4AF37;--accent-hover: #E0C04A;--accent-dark: #B8952E;transition:--accent .3s ease;--success: #2ECC71;--error: #E74C3C;--info-bg: #1E3A3A;--info-text: #BFEAEA;--font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Playfair Display", serif;--fs-title: 32px;--fs-section: 24px;--fs-body: 16px;--fs-slot: 14px;--fs-small: 12px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app-container{max-width:440px;margin:0 auto;width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.appbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--bg-primary);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border-subtle)}.appbar__back{background:none;border:none;color:var(--text-primary);font-size:24px;cursor:pointer;padding:var(--space-xs);display:flex;align-items:center;transition:color .2s}.appbar__back:hover{color:var(--accent)}.appbar__logo{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--accent);letter-spacing:1px;text-transform:uppercase}.appbar__action{background:none;border:none;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--fs-slot);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);transition:color .2s}.appbar__action:hover{color:var(--accent)}.page{flex:1;padding:var(--space-lg);display:flex;flex-direction:column}.page__title{font-family:var(--font-heading);font-size:var(--fs-title);font-weight:700;margin-bottom:var(--space-lg);color:var(--text-primary);letter-spacing:-.5px}.page__subtitle{font-size:var(--fs-section);font-weight:600;margin-bottom:var(--space-md);color:var(--text-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer;transition:all .25s ease}.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #b08d571a}.card--selected{border-color:var(--accent);background:#b08d5714}.service-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.service-card__name{font-size:18px;font-weight:600;letter-spacing:.5px}.service-card__price{font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--accent)}.pro-card{position:relative;overflow:hidden;border-radius:var(--radius-md);min-height:120px;display:flex;align-items:flex-end;margin-bottom:var(--space-md);background-size:cover;background-position:center}.pro-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 30%,#000000d9)}.pro-card__name{position:relative;z-index:1;padding:var(--space-lg);font-size:20px;font-weight:700;color:#fff}.pro-card--indifferent{background:var(--bg-surface);border:1px solid var(--border-subtle);align-items:center;justify-content:center;min-height:80px}.pro-card--indifferent .pro-card__name{padding:var(--space-md);text-align:center;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none;border-radius:var(--radius-full);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.btn--primary{background:var(--accent);color:#000;font-size:18px;padding:18px 40px;width:100%}.btn--primary:hover{background:var(--accent-hover);transform:scale(1.02);box-shadow:0 8px 32px #b08d574d}.btn--sm{padding:10px 20px;font-size:14px}.btn--secondary{background:transparent;color:var(--accent);border:2px solid var(--accent);font-size:var(--fs-body);padding:12px 24px}.btn--secondary:hover{background:#b08d571a}.btn--ghost{background:transparent;color:var(--text-secondary);font-size:var(--fs-slot);padding:var(--space-sm) var(--space-md)}.btn--ghost:hover{color:var(--accent)}.btn--google{background:#fff;color:#000;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;margin-top:12px;width:100%;max-width:360px;padding:16px 24px;font-size:16px}.btn--google:hover{background:#f8f8f8;transform:scale(1.02);box-shadow:0 4px 12px #ffffff1a}.btn--google svg{width:20px;height:20px}.calendar-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px;margin-bottom:var(--space-xl)}.btn--icon{gap:12px;padding:14px 24px}.icon-calendar{flex-shrink:0}.slots-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.slot-chip{background:var(--bg-surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 16px;font-family:var(--font-family);font-size:var(--fs-slot);font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.slot-chip:hover{border-color:var(--accent);color:var(--accent);background:#b08d5714}.slot-chip--selected{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.calendar-nav__label{font-size:var(--fs-body);font-weight:600;min-width:160px;text-align:center}.calendar-nav__btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .2s}.calendar-nav__btn:hover{border-color:var(--accent);color:var(--accent)}.day-section{margin-bottom:var(--space-lg)}.day-section__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--fs-body);font-weight:600;color:var(--text-secondary);text-transform:capitalize}.day-section__today{background:var(--accent);color:#000;font-size:var(--fs-small);font-weight:700;padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase}.day-section__empty{color:var(--text-secondary);font-size:var(--fs-slot);font-style:italic;padding:var(--space-sm) 0}.dropdown-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.dropdown{flex:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px var(--space-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--fs-slot);font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23BDBDBD' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.dropdown option{background:var(--bg-surface);color:var(--text-primary)}.info-banner{background:var(--info-bg);color:var(--info-text);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);font-size:var(--fs-slot);line-height:1.5}.form-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:var(--fs-small);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px var(--space-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--fs-body);transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--accent)}.form-link{font-size:var(--fs-slot);color:var(--accent);cursor:pointer;text-align:right;display:block;margin-top:var(--space-xs)}.form-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--fs-slot);color:var(--text-secondary)}.form-footer a{color:var(--accent);font-weight:600}.form-error{color:var(--error);font-size:var(--fs-small);margin-top:var(--space-xs)}.confirm-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md)}.confirm-label{font-size:var(--fs-small);font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-xs)}.confirm-value{font-size:20px;font-weight:700}.confirm-value--small{font-size:var(--fs-body);font-weight:500;color:var(--text-secondary)}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;flex:1}.next-appointment-card{background:var(--bg-surface);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:left;width:100%;max-width:360px;margin:0 auto;box-shadow:0 10px 30px #00000080;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.next-appointment-card__header{color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}.next-appointment-card__service{font-size:20px;font-weight:700;margin-bottom:12px}.next-appointment-card__date{display:flex;justify-content:space-between;background:#ffffff0d;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:8px}.next-appointment-card__pro{font-size:14px;color:var(--text-secondary);margin-bottom:20px;padding-left:4px}.next-appointment-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero__logo-container{width:420px;height:420px;margin-top:var(--space-md);margin-bottom:0;display:flex;align-items:center;justify-content:center;max-width:90vw}.hero__cta{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:-60px}.hero__logo-img{max-width:100%;max-height:100%;object-fit:contain}.hero__logo-text{font-family:var(--font-heading);font-size:64px;font-weight:800;color:var(--accent);margin-bottom:var(--space-xs);letter-spacing:-1px;line-height:1.1}@media(max-width:440px){.hero__logo-container{width:340px;height:340px}.appbar__logo img{height:38px!important}}.hero__cta{margin-bottom:var(--space-2xl);width:100%;max-width:360px}.hero__info{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-sm)}.location-card{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);text-decoration:none;color:var(--text-primary);transition:all .25s ease;cursor:pointer}.location-card:hover{border-color:var(--accent);transform:translateY(-1px)}.location-card--static{cursor:default}.location-card--static:hover{border-color:var(--border-subtle);transform:none}.location-card__icon{width:44px;height:44px;border-radius:50%;background:#d4af371f;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.location-card__text{flex:1}.location-card__address{font-size:var(--fs-body);font-weight:600;color:var(--accent);margin-bottom:2px}.location-card__city{font-size:var(--fs-slot);color:var(--text-secondary)}.location-card__arrow{font-size:24px;color:var(--text-secondary);flex-shrink:0}.success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl);flex:1}.success-screen__icon{font-size:64px;margin-bottom:var(--space-lg)}.success-screen__title{font-size:var(--fs-section);font-weight:700;margin-bottom:var(--space-sm)}.success-screen__text{color:var(--text-secondary);margin-bottom:var(--space-xl)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
