@font-face{font-family:Cocogoose;src:url(/assets/cocogoose-pro.semilight-DQ2ujTkA.ttf)format("truetype");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:Roca One;src:url(/assets/RocaOne-Rg-Clz-qboZ.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#4191be;--accent-bg:#4191be1f;--accent-border:#4191be6b;--accent-soft:#b9eaf6;--success:#008d6b;--success-bg:#008d6b1f;--success-border:#008d6b57;--success-soft:#d6f3ea;--warning:#ffebb7;--warning-bg:#ffeeb7eb;--warning-border:#ffeeb7f2;--warning-text:#7a5600;--danger:#bf4764;--danger-bg:#fdb0be;--danger-border:#bf476457;--danger-text:#8d243f;--social-bg:#b9eaf642;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Roca One", "Cocogoose", serif;--heading:"Cocogoose", "Roca One", sans-serif;--mono:"Roca One", "Cocogoose", serif;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#4191be;--accent-bg:#4191be2e;--accent-border:#4191be6b;--accent-soft:#b9eaf6;--success:#008d6b;--success-bg:#008d6b2e;--success-border:#008d6b5c;--success-soft:#d6f3ea;--warning:#ffebb7;--warning-bg:#ffeeb729;--warning-border:#ffeeb759;--warning-text:#ffebb7;--danger:#bf4764;--danger-bg:#bf476438;--danger-border:#bf47646b;--danger-text:#f5b0bf;--social-bg:#2f303aa3;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{font-family:var(--sans);margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.auth-container{background:linear-gradient(135deg, var(--accent-bg) 0%, var(--bg) 100%);justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.auth-card{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;width:100%;max-width:450px;padding:40px}.auth-card .auth-logo{object-fit:contain;width:88px;height:88px;margin:0 auto 12px;display:block}.auth-card h1{text-align:center;color:var(--accent);margin:0 0 30px;font-size:28px}.auth-tabs{border-bottom:2px solid var(--border);gap:10px;margin-bottom:30px;display:flex}.tab-btn{cursor:pointer;color:var(--text);background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px;font-size:16px;font-weight:500;transition:all .3s}.tab-btn:hover{color:var(--accent)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form{animation:.3s ease-in fadeIn}.auth-form h2{text-align:center;margin-bottom:20px;font-size:20px}.app-icon{vertical-align:-.125em;flex:none;width:1em;height:1em;margin-right:.35em;display:inline-block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-group{margin-bottom:18px}.form-group label{color:var(--text-h);margin-bottom:8px;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=password]{border:1px solid var(--border);width:100%;font-size:16px;font-family:var(--sans);background:var(--bg);color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:12px;transition:border-color .3s}:is(.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=password]):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.form-group input[type=checkbox]{cursor:pointer;margin-right:8px}button,input,select,textarea{font-family:var(--sans)}.btn-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:10px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.btn-submit:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.btn-cancel{background:var(--border);width:100%;color:var(--text-h);border:1px solid var(--border);cursor:pointer;border-radius:6px;margin-top:10px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.btn-cancel:hover{background:var(--accent-bg);border-color:var(--accent)}.btn-cancel:active{transform:translateY(0)}.form-message{text-align:center;border-radius:6px;margin-top:12px;padding:12px;font-weight:500}.form-message.loading{background:var(--accent-bg);color:var(--accent)}.form-message.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.form-message.error{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.admin-container{background:var(--bg);flex-direction:column;min-height:100svh;display:flex}.admin-wrapper{flex-direction:column;flex:1;display:flex}.admin-header{border-bottom:1px solid var(--border);background:linear-gradient(to right, var(--accent-bg), var(--bg));justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.admin-header .admin-title h1{margin:0;font-size:24px}.admin-header .admin-title p{color:var(--text);margin:5px 0 0;font-size:14px}.btn-logout{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);cursor:pointer;border-radius:6px;padding:10px 20px;font-weight:600;transition:all .3s}.btn-logout:hover{background:var(--danger);color:#fff}.admin-content{flex:1;display:flex;overflow:hidden}.admin-nav{border-right:1px solid var(--border);background:var(--social-bg);flex-direction:column;gap:10px;width:200px;padding:20px;display:flex}.nav-btn{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:6px;padding:12px 16px;font-weight:500;transition:all .3s}.nav-btn:hover{background:var(--accent-bg);color:var(--accent)}.nav-btn.active{background:var(--accent);color:#fff}.admin-sections{flex:1;padding:30px;overflow-y:auto}.admin-section{display:none}.admin-section.active{display:block}.admin-section h2{margin-bottom:20px}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px;display:grid}.stat-card{background:linear-gradient(135deg, var(--accent-bg), var(--bg));border:1px solid var(--border);text-align:center;border-radius:8px;padding:20px}.stat-card h3{font-family:"Roca One", var(--sans);font-variant-numeric:tabular-nums;color:var(--text-h);margin:0;font-size:32px;font-weight:400;line-height:1}.stat-card p{color:var(--text);margin-top:10px}.dashboard-card{cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.dashboard-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.dashboard-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.dashboard-detail{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:20px;padding:20px}.dashboard-detail-header{margin-bottom:16px}.dashboard-detail-header h3{color:var(--text-h);margin:0 0 6px}.dashboard-detail-header p{color:var(--text);margin:0}.dashboard-detail-list{flex-direction:column;gap:12px;display:flex}.dashboard-detail-item{border:1px solid var(--border);background:var(--social-bg);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.dashboard-detail-item p,.dashboard-detail-meta{color:var(--text);margin:4px 0 0;font-size:13px}.dashboard-detail-meta{flex-direction:column;align-items:flex-end;gap:4px;min-width:140px;display:flex}.dashboard-empty{color:var(--text);margin:0;font-style:italic}.users-table-container{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.users-table{border-collapse:collapse;background:var(--bg);width:100%}.users-table thead{background:var(--social-bg)}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px}.users-table th{color:var(--text-h);font-weight:600}.users-table tr:hover{background:var(--accent-bg)}.btn-small{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .3s}.btn-small:hover{opacity:.8}.info-box{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;margin-top:15px;padding:20px}.info-box p{color:var(--text-h);margin:12px 0}.client-container{background:var(--bg);flex-direction:column;min-height:100svh;display:flex}.client-wrapper{flex-direction:column;flex:1;display:flex}.client-header{border-bottom:1px solid var(--border);background:linear-gradient(to right, var(--accent-bg), var(--bg));justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.client-header .client-title h1{margin:0;font-size:24px}.client-header .client-title p{color:var(--text);margin:5px 0 0;font-size:14px}.client-content{flex:1;display:flex;overflow:hidden}.client-nav{border-right:1px solid var(--border);background:var(--social-bg);flex-direction:column;gap:10px;width:200px;padding:20px;display:flex}.client-sections{flex:1;padding:30px;overflow-y:auto}.client-section{display:none}.client-section.active{display:block}.client-section h2{margin-bottom:20px}.profile-card{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:20px}.profile-field{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.profile-field:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.profile-field label{color:var(--accent);margin-bottom:6px;font-weight:600;display:block}.profile-field p{color:var(--text-h)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px;display:grid}.service-card{background:linear-gradient(135deg, var(--accent-bg), var(--bg));border:1px solid var(--border);border-radius:8px;padding:20px;transition:all .3s}.service-card h3{color:var(--accent);margin:0 0 10px}.service-card p{color:var(--text);font-size:14px}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.appointments-content{background:var(--social-bg);border:1px solid var(--border);text-align:center;border-radius:8px;padding:30px}.appointments-content p{color:var(--text);margin-bottom:20px}@media (width<=768px){.auth-card{padding:30px 20px}.admin-content,.client-content{flex-direction:column}.admin-nav,.client-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;width:100%;overflow-x:auto}.admin-sections,.client-sections{padding:20px}.dashboard-stats{grid-template-columns:1fr}.dashboard-detail-item,.appointment-item{flex-direction:column;align-items:flex-start}.dashboard-detail-meta,.appointment-actions{align-items:flex-start;width:100%}.dashboard-detail-meta{min-width:0}.form-buttons,.appointment-actions{flex-direction:column}.form-buttons button,.appointment-actions button{width:100%}.calendar-weekdays,.calendar-days{gap:4px}.calendar-weekdays div{padding:6px 0;font-size:11px}.calendar-days .calendar-day{padding:10px 4px;font-size:12px}.time-slots{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.time-slots .time-slot{padding:10px 6px;font-size:12px}.type-options{grid-template-columns:1fr}}@media (width<=480px){#app{border-inline:none}.admin-sections,.client-sections,.appointment-booking,.profile-form,.calendar-section,.dashboard-detail{padding:16px 12px}.btn-month-nav,.btn-submit,.btn-cancel{width:100%}.calendar-navigation{gap:10px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-weekdays div{font-size:10px}.calendar-days .calendar-day{padding:8px 2px;font-size:11px}.time-slots{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.dashboard-card h3{font-size:24px}.dashboard-card p{font-size:13px}}.appointments-container{flex-direction:column;gap:30px;display:flex}.calendar-section{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:20px}.calendar-section h3{color:var(--text-h);margin-top:0;margin-bottom:15px}.calendar-navigation{flex-direction:column;align-items:center;gap:15px;display:flex}.btn-month-nav{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-weight:600;transition:all .3s}.btn-month-nav:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.btn-month-nav:active{transform:translateY(0)}.calendar-header{text-align:center;margin-bottom:20px}.calendar-header h3{color:var(--accent);margin:0;font-size:20px}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px;display:grid}.calendar-weekdays div{text-align:center;color:var(--accent);padding:8px 0;font-size:12px;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-days .empty{background:0 0}.calendar-days .calendar-day{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:4px;padding:12px 8px;font-weight:500;transition:all .2s}.calendar-days .calendar-day:hover{background:var(--accent-bg);border-color:var(--accent)}.calendar-days .calendar-day.today{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.calendar-days .calendar-day.selected{background:var(--accent);color:var(--bg);border-color:var(--accent)}.calendar-days .calendar-day:disabled,.calendar-days .calendar-day.disabled-day{cursor:not-allowed;opacity:.6;background:var(--border);color:var(--text);border-color:var(--border)}.appointment-booking{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:20px}.appointment-booking h3{color:var(--text-h);margin-top:0;margin-bottom:15px}.selected-date-display{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:6px;margin-bottom:20px;padding:12px 16px}.selected-date-display p{color:var(--text-h);margin:0}.time-slots{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:25px;display:grid}.time-slots .time-slot{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:12px;font-size:13px;font-weight:500;transition:all .2s}.time-slots .time-slot:hover{background:var(--accent-bg);border-color:var(--accent)}.time-slots .time-slot:disabled{cursor:not-allowed;opacity:.55;color:#6b7280;background:#e5e7eb;border-color:#d1d5db}.time-slots .time-slot.booked{background:var(--border)}.time-slots .time-slot.restricted{border-style:dashed}.time-slots .time-slot.blocked{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger)}.time-slots .time-slot.selected{background:var(--accent);color:var(--bg);border-color:var(--accent)}.appointment-type{margin-bottom:25px}.appointment-type h3{color:var(--text-h);margin-top:0;margin-bottom:15px}.type-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.type-option{border:2px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:12px 16px;transition:all .2s;display:flex}.type-option:hover{border-color:var(--accent);background:var(--accent-bg)}.type-option input[type=radio]{cursor:pointer}.type-option span{color:var(--text-h);font-weight:500}.type-option input[type=radio]:checked+span{color:var(--accent)}.profile-form{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:25px}.profile-form h3{color:var(--text-h);margin-top:0;margin-bottom:20px}.profile-form #edit-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--accent);font-weight:600}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=email]{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:4px;padding:10px 12px}:is(.form-group input[type=text],.form-group input[type=tel],.form-group input[type=email]):focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg);outline:none}.form-group input[type=checkbox]{cursor:pointer;width:20px;height:20px}.form-buttons{gap:12px;margin-top:10px;display:flex}.form-buttons button{flex:1}.appointments-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.appointments-list .no-appointments{text-align:center;color:var(--text);background:var(--social-bg);border:1px solid var(--border);border-radius:6px;padding:30px 20px}.appointment-item{background:var(--social-bg);border:1px solid var(--border);border-radius:6px;padding:16px;transition:all .2s}.appointment-item:hover{box-shadow:var(--shadow);border-color:var(--accent)}.appointment-item .appointment-info p{color:var(--text);margin-bottom:8px}.appointment-item .appointment-info p:last-child{margin-bottom:0}.appointment-item .appointment-info p strong{color:var(--text-h)}.type-badge{border-radius:12px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.type-badge.virtual{background:var(--accent-bg);color:var(--accent)}.type-badge.presencial{background:var(--success-bg);color:var(--success)}.status-badge{border-radius:12px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.status-badge.pending{background:var(--warning-bg);color:var(--warning-text)}.status-badge.confirmed,.status-badge.approved{background:var(--success-bg);color:var(--success)}.status-badge.cancelled{background:var(--danger-bg);color:var(--danger)}
