@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";
:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", var(--font-sans);--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 10px 30px #00000014;--shadow-lg:0 20px 50px #00000026;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--c-bg:#f8fafc;--c-surface:#fff;--c-text:#0f172a;--c-text-muted:#64748b;--c-primary:#0f172a;--c-primary-hover:#1e293b;--c-accent:#10b981;--c-border:#e2e8f0;--status-confirmed:#10b981;--status-paid:#f59e0b;--status-cancelled:#ef4444;--status-expired:#94a3b8;--status-pending:#3b82f6;--color-brand-deep-teal:#0e4d4f;--color-brand-teal:#157a7d;--color-brand-mint:#7ee2c6;--color-brand-lime:#b7f15a;--color-brand-dark-ink:#1a1f23;--color-brand-off-white:#f8fafc;--color-accent-blue:#3b82f6;--color-accent-warm-yellow:#fbbf24;--color-accent-muted-gold:#d4af37}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}.client-container{background-color:var(--c-surface);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #00000008}.client-header{border-bottom:1px solid var(--c-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#ffffffd9;align-items:center;gap:12px;padding:24px 20px 16px;display:flex;position:sticky;top:0}.client-logo{color:#fff;width:44px;height:44px;font-weight:700;font-family:var(--font-heading);background:linear-gradient(135deg,#3b82f6,#10b981);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #10b98133}.brand-mark{object-fit:contain;width:64px;height:64px;display:block}.mobile-break{display:none}@media (max-width:768px){.mobile-break{display:block}}.brand-lockup{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.client-content{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex}.step-indicator{border-bottom:1px dashed var(--c-border);justify-content:space-between;margin-bottom:10px;padding:10px 0;display:flex}.step-dot{background-color:var(--c-border);width:10px;height:10px;transition:var(--transition);border-radius:50%}.step-dot.active{background-color:var(--c-accent);transform:scale(1.3);box-shadow:0 0 10px #10b98180}.step-dot.completed{background-color:var(--c-primary)}.service-card{border-radius:var(--radius-md);border:1.5px solid var(--c-border);background-color:var(--c-surface);cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.service-card:hover{border-color:var(--c-accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.service-card.selected{border-color:var(--c-accent);background-color:#10b98108}.service-card.selected:before{content:"";background-color:var(--c-accent);width:4px;position:absolute;top:0;bottom:0;left:0}.service-info{flex-direction:column;gap:6px;display:flex}.service-duration{color:var(--c-text-muted);align-items:center;gap:4px;font-size:13px;display:flex}.service-price-block{text-align:right}.deposit-badge{color:#047857;background:#10b9811a;border-radius:50px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.btn{border-radius:var(--radius-md);width:100%;font-family:var(--font-heading);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:16px;font-weight:600;display:flex}.btn-primary{background-color:var(--c-primary);color:#fff}.btn-primary:hover{background-color:var(--c-primary-hover);transform:translateY(-1px)}.btn-accent{background-color:var(--c-accent);color:#fff;box-shadow:0 4px 15px #10b98133}.btn-accent:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 6px 20px #10b9814d}.btn-outline{border:1.5px solid var(--c-border);color:var(--c-text);background-color:#0000}.btn-outline:hover{background-color:var(--c-bg)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px;display:grid}.calendar-day-header{text-align:center;color:var(--c-text-muted);padding:4px 0;font-size:12px;font-weight:600}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.calendar-day:hover:not(.disabled){background-color:var(--c-bg);border-color:var(--c-border)}.calendar-day.selected{background-color:var(--c-accent);color:#fff;font-weight:700;box-shadow:0 4px 10px #10b9814d}.calendar-day.disabled{opacity:.25;cursor:not-allowed}.calendar-day.today{border-color:var(--c-primary)}.slots-container{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.slot-pill{border-radius:var(--radius-sm);border:1.5px solid var(--c-border);text-align:center;cursor:pointer;transition:var(--transition);padding:12px;font-size:14px;font-weight:600}.slot-pill:hover{border-color:var(--c-accent)}.slot-pill.selected{background-color:var(--c-accent);color:#fff;border-color:var(--c-accent);box-shadow:0 4px 10px #10b98133}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--c-text);font-size:14px;font-weight:600}.form-input{border-radius:var(--radius-sm);border:1.5px solid var(--c-border);width:100%;font-size:15px;font-family:var(--font-sans);transition:var(--transition);outline:none;padding:14px}.form-input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px #10b9811a}.qr-card{border-radius:var(--radius-md);border:1.5px solid var(--c-border);background-color:var(--c-surface);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.countdown-box{color:#ef4444;font-weight:700;font-family:var(--font-heading);background-color:#fef2f2;border:1px solid #fee2e2;border-radius:50px;align-items:center;gap:6px;padding:10px 20px;display:inline-flex}.qr-image-wrapper{border-radius:var(--radius-sm);border:1px solid var(--c-border);box-shadow:var(--shadow-sm);background:#fff;padding:16px;display:inline-block}.merchant-layout{min-height:100vh;color:var(--color-brand-dark-ink);font-family:var(--font-sans);background-color:#f8fafc;display:flex}.merchant-sidebar{z-index:100;background-color:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:280px;height:100vh;padding:24px;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:4px 0 24px #00000005}.merchant-logo-section{align-items:center;gap:12px;margin-bottom:40px;display:flex}.merchant-logo{border-radius:var(--radius-sm);background:#6366f114;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:flex;overflow:hidden;box-shadow:0 4px 15px #6366f14d}.sidebar-title{font-family:var(--font-heading);background:linear-gradient(135deg, var(--color-brand-dark-ink), var(--color-brand-teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:8px;display:flex}.sidebar-link{border-radius:var(--radius-sm);color:#64748b;transition:var(--transition);border:1px solid #0000;align-items:center;gap:12px;padding:12px 16px;font-weight:600;text-decoration:none;display:flex}.sidebar-link:hover,.sidebar-link.active{color:var(--color-brand-dark-ink);background-color:#f1f5f9;border-color:#e2e8f0}.sidebar-link.active{border-left:3px solid var(--color-brand-teal);background:linear-gradient(90deg,#157a7d14,#0000)}.merchant-main{flex-direction:column;flex:1;gap:32px;padding:40px;display:flex;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.stat-card{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000005}.stat-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#157a7d0d 0%,#0000 70%);width:150px;height:150px;position:absolute;top:-50px;right:-50px}.stat-title{color:#64748b;font-size:14px;font-weight:600}.stat-value{font-family:var(--font-heading);color:var(--color-brand-dark-ink);font-size:32px;font-weight:800}.table-wrapper{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 4px 20px #00000005}.merchant-table{border-collapse:collapse;text-align:left;width:100%}.merchant-table th{color:#64748b;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:16px 24px;font-size:13px;font-weight:700}.merchant-table td{color:var(--color-brand-dark-ink);border-bottom:1px solid #e2e8f0;padding:18px 24px;font-size:14px}.merchant-table tr:hover td{background-color:#f8fafc}.badge{border-radius:50px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-confirmed{color:#10b981;background-color:#10b9811a}.badge-paid{color:#f59e0b;background-color:#f59e0b1a}.badge-cancelled{color:#ef4444;background-color:#ef44441a}.badge-expired{color:#94a3b8;background-color:#94a3b81a}.badge-pending{color:#3b82f6;background-color:#3b82f61a}.action-btn{color:var(--color-brand-dark-ink);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background-color:#fff;border:1px solid #cbd5e1;padding:8px 14px;font-size:13px;font-weight:600;box-shadow:0 2px 5px #00000005}.action-btn:hover{background-color:#f8fafc;border-color:#94a3b8;box-shadow:0 4px 15px #0000000d}.action-btn-success{color:#fff;background-color:#10b981;border-color:#10b981}.action-btn-success:hover{color:#fff;background-color:#059669;box-shadow:0 4px 15px #10b9814d}.action-btn-danger{color:#ef4444;background-color:#fff;border-color:#fca5a5}.action-btn-danger:hover{color:#dc2626;background-color:#fef2f2;border-color:#ef4444}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0006;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{border-radius:var(--radius-md);background-color:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:20px;width:90%;max-width:600px;padding:32px;display:flex;box-shadow:0 20px 40px #0000001a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.mobile-dashboard-header{display:none}@media (max-width:768px){.mobile-dashboard-header{z-index:101;background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:60px;padding:12px 20px;display:flex;position:sticky;top:0;box-shadow:0 4px 10px #0000000d}.merchant-layout{flex-direction:column}.merchant-sidebar{z-index:100;background-color:#fff;border-bottom:none;border-right:1px solid #e2e8f0;width:280px;height:calc(100vh - 60px);padding:24px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:fixed;top:60px;left:0;transform:translate(-100%);box-shadow:10px 0 30px #0000000d}.merchant-sidebar.open{transform:translate(0)}.merchant-logo-section{display:none}.sidebar-nav{flex-direction:column;gap:12px;padding-bottom:0;overflow-x:visible}.merchant-main{min-height:calc(100vh - 60px);padding:20px}.table-wrapper{box-shadow:none;background:0 0;border:none;overflow:visible}.merchant-table thead{display:none}.merchant-table,.merchant-table tbody,.merchant-table tr,.merchant-table td{width:100%;display:block}.merchant-table tr{border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0;margin-bottom:16px;padding:12px}.merchant-table td{text-align:right;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 8px;display:flex}.merchant-table td:before{content:attr(data-label);color:#64748b;text-align:left;margin-right:16px;font-weight:600}.merchant-table td:last-child{border-bottom:0;justify-content:flex-end;padding-top:16px}.merchant-table td:last-child:before{display:none}.modal-grid-responsive{grid-template-columns:1fr!important}.responsive-header-flex{flex-wrap:wrap;gap:16px}.responsive-header-flex>div:first-child{flex:100%}.schedule-row-responsive{grid-template-columns:1fr!important;gap:16px!important}.settings-form-responsive,.inner-grid-responsive{grid-template-columns:1fr!important}}
