@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;800&display=swap";:root{--bg-main:#f8fafc;--bg-card:#fff;--bg-dark:#1d3557;--primary:#e31e24;--secondary:#0076b6;--text-main:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--success:#10b981;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,sans-serif;line-height:1.6}h1,h2,h3{font-family:Outfit,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 2rem}header{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;padding:1rem 0;position:sticky;top:0;box-shadow:0 2px 10px #0000000d}.header-content{justify-content:space-between;align-items:center;display:flex}.logo-container img{width:auto;height:60px}#app{flex-direction:column;display:flex}.hero{text-align:center;order:1;padding:4rem 0 2rem;transition:all .5s}.hero.reordered{opacity:.6;border-top:1px solid var(--border);order:99;margin-top:4rem;padding-top:4rem;transform:scale(.95)}.hero.reordered:hover{opacity:1;transform:scale(1)}.hero h1{color:var(--bg-dark);margin-bottom:1rem;font-size:3.5rem;font-weight:800}.hero p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.2rem}.service-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0;display:grid}.service-card{background:var(--bg-card);border:1px solid var(--border);transition:var(--transition);cursor:pointer;border-radius:1rem;flex-direction:column;padding:2.5rem;display:flex;box-shadow:0 4px 6px -1px #0000001a}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a}.card-icon{width:64px;height:64px;color:var(--secondary);background:#0076b61a;border-radius:1rem;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.service-card h3{color:var(--bg-dark);margin-bottom:1rem;font-size:1.5rem}.service-card p{color:var(--text-muted);flex-grow:1;margin-bottom:2rem;font-size:.95rem}.btn-select{border:1px solid var(--border);background:var(--bg-main);color:var(--text-main);transition:var(--transition);border-radius:.75rem;width:100%;padding:.8rem 1.5rem;font-weight:600}.service-card:hover .btn-select{background:var(--secondary);color:#fff;border-color:var(--secondary)}.progress-container{justify-content:center;gap:2rem;margin-bottom:3rem;display:flex}.progress-step{color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex;position:relative}.progress-step i{background:var(--bg-card);border:1px solid var(--border);width:40px;height:40px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.progress-step.active{color:var(--primary)}.progress-step.active i{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #e31e2433}.booking-section{background:var(--bg-card);opacity:0;border:1px solid #00000008;border-radius:2rem;order:2;max-width:900px;margin:2rem auto;padding:4rem;transition:opacity .4s,transform .4s;animation:.4s forwards slideUp;display:none;transform:translateY(10px);box-shadow:0 25px 50px -12px #00000014,0 4px 6px -2px #0000000a}.booking-section.active{opacity:1;display:block;transform:translateY(0)}.form-group{margin-bottom:1.75rem}.form-group label{color:var(--text-main);margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],select,textarea{border:1px solid var(--border);background:var(--bg-main);width:100%;transition:var(--transition);border-radius:.75rem;padding:1rem 1.25rem;font-family:inherit;font-size:1rem}.form-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full-width{grid-column:1/-1}}.calendar-container{background:var(--bg-main);border-radius:1rem;margin:2rem 0;padding:1.5rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.calendar-day-name{color:var(--text-muted);padding:.5rem;font-size:.8rem;font-weight:600}.calendar-day{aspect-ratio:1;cursor:pointer;transition:var(--transition);border:1px solid var(--border);background:#fff;border-radius:.5rem;justify-content:center;align-items:center;font-size:.9rem;display:flex}.calendar-day:hover:not(.empty,.disabled){background:var(--secondary);color:#fff}.calendar-day.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.calendar-day.disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed;background:#f1f5f9}.checkbox-group{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.checkbox-item{border:1px solid var(--border);cursor:pointer;transition:var(--transition);background:#fff;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;display:flex}.checkbox-item:hover{border-color:var(--secondary);background:#0076b605}.checkbox-item input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--secondary);cursor:pointer;margin:0}.time-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-top:1.5rem;display:grid}.time-slot{border:1px solid var(--border);text-align:center;cursor:pointer;transition:var(--transition);background:#fff;border-radius:.5rem;padding:.75rem}.time-slot:hover:not(.disabled){border-color:var(--secondary);color:var(--secondary)}.time-slot.selected{background:var(--secondary);border-color:var(--secondary);color:#fff}.time-slot.disabled{background:var(--bg-main);color:var(--text-muted);cursor:not-allowed;opacity:.5;border-color:#0000}.btn-back{color:var(--text-main);border:1px solid var(--border);cursor:pointer;transition:var(--transition);background:#fff;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-back:hover{border-color:var(--text-muted);background:var(--bg-main);transform:translateY(-1px)}input:focus,select:focus,textarea:focus{border-color:var(--secondary);background:#fff;outline:none;box-shadow:0 0 0 4px #0076b61a}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:.75rem;padding:1rem 2rem;font-weight:700}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.info-box{color:var(--bg-dark);background:#0076b60d;border:1px solid #0076b61a;border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.btn-select.active{background:var(--secondary);color:#fff;border-color:var(--secondary)}@media (width<=768px){.hero h1{font-size:2.5rem}.booking-section{padding:1.5rem}.service-grid{grid-template-columns:1fr}}.admin-body{background:var(--bg-main);height:100vh;margin:0;padding:0;overflow:hidden}.admin-layout{width:100vw;height:100vh;display:flex}.admin-sidebar{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;padding:1.5rem;display:flex}.sidebar-header img{width:auto;height:40px;margin-bottom:2rem}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.nav-item{color:var(--text-muted);cursor:pointer;text-align:left;width:100%;transition:var(--transition);background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;display:flex}.nav-item i{width:20px;height:20px}.nav-item:hover{background:var(--bg-main);color:var(--text-main)}.nav-item.active{color:var(--secondary);background:#0076b61a;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}.admin-main{flex-grow:1;padding:2rem 3rem;overflow-y:auto}.custom-calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.custom-calendar-header .btn-group{border:1px solid var(--border);border-radius:.5rem;display:flex;overflow:hidden}.custom-calendar-header .btn-group button{border:none;border-right:1px solid var(--border);cursor:pointer;transition:var(--transition);background:#fff;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;display:flex}.custom-calendar-header .btn-group button:last-child{border-right:none}.custom-calendar-header .btn-group button:hover{background:var(--bg-main)}.custom-calendar-header .date-title{text-align:center}.custom-calendar-header .date-title h3{color:var(--bg-dark);margin-bottom:.1rem;font-size:1.5rem;font-weight:700}.custom-calendar-header .date-title span{color:var(--text-muted);text-transform:capitalize;font-size:.9rem}.custom-calendar-header .view-selectors{display:flex}.custom-calendar-header .view-selectors button{border:1px solid var(--border);cursor:pointer;transition:var(--transition);background:#fff;padding:.5rem 1rem;font-weight:600}.custom-calendar-header .view-selectors button:first-child{border-right:none;border-radius:.5rem 0 0 .5rem}.custom-calendar-header .view-selectors button:nth-child(2){border-right:none}.custom-calendar-header .view-selectors button:last-child{border-radius:0 .5rem .5rem 0}.custom-calendar-header .view-selectors button.active{background:var(--bg-dark);color:#fff;border-color:var(--bg-dark)}.daily-grid-container{border:1px solid var(--border);background:#fff;border-radius:.75rem;flex-direction:column;display:flex;overflow:hidden}.daily-grid-header{border-bottom:1px solid var(--border);text-align:center;background:#f8fafc;grid-template-columns:80px repeat(7,1fr);align-items:center;font-weight:700;display:grid}.daily-grid-header-cell{border-right:1px solid var(--border);padding:1rem .5rem;font-size:.85rem}.daily-grid-header-cell:last-child{border-right:none}.daily-grid-header-cell.all-day-label{color:var(--text-muted);font-weight:500}.daily-grid-body{grid-template-rows:repeat(24,45px);grid-template-columns:80px repeat(7,1fr);max-height:70vh;display:grid;position:relative;overflow-y:auto}.daily-grid-time-cell{color:var(--text-muted);border-right:1px solid var(--border);background:#f8fafc;border-bottom:1px solid #f1f5f9;grid-column:1;justify-content:center;align-items:flex-start;padding-top:.25rem;font-size:.8rem;font-weight:600;display:flex}.daily-grid-cell{cursor:pointer;transition:var(--transition);border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;position:relative}.daily-grid-cell:hover{background:#0076b608}.daily-grid-cell:nth-child(8n){border-right:none}.daily-event-block{color:#fff;cursor:pointer;text-overflow:ellipsis;transition:var(--transition);z-index:10;border-radius:.375rem;flex-direction:column;justify-content:space-between;padding:.35rem .5rem;font-size:.75rem;font-weight:600;line-height:1.2;display:flex;position:absolute;inset:2px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.daily-event-block:hover{filter:brightness(.95);transform:scale(.99)}.daily-event-block.event-blue{background:#0076b6;border-left:4px solid #005f94}.daily-event-block.event-pink{background:#ec4899;border-left:4px solid #db2777}.daily-event-block.event-green{background:#10b981;border-left:4px solid #059669}.daily-event-block.event-orange{background:#f97316;border-left:4px solid #ea580c}.daily-event-block.event-yellow{background:#eab308;border-left:4px solid #ca8a04}.daily-event-block.event-purple{background:#8b5cf6;border-left:4px solid #7c3aed}.daily-event-block.event-red{background:#ef4444;border-left:4px solid #dc2626}.daily-event-block .event-time{opacity:.9;margin-bottom:.1rem;font-size:.65rem}.daily-event-block .event-title{font-weight:700}.daily-event-block .event-desc{opacity:.85;font-weight:400}.admin-sidebar{transition:var(--transition)!important}.admin-sidebar.collapsed{width:75px!important;padding:1.5rem .5rem!important}.admin-sidebar.collapsed .sidebar-header{justify-content:center!important}.admin-sidebar.collapsed .sidebar-header img{display:none!important}.admin-sidebar.collapsed .sidebar-header button{padding:0!important}.admin-sidebar.collapsed .nav-item span{display:none!important}.admin-sidebar.collapsed .nav-item{justify-content:center!important;padding:.75rem!important}.admin-sidebar.collapsed .sidebar-footer{align-items:center!important}.admin-sidebar.collapsed .sidebar-footer a span,.admin-sidebar.collapsed .sidebar-footer button span{display:none!important}.daily-event-block.is-pending{opacity:.85;background-image:repeating-linear-gradient(-45deg,#ffffff26 0 10px,#0000 10px 20px)!important;border:1px dashed #fff9!important}
