@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--color-primary: #C5A55A;--color-primary-dark: #A68B3E;--color-primary-light: #D4BA7A;--color-accent: #B8963C;--color-silver: #A8A8AC;--bg-primary: #0E0E10;--bg-secondary: #161618;--bg-card: #1C1C1E;--bg-card-hover: #28282A;--bg-elevated: #2C2C2E;--bg-input: #1C1C1E;--text-primary: #F2F2F7;--text-secondary: #8E8E93;--text-tertiary: #636366;--color-success: #30D158;--color-warning: #FF9F0A;--color-danger: #FF453A;--color-info: #0A84FF;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--nav-height: 82px;--header-height: 56px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html,body,#root{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%}button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit}input,textarea,select{font-family:inherit;border:none;outline:none}a{text-decoration:none;color:inherit}.app-container{display:flex;flex-direction:column;height:100%;max-width:430px;margin:0 auto;position:relative;background:var(--bg-primary);overflow:hidden}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 8px);-webkit-overflow-scrolling:touch}.page-content::-webkit-scrollbar{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;padding-top:calc(var(--safe-top) + 12px);background:var(--bg-primary);position:sticky;top:0;z-index:50}.page-header h1{font-size:20px;font-weight:700;letter-spacing:-.3px}.page-header-back{display:flex;align-items:center;gap:12px}.page-header-back button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-full);background:var(--bg-card);transition:background .15s ease}.page-header-back button:active{background:var(--bg-elevated)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:#0e0e10eb;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid rgba(255,255,255,.08);padding:6px 0 calc(var(--safe-bottom) + 6px);display:flex;justify-content:space-around;align-items:center;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 16px;border-radius:var(--radius-sm);transition:all .15s ease}.nav-item svg{width:22px;height:22px;color:var(--text-tertiary);transition:color .15s ease;stroke-width:1.8}.nav-item span{font-size:10px;font-weight:500;color:var(--text-tertiary);transition:color .15s ease}.nav-item.active svg{color:var(--color-primary)}.nav-item.active span{color:var(--color-primary);font-weight:600}.home-greeting{padding:0 20px 4px}.home-greeting .greeting-sub{font-size:13px;color:var(--text-secondary);font-weight:500}.home-greeting .greeting-name{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-top:1px}.home-greeting .greeting-name span{color:var(--color-primary)}.banner-carousel{padding:14px 20px;overflow-x:auto;display:flex;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.banner-carousel::-webkit-scrollbar{display:none}.banner-card{min-width:calc(100% - 16px);height:130px;border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;justify-content:flex-end;scroll-snap-align:start;position:relative;overflow:hidden}.banner-card .banner-title{font-size:18px;font-weight:700;color:#fff;letter-spacing:-.3px}.banner-card .banner-subtitle{font-size:13px;color:#fffc;margin-top:3px;font-weight:500}.banner-dots{display:flex;justify-content:center;gap:5px;padding:0 20px 4px}.banner-dot{width:5px;height:5px;border-radius:50%;background:var(--text-tertiary);transition:all .3s ease}.banner-dot.active{width:18px;border-radius:3px;background:var(--color-primary)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 10px}.section-title{font-size:16px;font-weight:700;padding:18px 20px 10px;letter-spacing:-.2px}.section-link{font-size:13px;font-weight:600;color:var(--color-primary)}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 20px}.quick-action-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:var(--radius-md);background:var(--bg-card);transition:transform .15s ease,background .15s ease}.quick-action-item:active{transform:scale(.96);background:var(--bg-card-hover)}.quick-action-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.quick-action-icon svg{stroke-width:1.8}.quick-action-item span{font-size:11px;font-weight:600;color:var(--text-secondary);text-align:center}.barber-list-horizontal{display:flex;gap:14px;padding:0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.barber-list-horizontal::-webkit-scrollbar{display:none}.barber-card-mini{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:72px}.barber-card-mini img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary);padding:2px}.barber-card-mini .barber-mini-name{font-size:11px;font-weight:600;text-align:center;color:var(--text-secondary)}.upcoming-card{margin:0 20px;padding:14px 16px;background:var(--bg-card);border-radius:var(--radius-lg);display:flex;align-items:center;gap:14px;border-left:3px solid var(--color-primary)}.upcoming-card .upcoming-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:#c5a55a1a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upcoming-card .upcoming-icon svg{width:20px;height:20px;color:var(--color-primary);stroke-width:1.8}.upcoming-card .upcoming-info{flex:1}.upcoming-card .upcoming-service{font-size:14px;font-weight:700;letter-spacing:-.2px}.upcoming-card .upcoming-details{font-size:12px;color:var(--text-secondary);margin-top:3px;display:flex;align-items:center;gap:4px}.upcoming-card .upcoming-badge{font-size:10px;font-weight:700;color:var(--color-primary);background:#c5a55a1a;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.loyalty-banner{margin:0 20px;padding:14px 16px;background:var(--bg-card);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between}.loyalty-banner-left{display:flex;align-items:center;gap:12px}.loyalty-icon-box{width:40px;height:40px;border-radius:var(--radius-sm);background:#c5a55a1a;display:flex;align-items:center;justify-content:center}.loyalty-icon-box svg{width:20px;height:20px;color:var(--color-primary);stroke-width:1.8}.loyalty-banner .loyalty-title{font-size:14px;font-weight:700}.loyalty-banner .loyalty-points{font-size:12px;color:var(--text-secondary);margin-top:2px}.loyalty-banner .loyalty-points strong{color:var(--color-primary);font-weight:700}.booking-step{padding:0 20px 16px}.booking-step-title{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.booking-step-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-primary);color:var(--bg-primary);font-size:11px;font-weight:800}.barber-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.barber-select-card{display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:var(--bg-card);border-radius:var(--radius-md);border:2px solid transparent;transition:all .15s ease;text-align:center}.barber-select-card:active{transform:scale(.97)}.barber-select-card.selected{border-color:var(--color-primary);background:#c5a55a0f}.barber-select-card.unavailable{opacity:.35;pointer-events:none}.barber-select-card img{width:52px;height:52px;border-radius:50%;object-fit:cover;margin-bottom:8px}.barber-select-card .barber-name{font-size:13px;font-weight:700}.barber-select-card .barber-specialty{font-size:11px;color:var(--text-secondary);margin-top:2px}.barber-select-card .barber-rating{display:flex;align-items:center;gap:3px;margin-top:6px;font-size:11px;color:var(--color-warning);font-weight:600}.service-select-list{display:flex;flex-direction:column;gap:6px}.service-select-card{display:flex;align-items:center;padding:14px;background:var(--bg-card);border-radius:var(--radius-md);border:2px solid transparent;transition:all .15s ease;gap:12px}.service-select-card:active{transform:scale(.98)}.service-select-card.selected{border-color:var(--color-primary);background:#c5a55a0f}.service-select-card .service-icon{width:42px;height:42px;border-radius:var(--radius-sm);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;flex-shrink:0}.service-select-card .service-icon svg{width:18px;height:18px;color:var(--color-primary);stroke-width:1.8}.service-select-card .service-info{flex:1}.service-select-card .service-name{font-size:14px;font-weight:600}.service-select-card .service-meta{font-size:11px;color:var(--text-secondary);margin-top:2px;display:flex;align-items:center;gap:4px}.service-select-card .service-price{font-size:15px;font-weight:700;color:var(--color-primary)}.date-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.date-scroll::-webkit-scrollbar{display:none}.date-item{display:flex;flex-direction:column;align-items:center;padding:10px 14px;background:var(--bg-card);border-radius:var(--radius-md);border:2px solid transparent;min-width:56px;transition:all .15s ease}.date-item.selected{border-color:var(--color-primary);background:#c5a55a14}.date-item .date-weekday{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.date-item .date-day{font-size:18px;font-weight:800;margin-top:2px}.date-item .date-month{font-size:10px;color:var(--text-secondary)}.date-item.selected .date-weekday,.date-item.selected .date-day,.date-item.selected .date-month{color:var(--color-primary)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slot{padding:10px;text-align:center;font-size:13px;font-weight:600;background:var(--bg-card);border-radius:var(--radius-sm);border:2px solid transparent;transition:all .15s ease}.time-slot:active{transform:scale(.95)}.time-slot.selected{border-color:var(--color-primary);background:#c5a55a14;color:var(--color-primary)}.time-slot.unavailable{opacity:.25;pointer-events:none;text-decoration:line-through}.booking-summary{margin:12px 20px;padding:18px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid rgba(197,165,90,.15)}.booking-summary h3{font-size:15px;font-weight:700;margin-bottom:12px}.summary-row{display:flex;justify-content:space-between;padding:7px 0;font-size:13px}.summary-row .label{color:var(--text-secondary)}.summary-row .value{font-weight:600}.summary-row.total{border-top:1px solid rgba(255,255,255,.06);margin-top:8px;padding-top:12px}.summary-row.total .label{font-weight:700;color:var(--text-primary)}.summary-row.total .value{font-size:17px;font-weight:800;color:var(--color-primary)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;background:var(--color-primary);color:var(--bg-primary);font-size:15px;font-weight:700;border-radius:var(--radius-md);transition:all .15s ease;letter-spacing:-.2px}.btn-primary:active{transform:scale(.98);opacity:.85}.btn-primary:disabled{opacity:.35;pointer-events:none}.btn-primary svg{stroke-width:2}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:600;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.06);transition:all .15s ease}.btn-primary-fixed{padding:16px 20px calc(var(--safe-bottom) + 16px);position:sticky;bottom:0;background:linear-gradient(0deg,var(--bg-primary) 60%,transparent 100%)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px}.product-card{background:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;transition:transform .15s ease}.product-card:active{transform:scale(.97)}.product-card img{width:100%;height:140px;object-fit:cover}.product-card .product-info{padding:12px}.product-card .product-name{font-size:13px;font-weight:600;line-height:1.3}.product-card .product-category{font-size:10px;color:var(--text-tertiary);margin-top:2px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.product-card .product-price{font-size:15px;font-weight:700;color:var(--color-primary);margin-top:6px}.product-card .product-btn{width:100%;padding:8px;background:#c5a55a14;color:var(--color-primary);font-size:11px;font-weight:700;border-radius:var(--radius-xs);margin-top:8px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:4px}.category-tabs{display:flex;gap:6px;padding:0 20px 14px;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{padding:8px 16px;border-radius:var(--radius-full);font-size:12px;font-weight:600;background:var(--bg-card);color:var(--text-secondary);white-space:nowrap;transition:all .15s ease}.category-tab.active{background:var(--color-primary);color:var(--bg-primary)}.profile-header{display:flex;flex-direction:column;align-items:center;padding:16px 20px;text-align:center}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2.5px solid var(--color-primary);padding:2px;margin-bottom:12px}.profile-name{font-size:20px;font-weight:800;letter-spacing:-.3px}.profile-since{font-size:12px;color:var(--text-secondary);margin-top:4px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px;margin-top:14px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:14px;background:var(--bg-card);border-radius:var(--radius-md);text-align:center}.stat-card .stat-value{font-size:20px;font-weight:800;color:var(--color-primary)}.stat-card .stat-label{font-size:10px;font-weight:600;color:var(--text-secondary);margin-top:4px;text-transform:uppercase;letter-spacing:.3px}.profile-menu{padding:16px 20px;display:flex;flex-direction:column;gap:2px}.profile-menu-item{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:var(--radius-md);transition:background .15s ease}.profile-menu-item:active{background:var(--bg-card)}.profile-menu-item .menu-icon{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--bg-card);display:flex;align-items:center;justify-content:center}.profile-menu-item .menu-icon svg{width:18px;height:18px;stroke-width:1.8}.profile-menu-item .menu-label{flex:1;font-size:14px;font-weight:600}.profile-menu-item .menu-arrow{color:var(--text-tertiary)}.login-page{display:flex;flex-direction:column;height:100%;padding:40px 24px;justify-content:center;align-items:center;text-align:center}.login-logo{width:100px;height:100px;border-radius:24px;object-fit:cover;margin-bottom:20px}.login-title{font-size:28px;font-weight:900;letter-spacing:-.5px}.login-subtitle{font-size:14px;color:var(--text-secondary);margin-top:6px;margin-bottom:36px}.login-buttons{display:flex;flex-direction:column;gap:10px;width:100%}.login-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;border-radius:var(--radius-md);font-size:14px;font-weight:600;transition:all .15s ease;width:100%}.login-btn:active{transform:scale(.98)}.login-btn.google{background:#fff;color:#1f1f1f}.login-btn.apple{background:#fff;color:#000}.login-btn.whatsapp{background:#25d366;color:#fff}.login-divider{display:flex;align-items:center;gap:16px;margin:20px 0;width:100%}.login-divider span{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.login-divider:before,.login-divider:after{content:"";flex:1;height:.5px;background:#ffffff14}.input-group{width:100%;text-align:left}.input-group label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;display:block}.input-field{width:100%;padding:13px 16px;background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06);color:var(--text-primary);font-size:14px;transition:border-color .15s ease}.input-field:focus{border-color:var(--color-primary)}.input-field::placeholder{color:var(--text-tertiary)}.history-list{padding:0 20px;display:flex;flex-direction:column;gap:6px}.history-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-card);border-radius:var(--radius-md)}.history-card .history-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-card .history-icon svg{width:18px;height:18px;stroke-width:1.8}.history-card .history-icon.completed{background:#30d1581a}.history-card .history-icon.completed svg{color:var(--color-success)}.history-card .history-icon.confirmed{background:#c5a55a1a}.history-card .history-icon.confirmed svg{color:var(--color-primary)}.history-card .history-icon.cancelled{background:#ff453a1a}.history-card .history-icon.cancelled svg{color:var(--color-danger)}.history-card .history-info{flex:1}.history-card .history-service{font-size:14px;font-weight:600}.history-card .history-details{font-size:11px;color:var(--text-secondary);margin-top:2px}.history-card .history-price{font-size:14px;font-weight:700;color:var(--color-primary)}.status-badge{display:inline-block;font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px}.status-badge.confirmed{background:#c5a55a1f;color:var(--color-primary)}.status-badge.completed{background:#30d1581f;color:var(--color-success)}.status-badge.cancelled{background:#ff453a1f;color:var(--color-danger)}.status-badge.pending{background:#ff9f0a1f;color:var(--color-warning)}.loyalty-hero{margin:0 20px;padding:22px;background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;border:1px solid rgba(197,165,90,.1)}.loyalty-hero .loyalty-hero-icon{width:44px;height:44px;margin:0 auto 10px;border-radius:var(--radius-sm);background:#c5a55a1a;display:flex;align-items:center;justify-content:center}.loyalty-hero .loyalty-hero-icon svg{width:22px;height:22px;color:var(--color-primary);stroke-width:1.8}.loyalty-hero .loyalty-current{font-size:36px;font-weight:900;color:var(--color-primary);letter-spacing:-1px}.loyalty-hero .loyalty-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.loyalty-hero .loyalty-vip{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;background:#c5a55a1a;border-radius:var(--radius-full);font-size:12px;font-weight:700;color:var(--color-primary)}.loyalty-progress-bar{margin:16px 20px 0}.loyalty-progress-bar .progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-bottom:6px}.progress-track{width:100%;height:6px;background:var(--bg-card);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width .5s ease}.rewards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px}.reward-card{padding:16px;background:var(--bg-card);border-radius:var(--radius-md);text-align:center}.reward-card .reward-icon-box{width:44px;height:44px;margin:0 auto 8px;border-radius:var(--radius-sm);background:#c5a55a14;display:flex;align-items:center;justify-content:center}.reward-card .reward-icon-box svg{width:20px;height:20px;color:var(--color-primary);stroke-width:1.8}.reward-card .reward-name{font-size:13px;font-weight:700}.reward-card .reward-cost{font-size:12px;color:var(--color-primary);font-weight:700;margin-top:4px}.reward-card .reward-btn{width:100%;padding:8px;margin-top:10px;background:#c5a55a14;color:var(--color-primary);font-size:11px;font-weight:700;border-radius:var(--radius-xs)}.reward-card .reward-btn:disabled{opacity:.3}.modal-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);padding:28px 24px;text-align:center;max-width:340px;width:100%;animation:slideUp .25s ease}.modal-content .success-icon{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:#30d1581f;display:flex;align-items:center;justify-content:center}.modal-content .success-icon svg{width:26px;height:26px;color:var(--color-success);stroke-width:2}.modal-content h2{font-size:18px;font-weight:700}.modal-content p{font-size:13px;color:var(--text-secondary);margin-top:8px;line-height:1.5}.modal-content .btn-primary{margin-top:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in{animation:fadeIn .3s ease}.animate-slide-up{animation:slideUp .3s ease}.stagger>*{animation:slideUp .3s ease both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(7){animation-delay:.24s}.stagger>*:nth-child(8){animation-delay:.28s}.page-enter{animation:slideUp .25s ease}.px-20{padding-left:20px;padding-right:20px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
