@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--card:#13131a;--card-hover:#1a1a24;--border:#1e1e2e;--accent:#c8a96e;--accent-soft:#c8a96e22;--text:#f0ede8;--text-muted:#7a7a8a;--text-dim:#4a4a5a;--success:#4ade80;--danger:#f87171;--blue:#60a5fa}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:DM Sans,sans-serif;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-gold{0%,to{box-shadow:0 0 #c8a96e66}50%{box-shadow:0 0 0 6px #c8a96e00}}@keyframes pop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.animate-in{opacity:0;animation:.4s forwards fadeUp}.outer-wrapper{background:radial-gradient(at 50% 0,#1a1a2e 0%,#0a0a0f 60%);flex-direction:column;align-items:center;gap:32px;min-height:100vh;padding:40px 20px;display:flex}.app-label{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;opacity:.8;font-family:Playfair Display,serif;font-size:15px}.pwa-shell{background:var(--bg);border-radius:44px;flex-direction:column;width:390px;min-height:844px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #2a2a3a,0 40px 120px #000c,inset 0 1px #2a2a3a}.scroll-progress-bar{background:var(--accent);z-index:100;height:2px;transition:width .1s;position:absolute;top:0;left:0}.status-bar{color:var(--text);flex-shrink:0;justify-content:space-between;padding:14px 28px 8px;font-size:12px;font-weight:500;display:flex}.content{flex:1;padding-bottom:20px;overflow:hidden auto}.content::-webkit-scrollbar{display:none}.content{-ms-overflow-style:none;scrollbar-width:none}.tab-bar{border-top:1px solid var(--border);background:#0d0d14;flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px 20px 28px;display:grid}.tab{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px;transition:all .2s;display:flex}.tab.active{background:#c8a96e18}.tab-icon{font-size:20px}.tab-label{color:var(--text-muted);font-size:10px;font-weight:500}.tab.active .tab-label{color:var(--accent)}.screen{flex-direction:column;gap:20px;padding:20px;display:flex}.stepper-wrapper{flex-direction:column;gap:8px;display:flex}.stepper-circles{justify-content:space-between;align-items:center;display:flex}.stepper-item{flex:1;align-items:center;display:flex}.stepper-item:last-child{flex:0}.step-circle{border:2px solid var(--border);color:#fff;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;transition:all .3s;display:flex}.step-circle.completed{background:var(--accent);border-color:var(--accent)}.step-circle.current{background:var(--accent);border-color:var(--accent);animation:2s ease-in-out infinite pulse-gold}.step-line{background:var(--border);flex:1;height:2px;margin:0 4px;transition:all .3s}.step-line.active{background:var(--accent)}.stepper-labels{justify-content:space-between;display:flex}.stepper-label{color:var(--text-dim);text-align:center;width:60px;font-size:9px;font-weight:500;transition:all .2s}.stepper-label.active{color:var(--accent)}.hero-header{background:linear-gradient(160deg,var(--card)0%,var(--bg)100%);border-radius:20px;padding:24px 20px}.hero-subtitle{color:var(--text-muted);margin-bottom:8px;font-size:13px}.hero-title{color:var(--text);font-family:Playfair Display,serif;font-size:28px;font-weight:600;line-height:1.2}.step-content{flex-direction:column;gap:20px;display:flex}.service-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.service-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;gap:8px;padding:16px;transition:all .2s;display:flex}.service-card:hover{border-color:#c8a96e44;transform:translateY(-4px);box-shadow:0 8px 24px #c8a96e14}.service-card.selected{border-color:var(--accent);background:#c8a96e0a}.service-icon{font-size:22px}.service-name{color:var(--text);font-size:13px;font-weight:500}.service-price{color:var(--accent);font-size:12px;font-weight:500}.service-duration{color:var(--text-muted);font-size:11px}.staff-scroll{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.staff-scroll::-webkit-scrollbar{display:none}.staff-scroll{-ms-overflow-style:none;scrollbar-width:none}.staff-card-large{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-width:140px;padding:16px;transition:all .2s;display:flex}.staff-card-large:hover{border-color:#c8a96e44;transform:translateY(-4px);box-shadow:0 8px 24px #c8a96e14}.staff-card-large.selected{border-color:var(--accent);background:#c8a96e0a}.staff-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-width:72px;padding:12px;transition:all .2s;display:flex}.staff-card:hover{background:var(--card-hover)}.staff-card.selected{border-color:var(--accent);background:#c8a96e0a}.staff-avatar{color:var(--bg);justify-content:center;align-items:center;font-weight:600;display:flex}.staff-avatar-img{flex-shrink:0}.staff-name{color:var(--text);text-align:center;font-size:12px;font-weight:500}.staff-role{color:var(--text-muted);text-align:center;font-size:10px}.staff-specialty{color:var(--text-muted);text-align:center;font-size:11px}.staff-available-badge{color:var(--success);background:#4ade801f;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:500}.time-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-chip{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .2s;display:flex}.time-chip:hover:not(:disabled):not(.unavailable){background:var(--card-hover)}.time-chip.selected{border-color:var(--accent);color:var(--accent);background:#c8a96e18}.time-chip.unavailable{opacity:.5;color:var(--text-dim);cursor:not-allowed}.time-text{font-size:12px}.time-booked{color:var(--danger);margin-top:2px;font-size:9px}.confirm-card{background:var(--card);border-radius:16px;flex-direction:column;padding:20px;transition:all .2s;display:flex}.confirm-card:hover{border-color:#c8a96e44;transform:translateY(-4px);box-shadow:0 8px 24px #c8a96e14}.confirm-row{border-bottom:1px solid #1a1a24;justify-content:space-between;padding:8px 0;display:flex}.confirm-row:last-child{border-bottom:none}.confirm-label{color:var(--text-muted);font-size:13px}.confirm-value{color:var(--text);font-size:13px;font-weight:500}.btn-primary{width:100%;color:var(--bg);cursor:pointer;background:linear-gradient(135deg,#c8a96e 0%,#b8944a 100%);border:none;border-radius:16px;padding:16px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.3;cursor:not-allowed}.btn-back{background:var(--card);color:var(--text-muted);cursor:pointer;border:none;border-radius:16px;flex:1;padding:16px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:all .2s}.btn-back:hover{background:var(--card-hover)}.btn-row{gap:10px;display:flex}.success-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:500px;display:flex}.success-icon{font-size:64px;animation:.5s cubic-bezier(.68,-.55,.265,1.55) pop}.success-title{color:var(--text);font-family:Playfair Display,serif;font-size:24px;font-weight:600}.success-subtitle{color:var(--text-muted);text-align:center;max-width:250px;font-size:13px}.section-title{color:var(--text);padding:0 4px;font-size:14px;font-weight:600}.appointments-card{background:var(--card);border-radius:16px;overflow:hidden}.appointment-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px;display:flex}.appointment-item:last-child{border-bottom:none}.appointment-time{color:var(--accent);min-width:50px;font-size:14px;font-weight:600}.appointment-details{flex-direction:column;flex:1;gap:4px;display:flex}.appointment-name{color:var(--text);font-size:14px;font-weight:500}.appointment-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.badge{border-radius:8px;padding:4px 10px;font-size:11px;font-weight:500}.badge-success{color:var(--success);background:#4ade8022}.badge-pending{background:var(--accent-soft);color:var(--accent)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:8px;padding:16px;transition:all .2s;display:flex}.stat-card:hover{border-color:#c8a96e44;transform:translateY(-4px);box-shadow:0 8px 24px #c8a96e14}.stat-label{color:var(--text-muted);font-size:12px}.stat-num{color:var(--text);font-family:Playfair Display,serif;font-size:28px;font-weight:600}.stat-trend{color:var(--success);font-size:11px}.toggle-row{background:var(--card);border-radius:12px;gap:8px;padding:4px;display:flex}.toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .2s}.toggle-btn.active{color:var(--accent);background:#c8a96e18}.staff-management{flex-direction:column;gap:16px;display:flex}.staff-list{background:var(--card);border-radius:16px;overflow:hidden}.staff-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px;display:flex}.staff-row:last-child{border-bottom:none}.staff-info{flex-direction:column;flex:1;gap:2px;display:flex}.icon-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex}.icon-btn:hover{background:var(--card-hover);border-color:var(--accent)}.online-dot{background:var(--success);border-radius:50%;width:8px;height:8px}.placeholder-text{color:var(--text-muted);text-align:center;padding:40px 20px;font-size:14px}@media (max-width:768px){.outer-wrapper{gap:0;padding:0}.app-label{display:none}.pwa-shell{width:100%;min-height:100vh;box-shadow:none;border-radius:0}.desktop-only{display:none}}
