.navbar{position:sticky;top:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 1px 12px #1a6b5a0f}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.navbar-brand{display:flex;align-items:center;gap:10px;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;color:var(--primary-dark)}.navbar-logo{font-size:1.6rem}.navbar-links{display:flex;align-items:center;gap:28px}.navbar-links a:not(.btn){font-size:.9rem;font-weight:500;color:var(--text-muted);transition:color var(--transition)}.navbar-links a:not(.btn):hover{color:var(--primary)}.navbar-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}.navbar-hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}@media (max-width: 768px){.navbar-hamburger{display:flex}.navbar-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 24px;gap:16px;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md)}.navbar-links.open{display:flex}.navbar-links .btn{width:100%;justify-content:center}}.hero{position:relative;overflow:hidden;padding:80px 0 100px;background:linear-gradient(135deg,#0e3d31,#1a6b5a 60%,#27917a)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(232,197,71,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(255,255,255,.05) 0%,transparent 60%)}.hero-content{position:relative;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center}.hero-text{color:#fff}.hero-tag{display:inline-block;background:#e8c54733;color:var(--accent);border:1px solid rgba(232,197,71,.3);padding:6px 14px;border-radius:99px;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-bottom:20px}.hero-text h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.15;margin-bottom:20px}.hero-text h1 em{font-style:normal;color:var(--accent)}.hero-text p{font-size:1.05rem;line-height:1.7;color:#fffc;margin-bottom:36px;max-width:480px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-card{background:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:2px}.hero-card-inner{background:#fff;border-radius:18px;padding:36px 28px}.hero-card-icon{width:56px;height:56px;background:var(--bg);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:16px}.hero-card-inner h3{font-size:1.2rem;margin-bottom:8px;color:var(--text)}.hero-card-inner>p{font-size:.88rem;color:var(--text-muted);margin-bottom:24px}.hero-status-preview{display:flex;flex-direction:column;gap:12px}.preview-item{display:flex;align-items:center;gap:10px}.preview-label{font-size:.82rem;color:var(--text-muted)}.stats-bar{background:var(--primary-dark);padding:28px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center}.stat-item{padding:12px;border-right:1px solid rgba(255,255,255,.1);color:#fff}.stat-item:last-child{border-right:none}.stat-item strong{display:block;font-size:2rem;font-family:Playfair Display,serif;color:var(--accent)}.stat-item span{font-size:.82rem;color:#fff9}.section{padding:80px 0}.section-header{text-align:center;margin-bottom:52px}.section-tag{display:inline-block;color:var(--primary);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.section-header h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--text)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:32px 28px;transition:transform var(--transition),box-shadow var(--transition)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.service-icon{font-size:2rem;margin-bottom:14px}.service-card h4{font-size:1rem;margin-bottom:8px;color:var(--text)}.service-card p{font-size:.88rem;color:var(--text-muted);line-height:1.6}.how-section{background:linear-gradient(180deg,var(--bg) 0%,#eaf2ef 100%)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.step-card{text-align:center}.step-num{display:inline-block;font-size:3rem;font-family:Playfair Display,serif;font-weight:700;color:var(--primary-light);opacity:.3;line-height:1;margin-bottom:16px}.step-card h4{font-size:1.05rem;margin-bottom:10px}.step-card p{font-size:.88rem;color:var(--text-muted);line-height:1.7}.cta-section{background:linear-gradient(135deg,var(--primary),var(--primary-light));padding:80px 0;text-align:center}.cta-inner h2{color:#fff;font-size:2.2rem;margin-bottom:14px}.cta-inner p{color:#fffc;margin-bottom:32px;font-size:1.05rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.contact-info h4{font-size:1rem;margin-bottom:16px}.contact-items{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--text-muted)}.footer{background:var(--bg-dark);color:#ffffff80;padding:24px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.footer strong{color:#fffc}.footer-links a{color:#fff6;transition:color var(--transition);font-size:.82rem}.footer-links a:hover{color:var(--accent)}@media (max-width: 900px){.hero-content{grid-template-columns:1fr}.hero-card{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:1fr;gap:24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}}@media (max-width: 600px){.services-grid{grid-template-columns:1fr}.hero{padding:48px 0 60px}.footer-inner{flex-direction:column;gap:12px;text-align:center}}.book-page{min-height:calc(100vh - 68px);background:linear-gradient(180deg,#edf5f2 0%,var(--bg) 100%);padding:48px 24px}.book-container{max-width:680px;margin:0 auto}.book-header{margin-bottom:32px}.back-link{display:inline-block;font-size:.85rem;color:var(--text-muted);margin-bottom:16px;transition:color var(--transition)}.back-link:hover{color:var(--primary)}.book-header h1{font-size:2.2rem;margin-bottom:8px}.book-header p{color:var(--text-muted)}.book-form{padding:36px}.form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none;margin-bottom:24px}.form-section h3{font-family:Playfair Display,serif;font-size:1.1rem;margin-bottom:20px;color:var(--primary-dark)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group:last-child{margin-bottom:0}.success-view{padding:48px 40px;text-align:center}.success-icon{font-size:4rem;margin-bottom:20px}.success-view h2{font-size:2rem;margin-bottom:12px}.success-view>p{color:var(--text-muted);margin-bottom:32px;max-width:400px;margin-inline:auto}.ticket-box{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;border-radius:var(--radius);padding:28px;margin-bottom:24px;display:flex;flex-direction:column;align-items:center;gap:6px}.ticket-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.ticket-id{font-family:Courier New,monospace;font-size:.85rem;background:#ffffff26;padding:8px 16px;border-radius:6px;letter-spacing:.05em;word-break:break-all}.ticket-sub{font-size:.78rem;opacity:.6}.ticket-details{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:28px;text-align:left}.ticket-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:.88rem}.ticket-row:last-child{border-bottom:none}.ticket-row span{color:var(--text-muted)}.success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media (max-width: 600px){.book-form{padding:24px 20px}.form-row{grid-template-columns:1fr}.success-view{padding:32px 20px}}.status-page{min-height:calc(100vh - 68px);background:linear-gradient(180deg,#edf5f2 0%,var(--bg) 100%);padding:48px 24px}.status-container{max-width:600px;margin:0 auto}.status-header{margin-bottom:32px}.status-header h1{font-size:2rem;margin-bottom:8px}.status-header p{color:var(--text-muted)}.search-form{padding:28px;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.not-found{padding:48px 28px;text-align:center;margin-bottom:24px}.not-found-icon{font-size:3rem;margin-bottom:16px}.not-found h3{margin-bottom:8px}.not-found p{color:var(--text-muted);font-size:.9rem}.appointment-card{padding:28px}.appt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.appt-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.appt-id{font-family:monospace;font-size:.8rem;color:var(--text-muted);word-break:break-all;max-width:280px}.progress-track{display:flex;align-items:flex-start;margin-bottom:28px;padding:20px;background:var(--bg);border-radius:var(--radius-sm);position:relative;gap:0}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;gap:8px}.progress-step span{font-size:.7rem;color:var(--text-light);text-align:center;font-weight:500;white-space:nowrap}.progress-step.done span{color:var(--primary)}.progress-step.active span{color:var(--primary);font-weight:700}.progress-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-dark);background:#fff;position:relative;z-index:1;transition:all .3s}.progress-step.done .progress-dot{background:var(--primary);border-color:var(--primary)}.progress-step.active .progress-dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px #1a6b5a26;width:18px;height:18px}.progress-line{position:absolute;top:7px;left:50%;width:100%;height:2px;background:var(--border-dark);z-index:0}.progress-line.done{background:var(--primary)}.appt-alert{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);padding:14px 16px;font-size:.88rem;font-weight:500;margin-bottom:20px}.appt-details{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:20px;overflow:hidden}.appt-detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:.88rem;gap:16px}.appt-detail-item:last-child{border-bottom:none}.appt-detail-item span{color:var(--text-muted);flex-shrink:0}.appt-detail-item strong{text-align:right}.checkin-section{background:var(--status-scheduled-bg);border:1px solid rgba(2,132,199,.2);border-radius:var(--radius-sm);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.checkin-section p{font-size:.88rem;color:var(--status-scheduled);flex:1}.info-banner{background:var(--status-checked_in-bg);color:var(--status-checked_in);border-radius:var(--radius-sm);padding:14px 16px;font-size:.9rem;font-weight:500;margin-bottom:12px}.info-banner.in-service{background:var(--status-in_service-bg);color:var(--status-in_service)}.info-banner.completed{background:var(--status-completed-bg);color:var(--status-completed)}.admin-login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0e3d31,#1a6b5a);padding:24px}.admin-login-brand{text-align:center;margin-bottom:28px;color:#fff}.brand-logo{font-size:3rem;display:block;margin-bottom:8px}.admin-login-brand h1{font-family:Playfair Display,serif;font-size:2rem;margin-bottom:4px}.admin-login-brand p{opacity:.7;font-size:.9rem}.admin-login-card{width:100%;max-width:420px;padding:36px}.admin-login-card h2{font-size:1.5rem;margin-bottom:6px}.login-subtitle{color:var(--text-muted);font-size:.88rem;margin-bottom:24px}.login-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);padding:12px 14px;font-size:.88rem;margin-bottom:20px}.form-group{margin-bottom:16px}.login-back{text-align:center;margin-top:20px}.admin-layout{display:flex;min-height:100vh;background:var(--bg)}.admin-sidebar{width:240px;flex-shrink:0;background:var(--bg-dark);display:flex;flex-direction:column;padding:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:24px 20px 8px;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;color:#fff}.sidebar-brand span:first-child{font-size:1.5rem}.sidebar-role{padding:0 20px 20px;font-size:.72rem;color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 10px;flex:1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:8px;font-size:.88rem;font-weight:500;color:#ffffff80;transition:all var(--transition)}.sidebar-link:hover{background:#ffffff12;color:#ffffffd9}.sidebar-link.active{background:var(--primary);color:#fff;font-weight:600}.sidebar-icon{font-size:1.1rem}.sidebar-footer{padding:16px 10px 24px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:.85rem;color:#fff6;background:none;border:none;width:100%;text-align:left;transition:all var(--transition)}.sidebar-logout:hover{background:#dc262626;color:#fca5a5}.admin-main{flex:1;overflow:auto;min-height:100vh}.admin-page-header{padding:32px 36px 0;margin-bottom:28px}.admin-page-header h1{font-size:1.8rem;margin-bottom:4px}.admin-page-header p{color:var(--text-muted);font-size:.9rem}.admin-content{padding:0 36px 36px}@media (max-width: 900px){.admin-sidebar{width:200px}.admin-page-header,.admin-content{padding-left:20px;padding-right:20px}}@media (max-width: 700px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:relative}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:0 10px 10px}.sidebar-link{flex-direction:column;gap:4px;font-size:.72rem;padding:8px 12px;white-space:nowrap}}.dash-date{font-size:.82rem;text-transform:capitalize;color:var(--primary);font-weight:600;letter-spacing:.04em;margin-bottom:4px}.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.metric-card{padding:24px 20px;display:flex;flex-direction:column;gap:6px;border-left:4px solid transparent}.metric-icon{font-size:1.5rem}.metric-value{font-size:2rem;font-family:Playfair Display,serif;line-height:1;color:var(--text)}.metric-label{font-size:.78rem;color:var(--text-muted);font-weight:500}.metric-blue{border-left-color:var(--status-scheduled)}.metric-purple{border-left-color:var(--status-checked_in)}.metric-amber{border-left-color:var(--status-in_service)}.metric-green{border-left-color:var(--status-completed)}.dash-section{margin-bottom:24px;overflow:hidden}.dash-section-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.dash-section-header h3{font-size:1rem}.dash-section .table-wrap{padding:0}.dash-section table{border:none}.empty-state{padding:40px 24px;text-align:center;color:var(--text-muted)}.empty-sub{font-size:.82rem;margin-top:4px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-link{display:flex;align-items:center;gap:16px;padding:20px;transition:transform var(--transition),box-shadow var(--transition)}.quick-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-link>span{font-size:1.8rem}.quick-link strong{display:block;font-size:.9rem}.quick-link p{font-size:.78rem;color:var(--text-muted);margin-top:2px}@media (max-width: 1000px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.quick-links{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.quick-links{grid-template-columns:1fr}}.filters-bar{display:flex;align-items:flex-end;gap:16px;padding:20px;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-search{flex:1;min-width:180px}.filter-btn{align-self:flex-end}.table-toolbar{padding:14px 20px;border-bottom:1px solid var(--border)}.table-count{font-size:.82rem;color:var(--text-muted);font-weight:600}.cell-sub{font-size:.78rem;color:var(--text-muted);margin-top:2px}.action-buttons{display:flex;gap:8px;align-items:center}.status-options{display:flex;flex-wrap:wrap;gap:10px}.status-option-btn{border:none;cursor:pointer;font-size:.82rem;font-weight:700;padding:8px 16px;transition:opacity var(--transition),transform var(--transition);font-family:inherit}.status-option-btn:hover{opacity:.8;transform:scale(1.03)}.queue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.queue-column{display:flex;flex-direction:column;gap:12px}.queue-col-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:var(--radius-sm);font-weight:700;font-size:.9rem}.queue-count{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.in-service-header{background:var(--status-in_service-bg);color:var(--status-in_service)}.in-service-header .queue-count{background:var(--status-in_service);color:#fff}.waiting-header{background:var(--status-checked_in-bg);color:var(--status-checked_in)}.waiting-header .queue-count{background:var(--status-checked_in);color:#fff}.scheduled-header{background:var(--status-scheduled-bg);color:var(--status-scheduled)}.scheduled-header .queue-count{background:var(--status-scheduled);color:#fff}.queue-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:.85rem;background:var(--bg);border-radius:var(--radius-sm);border:1px dashed var(--border-dark)}.queue-card{padding:16px}.qcard-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:8px}.qcard-name{display:block;font-size:.92rem;margin-bottom:2px}.qcard-service{font-size:.78rem;color:var(--text-muted)}.qcard-time{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--primary);white-space:nowrap}.qcard-actions{display:flex;gap:8px;align-items:center}.queue-card.compact .qcard-top{margin-bottom:10px}.qcard-compact-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.queue-refresh{display:flex;align-items:center;gap:12px}.refresh-note{font-size:.8rem;color:var(--text-muted)}@media (max-width: 1000px){.queue-grid{grid-template-columns:1fr 1fr}.queue-column:last-child{display:none}}@media (max-width: 640px){.queue-grid{grid-template-columns:1fr}.queue-column:last-child{display:flex}}:root{--primary: #1a6b5a;--primary-light: #27917a;--primary-dark: #0e4238;--accent: #e8c547;--accent-hover: #d4b23d;--bg: #f5f7f6;--bg-card: #ffffff;--bg-dark: #0f2621;--text: #1c2b27;--text-muted: #6b7e78;--text-light: #a8b8b3;--border: #dde8e5;--border-dark: #c5d5d0;--danger: #dc2626;--danger-light: #fee2e2;--warning: #d97706;--warning-light: #fef3c7;--success: #16a34a;--success-light: #dcfce7;--info: #0284c7;--info-light: #e0f2fe;--status-scheduled: #0284c7;--status-scheduled-bg: #e0f2fe;--status-checked_in: #7c3aed;--status-checked_in-bg: #ede9fe;--status-in_service: #d97706;--status-in_service-bg: #fef3c7;--status-completed: #16a34a;--status-completed-bg: #dcfce7;--status-no_show: #dc2626;--status-no_show-bg: #fee2e2;--status-cancelled: #6b7280;--status-cancelled-bg: #f3f4f6;--radius: 12px;--radius-sm: 6px;--radius-lg: 20px;--shadow: 0 2px 16px rgba(26, 107, 90, .08);--shadow-md: 0 4px 24px rgba(26, 107, 90, .12);--shadow-lg: 0 8px 40px rgba(26, 107, 90, .16);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Playfair Display,serif;line-height:1.2}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;outline:none}img{max-width:100%;display:block}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;border:none;transition:all var(--transition);letter-spacing:.01em}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--accent);color:var(--primary-dark)}.btn-accent:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--border-dark);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:8px 16px;font-size:.82rem}.btn-lg{padding:16px 32px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.85rem;font-weight:600;color:var(--text)}.form-control{padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;background:#fff;color:var(--text);transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a6b5a1a}.form-control::placeholder{color:var(--text-light)}.form-control.error{border-color:var(--danger)}.form-error{font-size:.8rem;color:var(--danger)}.card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-scheduled{background:var(--status-scheduled-bg);color:var(--status-scheduled)}.badge-checked_in{background:var(--status-checked_in-bg);color:var(--status-checked_in)}.badge-in_service{background:var(--status-in_service-bg);color:var(--status-in_service)}.badge-completed{background:var(--status-completed-bg);color:var(--status-completed)}.badge-no_show{background:var(--status-no_show-bg);color:var(--status-no_show)}.badge-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled)}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;justify-content:center;align-items:center;padding:60px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f262199;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.modal-box{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 0}.modal-body{padding:24px 28px}.modal-footer{padding:0 28px 24px;display:flex;gap:12px;justify-content:flex-end}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .4s ease forwards}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}thead th{text-align:left;padding:12px 16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition)}tbody tr:hover{background:#f9fbfa}tbody td{padding:14px 16px;color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:99px}@media (max-width: 768px){.container{padding:0 16px}.btn-lg{padding:14px 24px}.modal-header,.modal-body,.modal-footer{padding-left:20px;padding-right:20px}}
