*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--azul: #4A627A;--azul-soft: #D1DBE5;--azul-lt: #EEF3F7;--dourado: #D4AF37;--dourado-lt: #FBF7E9;--dourado-borda: #E8D98A;--fundo: #F9FBFC;--branco: #FFFFFF;--texto: #5A7086;--escuro: #2C3E50;--borda: rgba(74,98,122,.15);--borda-md: rgba(74,98,122,.25);--danger: #C0392B;--danger-lt: #FDECEA;--success: #1E7A4A;--success-lt: #EAF5EE;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Inter", "Segoe UI", system-ui, sans-serif;--radius: 8px;--radius-lg: 15px;--shadow-sm: 0 4px 16px rgba(74,98,122,.08);--shadow-md: 0 10px 30px rgba(74,98,122,.12)}html{font-size:16px}body{font-family:var(--font-sans);background:var(--fundo);color:var(--azul);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);font-weight:400;line-height:1.2;color:var(--azul)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--azul-soft);border-radius:2px}.booking-page{min-height:100vh;display:flex;flex-direction:column}.booking-header{padding:32px 0 24px;text-align:center;border-bottom:1px solid var(--borda);background:#ffffffd9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.booking-header .eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);margin-bottom:6px;font-family:var(--font-sans)}.booking-header h1{font-size:2rem;color:var(--azul);font-weight:300}.booking-header h1 span{color:var(--dourado);font-style:italic}.booking-header p{color:var(--texto);margin-top:6px;font-size:.88rem}.steps{display:flex;justify-content:center;align-items:center;gap:0;padding:20px 0 0}.step{display:flex;align-items:center;gap:8px;font-size:.68rem;color:var(--azul-soft);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.step.active{color:var(--azul)}.step.done{color:var(--dourado)}.step-num{width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:.7rem}.step.done .step-num{background:var(--dourado);border-color:var(--dourado);color:#fff}.step.active .step-num{background:var(--azul);border-color:var(--azul);color:#fff}.step-sep{width:28px;height:1px;background:var(--azul-soft);margin:0 6px}.booking-body{flex:1}.container{width:100%;max-width:680px;margin:0 auto;padding:0 24px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:32px 0 24px}@media (max-width: 500px){.service-grid{grid-template-columns:1fr}}.service-card{background:#d1dbe526;border:1px solid var(--borda);border-radius:var(--radius-lg);padding:24px;cursor:pointer;transition:all .35s ease;text-align:left;position:relative;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);background:var(--branco);border-color:var(--azul-soft)}.service-card.selected{border-color:var(--azul);background:var(--branco);box-shadow:0 0 0 3px #4a627a1a}.service-card .badge-exclusivo{display:inline-block;font-size:.6rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:#fff;background:var(--dourado);padding:3px 10px;border-radius:20px;margin-bottom:12px;font-family:var(--font-sans);align-self:flex-start}.service-card h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:400;color:var(--azul);margin-bottom:8px}.service-card .desc{font-size:.83rem;color:var(--texto);line-height:1.6;flex:1}.service-card .meta{font-size:.75rem;color:var(--dourado);margin-top:14px;display:flex;gap:14px;font-family:var(--font-sans);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.calendar-wrap{padding:28px 0}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-header h2{font-size:1.2rem;font-weight:300;text-transform:capitalize}.cal-nav{background:none;border:1px solid var(--borda);border-radius:var(--radius);width:32px;height:32px;cursor:pointer;color:var(--texto);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s}.cal-nav:hover{border-color:var(--azul);color:var(--azul)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-day-name{text-align:center;font-size:.62rem;color:var(--texto);letter-spacing:.08em;text-transform:uppercase;padding-bottom:8px;font-weight:600}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:.83rem;cursor:pointer;border:1px solid transparent;transition:all .15s;background:var(--branco);color:var(--azul)}.cal-day:hover:not(.disabled):not(.empty){border-color:var(--azul-soft);background:var(--azul-lt)}.cal-day.selected{background:var(--azul);color:#fff;border-color:var(--azul)}.cal-day.today{border-color:var(--dourado);color:var(--dourado);font-weight:600}.cal-day.disabled{color:var(--azul-soft);background:none;cursor:default}.cal-day.empty{background:none;cursor:default}.slots-wrap{padding:4px 0 28px}.slots-wrap h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--texto);margin-bottom:12px;font-weight:600}.slots-grid{display:flex;flex-wrap:wrap;gap:8px}.slot-btn{padding:8px 18px;border:1px solid var(--borda);border-radius:var(--radius);background:var(--branco);font-size:.83rem;cursor:pointer;transition:all .15s;font-family:var(--font-sans);color:var(--azul);font-weight:500}.slot-btn:hover{border-color:var(--azul-soft);background:var(--azul-lt)}.slot-btn.selected{background:var(--azul);color:#fff;border-color:var(--azul)}.no-slots{font-size:.88rem;color:var(--texto);font-style:italic;padding:8px 0}.form-wrap{padding:32px 0 48px}.form-wrap h2{font-size:1.8rem;font-weight:300;margin-bottom:4px}.form-wrap .subtitle{font-size:.88rem;color:var(--texto);margin-bottom:24px}.summary-box{border:1px solid var(--borda);border-radius:var(--radius-lg);background:#d1dbe51f;padding:16px 20px;margin-bottom:24px}.summary-box .row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--borda);font-size:.88rem}.summary-box .row:last-child{border-bottom:none}.summary-box .row span:first-child{color:var(--texto)}.summary-box .row span:last-child{font-weight:600;color:var(--azul)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto);margin-bottom:6px;font-weight:600}.form-group input,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--borda);border-radius:var(--radius);font-family:var(--font-sans);font-size:.92rem;background:var(--branco);color:var(--azul);transition:border-color .2s;outline:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--azul);box-shadow:0 0 0 3px #4a627a14}.btn{width:100%;padding:15px;border-radius:var(--radius);font-family:var(--font-sans);font-size:.83rem;font-weight:700;cursor:pointer;transition:all .3s;border:none;letter-spacing:1px;text-transform:uppercase}.btn-primary{background:var(--azul);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #4a627a33}.btn-primary:disabled{opacity:.35;cursor:default}.btn-dourado{background:var(--dourado);color:#fff}.btn-dourado:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #d4af3740}.btn-ghost{background:none;border:1px solid var(--borda);color:var(--texto);margin-top:10px}.btn-ghost:hover{border-color:var(--azul-soft);color:var(--azul)}.success-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 0;gap:16px}.success-icon{width:60px;height:60px;border:2px solid var(--dourado);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--dourado)}.success-wrap h2{font-size:2rem;font-weight:300;color:var(--azul)}.success-wrap p{color:var(--texto);max-width:340px;font-size:.92rem;line-height:1.7}.loading{display:flex;justify-content:center;align-items:center;padding:32px;color:var(--texto);font-size:.88rem;gap:10px}.spinner{width:16px;height:16px;border:2px solid var(--azul-soft);border-top-color:var(--azul);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-inline{color:var(--danger);font-size:.83rem;margin-bottom:14px;padding:10px 14px;background:var(--danger-lt);border-radius:var(--radius)}.admin-layout{display:flex;height:100vh;width:100%;overflow:hidden}.admin-sidebar{background:var(--azul);display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;overflow-x:hidden}.sb-brand{padding:28px 24px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.sb-brand .eyebrow{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);margin-bottom:6px;font-weight:600}.sb-brand .nome{font-family:var(--font-serif);font-size:1.1rem;color:#fff;font-weight:300}.sb-nav{padding:16px 0;flex:1}.sb-link{display:flex;align-items:center;gap:10px;padding:10px 24px;font-size:.78rem;color:#ffffff80;cursor:pointer;border-left:3px solid transparent;letter-spacing:.04em;font-weight:500;transition:all .15s;text-decoration:none;font-family:var(--font-sans);text-transform:uppercase;white-space:nowrap}.sb-link:hover{color:#ffffffd9;background:#ffffff0d}.sb-link.active{color:#fff;border-left-color:var(--dourado);background:#d4af371f}.sb-link svg{flex-shrink:0;opacity:.6}.sb-link.active svg{opacity:1}.sb-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.08)}.sb-footer button{background:none;border:none;color:#ffffff59;font-size:.72rem;cursor:pointer;font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:color .15s;padding:0}.sb-footer button:hover{color:#ffffffb3}.admin-main{flex:1;padding:40px 44px 60px;overflow-y:auto;min-width:0;height:100vh}@media (max-width: 720px){.admin-sidebar{display:none}.admin-main{padding:24px 16px 40px}}.page-header{margin-bottom:32px;border-bottom:1px solid var(--borda);padding-bottom:16px}.page-header .eyebrow{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);margin-bottom:4px;font-weight:600}.page-header h1{font-size:2rem;font-weight:300;color:var(--azul)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:20px 22px;transition:box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-sm)}.stat-card .lbl{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--texto);margin-bottom:8px;font-weight:600}.stat-card .val{font-family:var(--font-serif);font-size:2.2rem;font-weight:300;color:var(--azul)}.stat-card .sub{font-size:.72rem;color:var(--dourado);margin-top:2px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--texto);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;font-weight:600}.proc-table{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:32px}.proc-table-head{display:grid;grid-template-columns:2fr 80px 100px 60px 60px;gap:12px;padding:10px 20px;background:#d1dbe533;border-bottom:1px solid var(--borda);min-width:0}.proc-table-head span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--texto);font-weight:600}.proc-row{display:grid;grid-template-columns:2fr 80px 100px 60px 60px;gap:12px;padding:14px 20px;border-bottom:1px solid var(--borda);align-items:center;transition:background .15s}.proc-row:last-child{border-bottom:none}.proc-row:hover{background:var(--fundo)}.proc-row .p-nome{font-family:var(--font-serif);font-size:1rem;color:var(--azul)}.proc-row .p-desc{font-size:.73rem;color:var(--texto);margin-top:2px}.proc-row .p-dur{font-size:.82rem;color:var(--texto)}.proc-row .p-val{font-size:.85rem;color:var(--azul);font-weight:600}.toggle{width:36px;height:20px;border-radius:10px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;background:var(--dourado);border:none;padding:0}.toggle:after{content:"";position:absolute;right:3px;top:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:all .2s}.toggle.off{background:var(--azul-soft)}.toggle.off:after{right:auto;left:3px}.btn-edit{background:none;border:1px solid var(--borda);border-radius:var(--radius);padding:4px 12px;font-size:.72rem;color:var(--texto);cursor:pointer;font-family:var(--font-sans);font-weight:600;transition:all .15s;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.btn-edit:hover{border-color:var(--azul);color:var(--azul)}.agenda-nav{display:flex;align-items:center;gap:12px;margin-bottom:20px}.agenda-nav h2{font-family:var(--font-serif);font-size:1.3rem;font-weight:300;flex:1}.btn-today{background:none;border:1px solid var(--borda);border-radius:var(--radius);padding:6px 14px;font-size:.7rem;color:var(--texto);cursor:pointer;font-family:var(--font-sans);font-weight:600;text-transform:uppercase;letter-spacing:.06em;transition:all .15s}.btn-today:hover{border-color:var(--azul);color:var(--azul)}.appt-list{display:flex;flex-direction:column;gap:10px}.appt-card{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;gap:16px;transition:all .2s;box-shadow:none}.appt-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.appt-time{font-family:var(--font-serif);font-size:1.5rem;font-weight:300;color:var(--azul);min-width:58px;text-align:center;line-height:1.1}.appt-time small{display:block;font-family:var(--font-sans);font-size:.6rem;color:var(--texto);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.appt-divider{width:1px;height:34px;background:var(--borda);flex-shrink:0}.appt-info{flex:1;min-width:0}.appt-info .name{font-size:.95rem;color:var(--azul);font-weight:600}.appt-info .svc{font-size:.78rem;color:var(--texto);margin-top:2px}.appt-badge{font-size:.65rem;padding:4px 12px;border-radius:20px;font-family:var(--font-sans);letter-spacing:.06em;font-weight:700;text-transform:uppercase;flex-shrink:0}.badge-confirmed{background:var(--success-lt);color:var(--success)}.badge-cancelled{background:var(--danger-lt);color:var(--danger)}.badge-completed{background:var(--dourado-lt);color:#9a7a10}.badge-no_show{background:#fff3e0;color:#e65100}.appt-actions{display:flex;gap:6px;flex-shrink:0}.act-btn{background:none;border:1px solid var(--borda);border-radius:var(--radius);padding:5px 10px;font-size:.7rem;cursor:pointer;font-family:var(--font-sans);font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:all .15s;color:var(--texto)}.act-btn.green:hover{border-color:var(--success);color:var(--success);background:var(--success-lt)}.act-btn.red:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-lt)}.avail-row{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;gap:16px;margin-bottom:8px}.avail-dia{font-family:var(--font-serif);font-size:1rem;font-weight:400;width:90px;color:var(--azul)}.avail-slots{flex:1;display:flex;flex-wrap:wrap;gap:8px}.avail-slot-pill{border:1px solid var(--borda);border-radius:var(--radius);padding:4px 12px;font-size:.75rem;color:var(--texto);font-family:var(--font-sans);font-weight:500}.avail-slot-pill.inactive{background:var(--fundo);color:var(--azul-soft);border-style:dashed}.bloq-item{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:12px 18px;display:flex;align-items:center;gap:12px;margin-bottom:8px}.bloq-item .bloq-date{font-family:var(--font-serif);font-size:.95rem;color:var(--azul);width:110px}.bloq-item .bloq-range{font-size:.8rem;color:var(--texto);flex:1}.bloq-item .bloq-tipo{font-size:.62rem;padding:3px 10px;border-radius:20px;background:var(--dourado-lt);color:#9a7a10;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bloq-item .btn-remove{background:none;border:none;cursor:pointer;color:var(--azul-soft);font-size:1.1rem;transition:color .15s;padding:0;line-height:1}.bloq-item .btn-remove:hover{color:var(--danger)}.senha-form{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:28px;max-width:400px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c3e5080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--branco);border-radius:var(--radius-lg);border:1px solid var(--borda);width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #2c3e5033}.modal-header{padding:22px 26px;border-bottom:1px solid var(--borda);display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:0;background:var(--branco);z-index:1}.modal-header .eyebrow{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dourado);margin-bottom:2px;font-weight:600}.modal-header h3{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;color:var(--azul)}.modal-close{background:none;border:1px solid var(--borda);border-radius:var(--radius);width:30px;height:30px;cursor:pointer;color:var(--texto);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.modal-close:hover{border-color:var(--azul);color:var(--azul)}.modal-body{padding:22px 26px}.modal-footer{padding:16px 26px;border-top:1px solid var(--borda);display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0;background:var(--branco)}.modal-footer .btn-cancel{background:none;border:1px solid var(--borda);border-radius:var(--radius);padding:9px 20px;font-size:.75rem;color:var(--texto);cursor:pointer;font-family:var(--font-sans);font-weight:600;text-transform:uppercase;letter-spacing:.06em;transition:all .15s}.modal-footer .btn-cancel:hover{border-color:var(--azul);color:var(--azul)}.modal-footer .btn-save{background:var(--azul);border:none;border-radius:var(--radius);padding:9px 24px;font-size:.75rem;color:#fff;cursor:pointer;font-family:var(--font-sans);font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:all .3s}.modal-footer .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4a627a40}.modal-footer .btn-save:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}.sinal-preview{background:var(--dourado-lt);border:1px solid var(--dourado-borda);border-radius:var(--radius);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;margin-top:4px}.sinal-preview .lbl{font-size:.8rem;color:var(--azul)}.sinal-preview .lbl small{display:block;font-size:.7rem;color:var(--texto);margin-top:2px}.sinal-preview .valor{font-family:var(--font-serif);font-size:1.3rem;color:var(--dourado)}.field{margin-bottom:16px}.field label{display:block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto);margin-bottom:5px;font-weight:600}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:var(--radius);font-family:var(--font-sans);font-size:.88rem;background:var(--fundo);color:var(--azul);outline:none;transition:all .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--azul);box-shadow:0 0 0 3px #4a627a14;background:var(--branco)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-affix{display:flex;align-items:center;gap:6px}.input-affix .affix{font-size:.8rem;color:var(--texto);white-space:nowrap;font-weight:600}.input-affix input{flex:1}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--azul-soft) 0%,rgba(255,255,255,1) 100%)}.login-card{background:#ffffffe6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);padding:44px 40px;width:100%;max-width:380px;box-shadow:0 15px 35px #4a627a1f}.login-card .eyebrow{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);text-align:center;margin-bottom:8px;font-weight:600}.login-card h1{font-size:2rem;font-weight:300;text-align:center;margin-bottom:28px}.empty-state{text-align:center;padding:40px 20px;color:var(--texto);font-size:.9rem;font-style:italic}.success-msg{color:var(--success);font-size:.83rem;margin-bottom:14px;padding:10px 14px;background:var(--success-lt);border-radius:var(--radius)}@media (max-width: 640px){.agenda-semana-shell{flex-direction:column}.mini-cal-col{width:100%!important}}
