.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-around;padding:8px 0;z-index:100;box-shadow:0 -2px 10px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#94a3b8;padding:4px 12px;transition:color .2s;gap:3px}.nav-item.active{color:#2563eb}.nav-icon{font-size:20px}.nav-label{font-size:10px;font-weight:600}.mobile-shell{max-width:430px;margin:0 auto;min-height:100vh;background:#f8fafc;display:flex;flex-direction:column;position:relative;box-shadow:0 0 40px #00000014}.mobile-content{flex:1;padding-bottom:68px;overflow-y:auto}.home-page{min-height:100vh;background:#fff}.hero-section{background:linear-gradient(135deg,#1e40af,#2563eb,#3b82f6);color:#fff;padding:48px 20px 40px;text-align:center;position:relative;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 60%)}.hero-content{position:relative;z-index:1}.logo-icon{font-size:48px;margin-bottom:8px}.hero-content h1{font-size:32px;font-weight:800;margin:0;letter-spacing:-.5px}.tagline{font-size:16px;font-weight:600;margin:8px 0 4px;opacity:.95}.subtitle{font-size:13px;opacity:.8;margin:0}.home-actions{padding:24px 20px;text-align:center}.btn-book{width:100%;padding:16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #2563eb4d;transition:transform .15s}.btn-book:active{transform:scale(.98)}.auth-links{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:6px}.btn-outline{background:none;border:1.5px solid #2563eb;color:#2563eb;padding:10px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.auth-hint{font-size:12px;color:#94a3b8}.features-section{padding:0 20px 24px;display:flex;flex-direction:column;gap:12px}.feature-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;gap:12px;align-items:flex-start}.feature-icon{font-size:28px;flex-shrink:0;margin-top:2px}.feature-card h3{margin:0 0 4px;font-size:15px;color:#1e293b}.feature-card p{margin:0;font-size:13px;color:#64748b;line-height:1.4}.contact-section{text-align:center;padding:20px;font-size:13px;color:#64748b;border-top:1px solid #e2e8f0}.step-indicator{display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;gap:0}.step-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.step-dot{width:28px;height:28px;border-radius:50%;background:#e2e8f0;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;z-index:1}.step-item.active .step-dot{background:#2563eb;color:#fff}.step-item.done .step-dot{background:#059669;color:#fff}.step-label{font-size:10px;color:#94a3b8;margin-top:6px;white-space:nowrap}.step-item.active .step-label,.step-item.done .step-label{color:#334155;font-weight:600}.step-line{position:absolute;top:14px;left:55%;width:90%;height:2px;background:#e2e8f0}.step-line.done{background:#059669}.booking-page{min-height:100vh;background:#fff;display:flex;flex-direction:column}.booking-header{display:flex;align-items:center;gap:12px;padding:16px 16px 0}.booking-header h2{margin:0;font-size:18px;color:#1e293b}.btn-back{background:none;border:none;color:#2563eb;font-size:14px;font-weight:600;cursor:pointer;padding:4px 8px}.step-content{flex:1;padding:20px 16px}.step-content h3{margin:0 0 16px;font-size:16px;color:#1e293b}.service-options{display:flex;flex-direction:column;gap:12px}.service-option{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s}.service-option.selected{border-color:#2563eb;background:#eff6ff}.service-icon{font-size:36px;flex-shrink:0}.service-name{font-size:16px;font-weight:700;color:#1e293b}.service-desc{font-size:12px;color:#94a3b8}.service-option .service-name,.service-option .service-desc{display:flex;flex-direction:column}.field-group{margin-bottom:16px}.field-group label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.field-group input,.field-group textarea{width:100%;padding:12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:15px;outline:none;box-sizing:border-box;font-family:inherit;transition:border-color .2s}.field-group input:focus,.field-group textarea:focus{border-color:#2563eb}.date-input{width:100%;padding:12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:15px;outline:none;box-sizing:border-box}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-slot{padding:10px 8px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer;text-align:center;transition:all .2s}.time-slot.selected{background:#2563eb;color:#fff;border-color:#2563eb}.confirm-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.confirm-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e2e8f0}.confirm-row:last-child{border-bottom:none}.confirm-label{font-size:13px;color:#64748b;font-weight:500}.confirm-value{font-size:14px;color:#1e293b;font-weight:600;text-align:right}.booking-footer{padding:16px;border-top:1px solid #e2e8f0}.btn-next{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.btn-next:disabled{background:#94a3b8;cursor:not-allowed}.confirmation-screen{text-align:center;padding:60px 24px}.check-icon{font-size:64px;margin-bottom:16px}.confirmation-screen h2{color:#059669;margin:0 0 12px;font-size:22px}.confirmation-screen p{color:#475569;font-size:15px;line-height:1.5;margin:8px 0}.confirmation-note{font-size:13px!important;color:#94a3b8!important}.confirmation-actions{margin-top:32px;display:flex;flex-direction:column;gap:10px}.btn-primary{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer}.btn-outline{background:none;border:1.5px solid #2563eb;color:#2563eb;padding:12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.dashboard-page{padding:16px;min-height:100vh;background:#f8fafc}.dash-header{margin-bottom:20px}.dash-header h2{margin:0;font-size:20px;color:#1e293b}.welcome-text{font-size:13px;color:#64748b}.next-service-card{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:14px;padding:20px;margin-bottom:24px}.next-service-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:8px}.next-service-type{font-size:20px;font-weight:700;margin-bottom:8px}.next-service-date{font-size:14px;opacity:.9;margin-bottom:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3{margin:0;font-size:15px;color:#1e293b}.empty-state{text-align:center;padding:32px;color:#94a3b8}.btn-book-now{margin-top:12px;padding:10px 24px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.apt-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:10px}.apt-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.apt-type{font-weight:700;font-size:15px;color:#1e293b}.apt-card-body p{margin:4px 0;font-size:13px;color:#475569}.apt-notes{color:#94a3b8;font-style:italic}.btn-reschedule{margin-top:10px;padding:8px 16px;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.history-card.completed{opacity:.7}.history-card.cancelled{opacity:.5;background:#fef2f2}.edit-form{display:flex;flex-direction:column;gap:8px}.edit-input{padding:10px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px}.edit-actions{display:flex;gap:8px;margin-top:4px}.btn-save{padding:8px 16px;background:#059669;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.btn-ghost{padding:8px 16px;background:none;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-weight:600;cursor:pointer}.loading-screen{text-align:center;padding:60px;color:#94a3b8;font-size:16px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f8fafc,#eff6ff)}.auth-card{background:#fff;border-radius:16px;padding:32px 24px;width:100%;max-width:380px;box-shadow:0 4px 24px #00000014;text-align:center}.auth-logo{font-size:48px;margin-bottom:8px}.auth-card h2{margin:0;font-size:22px;color:#1e293b}.auth-subtitle{font-size:13px;color:#94a3b8;margin:6px 0 24px}.auth-error{background:#fee2e2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:left}.auth-card .field-group{margin-bottom:14px;text-align:left}.auth-card .field-group label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:5px}.auth-card .field-group input{width:100%;padding:12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:15px;outline:none;box-sizing:border-box}.auth-card .field-group input:focus{border-color:#2563eb}.btn-submit{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;margin-top:8px}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:20px;font-size:13px;color:#64748b}.btn-switch{background:none;border:none;color:#2563eb;font-weight:600;font-size:13px;cursor:pointer;padding:0}.auth-separator{display:flex;align-items:center;margin:20px 0;color:#94a3b8;font-size:12px}.auth-separator:before,.auth-separator:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth-separator span{padding:0 12px}.guest-message{font-size:13px;color:#64748b}.notifications-page{padding:16px;min-height:100vh;background:#f8fafc}.notif-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.notif-header h2{margin:0;font-size:20px;color:#1e293b}.notif-count{font-size:12px;color:#2563eb;background:#eff6ff;padding:4px 10px;border-radius:10px;font-weight:600}.notif-list{display:flex;flex-direction:column;gap:8px}.notif-item{background:#fff;border-radius:12px;padding:14px;display:flex;align-items:flex-start;gap:12px;border:1px solid #e2e8f0;cursor:pointer;transition:background .15s}.notif-item:active{background:#f1f5f9}.notif-item.unread{border-left:3px solid #2563eb}.notif-item.read{opacity:.6}.notif-icon{font-size:24px;flex-shrink:0}.notif-content{flex:1;min-width:0}.notif-message{margin:0;font-size:14px;color:#334155;line-height:1.4}.notif-time{font-size:11px;color:#94a3b8;margin-top:4px;display:block}.notif-dot{width:8px;height:8px;border-radius:50%;background:#2563eb;flex-shrink:0;margin-top:6px}.empty-state{text-align:center;padding:48px;color:#94a3b8}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;overscroll-behavior:none}input,textarea,button,select{font-family:inherit}
