.service-list{animation:fadeSlideIn .4s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.service-container{display:flex;flex-direction:column;gap:10px;margin-top:12px}.service-card{background:var(--bg-light);border:2px solid transparent;border-radius:10px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #00000014}.service-info h3{font-size:1rem;color:var(--moss-green-dark);margin-bottom:4px}.service-info .duration{font-size:.8rem;color:var(--moss-green)}.price{font-weight:700;font-size:.9rem;color:var(--text-dark)}.service-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000001f;border-color:var(--moss-green-light)}.service-card.selected{border-color:var(--moss-green-dark);background:var(--moss-green-light);color:var(--bg-light)}.service-card.selected h3,.service-card.selected .duration,.service-card.selected .price{color:var(--bg-light)}@media (min-width: 768px){.service-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.service-card{flex-direction:column;align-items:flex-start;padding:14px}.price{margin-top:6px}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideLeft{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideRight{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.calendar-container{animation:fadeSlideIn .5s ease forwards}.calendar-container.slide-left .react-calendar{animation:slideLeft .3s ease}.calendar-container.slide-right .react-calendar{animation:slideRight .3s ease}.react-calendar{border:none;border-radius:16px;background:var(--bg-light);padding:16px;box-shadow:0 6px 20px #00000026;font-family:Segoe UI,sans-serif;transition:all .3s ease}.react-calendar__navigation{display:flex;justify-content:space-between;margin-bottom:12px;align-items:center}.react-calendar__navigation button{color:var(--moss-green-dark);min-width:44px;background:none;font-size:1.2rem;border-radius:8px;padding:6px 10px;transition:background-color .2s,transform .2s}.react-calendar__navigation button:hover{background-color:var(--moss-green-light);color:var(--bg-light);transform:scale(1.05)}.react-calendar__month-view__weekdays{text-align:center;font-weight:600;color:var(--moss-green-dark);text-transform:uppercase;font-size:.85rem}.react-calendar__tile{color:var(--text-dark);border-radius:8px;padding:10px 0;transition:all .2s ease}.react-calendar__tile:enabled:hover{background-color:var(--moss-green-light);color:var(--bg-light);transform:scale(1.05)}.react-calendar__tile--active{background-color:var(--moss-green-dark)!important;color:var(--bg-light)!important;font-weight:700;box-shadow:0 0 0 2px var(--moss-green) inset}.react-calendar__tile:disabled{background-color:#9ba08c26;color:#999;border-radius:8px;text-decoration:line-through}.react-calendar__tile--now{background-color:var(--luy-green);border-radius:8px;font-weight:700;color:var(--bg-light)}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px}.time-slot{padding:10px;background-color:#fff;border:2px solid #a5b77a;border-radius:8px;cursor:pointer;text-align:center;font-weight:700;color:#a5b77a;transition:all .2s ease}.time-slot:hover{background-color:#a5b77a;color:#fff}.time-slot.selected{background-color:#6f7d48;border-color:#6f7d48;color:#fff}.spinner{width:18px;height:18px;border:3px solid #fff;border-top:3px solid transparent;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}button{display:flex;align-items:center;justify-content:center;gap:8px}.termo-texto{max-height:300px;overflow-y:auto;text-align:left;font-size:.95rem;line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-light);color:var(--text-dark);border-radius:16px;padding:24px;max-width:420px;width:90%;position:relative;box-shadow:0 8px 30px #00000026}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.5rem;color:var(--muted);cursor:pointer;transition:color .2s ease}.modal-close:hover{color:var(--text-dark)}.animate-scale{animation:scaleIn .25s ease forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.btn-primary{background:linear-gradient(135deg,var(--moss-green),var(--moss-green-dark));color:var(--text-light);border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:500;transition:filter .2s ease,transform .02s ease-in-out}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:#eef0ea;color:var(--text-dark);border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s ease}.btn-secondary:hover{background:#e5e8de}.modal-icon{font-size:2.6rem;margin-bottom:10px;color:var(--moss-green)}.reveal.slide-in{animation:sectionSlideIn .26s ease-out both;will-change:transform,opacity}@keyframes sectionSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.reveal.slide-in{animation-duration:.2s;transform:none}}.checkmark-wrap{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:#f1f4ec;margin:6px auto 16px;animation:pulseRing 1s ease-out .2s 1}@keyframes pulseRing{0%{box-shadow:0 0 #8a9a5b40}to{box-shadow:0 0 0 12px #8a9a5b00}}.checkmark{width:64px;height:64px;display:block}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:3;stroke:var(--moss-green);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{stroke:var(--moss-green);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .35s cubic-bezier(.65,0,.45,1) .7s forwards}@keyframes stroke{to{stroke-dashoffset:0}}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #8A9A5B;border-radius:50%;width:16px;height:16px;animation:spin .8s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(200px,1fr));gap:8px;margin-top:16px;overflow-x:auto}.calendar-day{min-width:200px;border:1px solid #ddd;border-radius:6px;background:#fafafa}.calendar-day h4{margin:0 0 8px;font-size:14px;font-weight:700;text-align:center;background:#f0f0f0;padding:4px;border-radius:4px}.booking-item{background:#fff;border:1px solid #ccc;border-left:4px solid #8A9A5B;border-radius:4px;padding:6px;margin-bottom:6px;font-size:13px;box-shadow:0 1px 2px #0000000d}.booking-item strong{display:block;font-size:13px;color:#8a9a5b}.no-bookings{font-size:12px;color:#888;text-align:center;margin-top:auto}.week-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:12px}.week-nav button{background:#8a9a5b;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.week-nav button:hover{background:#6f7d48}.week-nav span{font-weight:700;font-size:14px}.booking-header{display:flex;justify-content:space-between;align-items:center}.edit-btn{background:none;border:none;cursor:pointer;font-size:14px}.booking-actions{display:flex;gap:4px}.delete-btn{background:none;border:none;cursor:pointer;font-size:14px;color:#c0392b;transition:color .2s ease}.delete-btn:hover{color:#e74c3c}.edit-btn{background:none;border:none;cursor:pointer;font-size:14px;color:#555;transition:color .2s ease}.edit-btn:hover{color:#000}.tabs-nav{display:flex;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid #ddd;border-radius:0 0 8px 8px;margin:0;width:100%;box-shadow:0 2px 6px #0000000d}.tabs-nav button{flex:1;background:#f5f5f5;border:none;padding:10px 0;border-radius:6px;font-size:14px;font-weight:500;color:#555;cursor:pointer;transition:all .2s ease}.tabs-nav button:hover{background:#eaeaea}.tabs-nav button.active{background:#8a9a5b;color:#fff;box-shadow:0 2px 4px #0000001a}.tab-content{background:#fff;border-radius:0 0 8px 8px;padding:16px;box-shadow:0 2px 6px #0000000d;margin-top:0}table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}table thead{background:#f0f0f0}table th,table td{padding:8px;border:1px solid #ddd;text-align:left}table th{font-weight:700}table tr:nth-child(2n){background:#fafafa}input[type=text]{padding:6px 10px;border:1px solid #ccc;border-radius:4px;margin-bottom:12px;font-size:14px;width:100%;max-width:300px}button{cursor:pointer}button.edit-btn{background:none;border:none;color:#555;font-size:14px;transition:color .2s ease}button.edit-btn:hover{color:#000}button.delete-btn{background:none;border:none;color:#c0392b;font-size:14px;transition:color .2s ease}button.delete-btn:hover{color:#e74c3c}@media (max-width: 768px){table,thead,tbody,th,td,tr{display:block}table tr{margin-bottom:12px;border:1px solid #ddd;border-radius:4px;padding:8px}table td{border:none;padding:4px 0}table td:before{content:attr(data-label);font-weight:700;display:block;margin-bottom:2px}}.filters{display:flex;gap:8px;margin-bottom:12px}.filters input,.filters select{padding:4px 8px;border:1px solid #ccc;border-radius:4px}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center}.modal-content{background:#fff;padding:20px;border-radius:6px;width:300px;display:flex;flex-direction:column;gap:8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.pagination button{background:#8a9a5b;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer}.pagination button:disabled{background:#ccc;cursor:not-allowed}.pagination span{font-weight:700}:root{--luy-green: #9ba08c;--moss-green: #8A9A5B;--moss-green-dark: #6f7d48;--moss-green-light: #a5b77a;--bg-light: #f9f9f9;--text-dark: #333}.home-container{padding:2rem;background-color:var(--bg-light);color:var(--text-dark)}.pulse{animation:pulse 2s infinite}.intro-section{display:flex;flex-wrap:wrap;align-items:center;gap:2rem}.intro-text{flex:1;min-width:280px}.intro-text h2{font-size:2rem;margin-bottom:1rem;color:var(--moss-green-dark)}.intro-text p{margin-bottom:1rem;line-height:1.5}.intro-text a{color:var(--moss-green-dark);text-decoration:none}.cta-button{display:inline-block;background-color:var(--moss-green-light);color:var(--text-dark);padding:.8rem 1.5rem;border-radius:6px;font-weight:700;transition:background .3s ease}.cta-button:hover{background-color:var(--moss-green-dark);color:var(--text-dark)}.intro-image{flex:1;min-width:280px;text-align:center}.intro-image img{max-width:100%;border-radius:10px;box-shadow:0 4px 12px #00000026}.about-section{margin-top:3rem}.about-section h3{margin-bottom:1rem;color:var(--moss-green-dark)}.about-section ul{list-style:none;padding:0}.about-section li{background:var(--luy-green);color:#fff;padding:.8rem;margin-bottom:.5rem;border-radius:6px}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.cta-button.secondary{background-color:transparent;border:2px solid var(--moss-green-dark);color:var(--moss-green-dark);transition:all .3s ease}.cta-button.secondary:hover{background-color:var(--moss-green-dark);color:var(--text-light)}.home-footer{margin-top:3rem;text-align:center}.whatsapp-link{background-color:#25d366;color:#fff;padding:.8rem 1.5rem;border-radius:6px;font-weight:700;text-decoration:none;transition:background .3s ease}.courses-container{padding:2rem;background-color:var(--bg-light);color:var(--text-dark)}.courses-header{text-align:center;max-width:800px;margin:0 auto 2rem}.courses-header h2{font-size:2rem;margin-bottom:1rem;color:var(--moss-green-dark)}.courses-header p{line-height:1.6;font-size:1.1rem}.course-card{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #00000014;transition:transform .3s ease,box-shadow .3s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 6px 18px #0000001f}.course-info h3{color:var(--moss-green-dark);margin-bottom:.5rem}.course-price{font-weight:700;color:var(--moss-green);margin-bottom:1rem}.course-info ul{list-style:none;padding:0;margin-bottom:1rem}.course-info ul li{background:var(--luy-green);color:var(--text-light);padding:.5rem .8rem;border-radius:6px;margin-bottom:.4rem}.courses-footer{text-align:center;margin-top:2rem;font-size:1.1rem}.courses-footer a{color:var(--moss-green-dark);font-weight:700;text-decoration:none}.courses-footer a:hover{text-decoration:underline}.fade-in{animation:fadeIn 1s ease forwards;opacity:0}.fade-in-delay{animation:fadeIn 1s ease forwards;animation-delay:.5s;opacity:0}.slide-up{animation:slideUp 1s ease forwards;opacity:0}.zoom-in{animation:zoomIn 1s ease forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.cta-button.whatsapp{background-color:#25d366;color:#fff;display:inline-flex;align-items:center;gap:.5rem}.cta-button.whatsapp:hover{background-color:#1ebe5d;color:#fff}.whatsapp-link{background-color:#25d366;color:#fff;padding:.6rem 1.2rem;border-radius:6px;text-decoration:none;font-weight:700;transition:background .3s ease}.whatsapp-link:hover{background-color:#1ebe5d}.banner img{width:100%;height:auto;display:block;border-top-left-radius:15px;border-top-right-radius:15px}:root{--luy-green: #9ba08c;--moss-green: #8A9A5B;--moss-green-dark: #6f7d48;--moss-green-light: #a5b77a;--bg-light: #f9f9f9;--text-dark: #333;--text-light: #fff;--error: #d9534f;--success: #5cb85c;--muted: #777}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background-color:var(--bg-light);color:var(--text-dark)}.container{max-width:900px;margin:0 auto;padding:1rem}.topbar{display:flex;justify-content:space-between;align-items:center;background-color:var(--moss-green-light);color:var(--text-light);padding:1rem;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.topbar h1{margin:0}button{background-color:var(--moss-green);color:var(--text-light);border:none;padding:.6rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem}button:hover{background-color:var(--moss-green-dark)}button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.7}button:disabled:hover{background-color:#ccc}button.outline{background-color:transparent;border:2px solid var(--text-light);color:var(--text-light)}button.outline:hover{background-color:var(--moss-green);color:var(--text-dark);border-color:var(--moss-green)}input,select{width:100%;padding:.5rem;margin-top:.3rem;margin-bottom:.8rem;border:1px solid #ccc;border-radius:4px}.card{background-color:#fff;padding:1rem;margin-top:1rem;border-radius:4px;box-shadow:0 1px 3px #00000014}h2,h3{margin-top:0}.success{color:var(--success);font-weight:700}.error{color:var(--error);font-weight:700}.muted{color:var(--muted);font-size:.9rem}.footer{margin-top:2rem;padding:1rem;text-align:center;font-size:.85rem;color:var(--muted)}.admin-panel{margin-top:1rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-wrap{overflow-x:auto;margin-top:1rem}table{width:100%;border-collapse:collapse;font-size:.95rem}table th,table td{border:1px solid #ddd;padding:.5rem;text-align:left}table th{background-color:var(--moss-green);color:var(--text-light)}table tr:nth-child(2n){background-color:#f2f2f2}@media (max-width: 600px){.grid-2{grid-template-columns:1fr}}
