:root{--brand: #2dbee4;--brand-dark: #17a0c4;--brand-light: #e7f8fc;--navy: #0a121e;--navy-light: #16222e;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--bg: #f8fafc;--surface: #ffffff;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius: 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}.app{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--surface);display:flex;flex-direction:column;box-shadow:0 0 40px #0f172a0f}.admin .app{max-width:720px}.topbar{position:sticky;top:0;z-index:10;background:var(--navy);border-bottom:1px solid var(--navy-light);padding:12px 16px;display:flex;align-items:center;gap:10px;color:#fff}.topbar h1{font-size:17px;margin:0;font-weight:700;color:#fff;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .back{background:none;border:none;font-size:20px;line-height:1;padding:4px;color:#fff;cursor:pointer;text-decoration:none}.topbar .brand-mark{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:0 0 auto}.brand-hero{display:block;width:132px;margin:8px auto 20px;border-radius:16px}.content{flex:1;padding:16px 16px 32px}.steps{display:flex;gap:6px;padding:0 16px;margin-top:10px}.steps .dot{flex:1;height:4px;border-radius:2px;background:var(--border)}.steps .dot.active{background:var(--brand)}h2.section-title{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.service-option{display:block;width:100%;text-align:left;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,background .15s}.service-option.selected{border-color:var(--brand);background:var(--brand-light)}.service-option .name{font-weight:600;font-size:15px;margin-bottom:2px}.service-option .meta{font-size:13px;color:var(--text-muted)}.date-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px}.date-chip{flex:0 0 auto;min-width:58px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 6px;text-align:center;cursor:pointer}.date-chip .dow{font-size:11px;color:var(--text-muted);text-transform:uppercase}.date-chip .num{font-size:17px;font-weight:700;margin-top:2px}.date-chip.selected{border-color:var(--brand);background:var(--brand);color:#fff}.date-chip.selected .dow{color:#ffffffd9}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-btn{border:1.5px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 4px;font-size:14px;font-weight:600;cursor:pointer}.slot-btn.selected{border-color:var(--brand);background:var(--brand);color:#fff}.empty-state{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:14px}label.field{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:6px;margin-top:14px}input.input,textarea.input,select.input{width:100%;padding:12px;border-radius:10px;border:1.5px solid var(--border);font-size:15px;font-family:inherit;background:var(--surface);color:var(--text)}input.input:focus,textarea.input:focus,select.input:focus{outline:none;border-color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:12px;border:none;font-size:15px;font-weight:700;cursor:pointer;background:var(--brand);color:#fff}.btn:disabled{background:#cbd5e1;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--brand);border:1.5px solid var(--brand)}.footer-bar{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.alert{background:#fef2f2;color:var(--danger);border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:12px}.confirmation{text-align:center;padding:40px 20px}.confirmation .icon{width:72px;height:72px;border-radius:50%;background:#dcfce7;color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:36px}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;text-align:left}.summary-row:last-child{border-bottom:none}.summary-row .label{color:var(--text-muted)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.pendente{background:#fef3c7;color:var(--warning)}.badge.aguardando_cliente{background:#ede9fe;color:#7c3aed}.badge.confirmada{background:#dbeafe;color:var(--brand-dark)}.badge.concluida{background:#dcfce7;color:var(--success)}.badge.cancelada{background:#fee2e2;color:var(--danger)}.appt-item{border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:10px}.appt-item .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.appt-item .when{font-weight:700;font-size:14px}.appt-item .client{font-size:13px;color:var(--text-muted);margin-bottom:8px}.appt-actions{display:flex;gap:6px;flex-wrap:wrap}.chip-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tab{flex:0 0 auto;white-space:nowrap;text-align:center;padding:10px 14px;font-size:14px;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.hours-row{display:grid;grid-template-columns:90px 1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.service-admin-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:8px}.landing{background:var(--surface);color:var(--text);overflow-x:hidden}.landing-container{max-width:1120px;margin:0 auto;padding:0 24px}.landing-nav{position:sticky;top:0;z-index:20;background:var(--navy);border-bottom:1px solid var(--navy-light)}.landing-nav .landing-container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.landing-logo{display:flex;align-items:center;gap:10px}.landing-logo img{width:36px;height:36px;border-radius:8px}.landing-logo span{color:#fff;font-weight:700;font-size:15px;letter-spacing:.02em}.landing-nav-link{color:#fff;text-decoration:none;font-size:14px;font-weight:600;border:1.5px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:999px;transition:border-color .15s,background .15s}.landing-nav-link:hover{border-color:var(--brand);background:#2dbee41f}.landing-hero{background:radial-gradient(circle at 20% 20%,#0a121e8c,#0a121edb 60%),url(/photos/hero.jpg) center 30% / cover no-repeat;color:#fff;padding:72px 0 88px;text-align:center}.landing-eyebrow{display:inline-block;color:var(--brand);font-weight:700;letter-spacing:.12em;font-size:13px;text-transform:uppercase;margin-bottom:18px}.landing-hero h1{font-size:clamp(28px,5vw,46px);line-height:1.15;margin:0 0 20px;font-weight:800}.landing-hero p.landing-lead{color:#fffc;font-size:17px;max-width:640px;margin:0 auto 28px}.landing-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px}.landing-tag{border:1px solid rgba(255,255,255,.25);color:#ffffffe6;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600}.landing-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.landing-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;border:none}.landing-btn.primary{background:var(--brand);color:var(--navy)}.landing-btn.primary:hover{background:var(--brand-dark)}.landing-btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}.landing-btn.ghost:hover{border-color:#fff}.landing-section{padding:72px 0}.landing-section.alt{background:var(--bg)}.landing-section-head{text-align:center;max-width:680px;margin:0 auto 48px}.landing-section-head .landing-eyebrow{color:var(--brand-dark)}.landing-section-head h2{font-size:clamp(24px,3.4vw,34px);margin:6px 0 12px;font-weight:800;color:var(--navy)}.landing-section-head p{color:var(--text-muted);font-size:16px;line-height:1.6}.landing-about{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.landing-about p{color:var(--text-muted);font-size:16px;line-height:1.7;margin-bottom:24px}.landing-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing-feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.landing-feature .icon-badge{width:40px;height:40px;border-radius:10px;background:var(--brand-light);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.landing-feature .icon-badge svg{width:20px;height:20px}.landing-feature h3{font-size:14px;margin:0;color:var(--navy)}.landing-about-photo{border-radius:20px;overflow:hidden;box-shadow:0 20px 40px #0a121e2e;aspect-ratio:4 / 5}.landing-about-photo img{width:100%;height:100%;object-fit:cover;display:block}.landing-tagline-banner{position:relative;background:linear-gradient(#0a121ed1,#0a121ed1),url(/photos/banner-parceria.jpg) center 25% / cover no-repeat;color:#fff;border-radius:18px;padding:28px 32px;font-size:20px;font-weight:700;text-align:center;margin-top:56px}.landing-tagline-banner span{color:var(--brand)}.landing-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing-service-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}.landing-service-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0a121e14;border-color:var(--brand)}.landing-service-photo{position:relative;aspect-ratio:16 / 10}.landing-service-photo img{width:100%;height:100%;object-fit:cover;display:block}.landing-service-card .icon-badge{position:absolute;left:16px;bottom:-20px;width:44px;height:44px;border-radius:12px;background:var(--navy);color:var(--brand);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #0a121e40}.landing-service-card .icon-badge svg{width:22px;height:22px}.landing-service-card-body{padding:32px 24px 24px}.landing-service-card h3{font-size:17px;margin:0 0 6px;color:var(--navy)}.landing-service-card .tagline{color:var(--text-muted);font-size:14px;margin:0 0 14px}.landing-service-card ul{margin:0;padding-left:18px;color:var(--text);font-size:13.5px;line-height:1.9}.landing-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing-gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:1 / 1}.landing-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.landing-gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(transparent,#0a121ed9);color:#fff;font-size:12.5px;font-weight:600}.landing-benefits{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.landing-benefit{text-align:center;padding:8px}.landing-benefit .icon-badge{width:44px;height:44px;border-radius:999px;background:var(--brand-light);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.landing-benefit .icon-badge svg{width:22px;height:22px}.landing-benefit p{font-size:13.5px;font-weight:600;color:var(--navy);margin:0}.landing-contact{background:var(--navy);color:#fff;border-radius:24px;padding:48px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.landing-contact h2{font-size:clamp(22px,3vw,30px);margin:0 0 14px;font-weight:800}.landing-contact p.landing-lead2{color:#ffffffbf;font-size:15px;line-height:1.6;margin-bottom:24px}.landing-contact-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:14px}.landing-contact-list li{display:flex;align-items:center;gap:12px;font-size:15px}.landing-contact-list a{color:#fff;text-decoration:none}.landing-contact-list .icon-badge{width:34px;height:34px;border-radius:999px;background:#2dbee426;color:var(--brand);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.landing-contact-list .icon-badge svg{width:16px;height:16px}.landing-contact-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:28px;text-align:center}.landing-contact-card img{width:64px;height:64px;border-radius:14px;margin-bottom:16px}.landing-contact-card h3{margin:0 0 8px;font-size:16px}.landing-contact-card p{color:#ffffffb3;font-size:13.5px;margin:0 0 20px}.landing-footer{background:var(--navy);border-top:1px solid var(--navy-light);padding:28px 0;text-align:center}.landing-footer p{color:#ffffff8c;font-size:13px;margin:0 0 8px}.landing-footer a{color:var(--brand);text-decoration:none;font-size:13px;font-weight:600}@media (max-width: 860px){.landing-about,.landing-contact{grid-template-columns:1fr}.landing-about-photo{aspect-ratio:16 / 9;order:-1}.landing-services-grid,.landing-benefits,.landing-gallery-grid{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.landing-services-grid,.landing-feature-grid,.landing-benefits{grid-template-columns:1fr}.landing-gallery-grid{grid-template-columns:1fr 1fr}.landing-contact{padding:32px 20px}.landing-section{padding:52px 0}}
