:root{--bs-primary: #5a9bd6;--bs-primary-rgb: 90, 155, 214;--bs-secondary: #8b9dad;--bs-secondary-rgb: 139, 157, 173;--bs-success: #6bb579;--bs-success-rgb: 107, 181, 121;--bs-info: #5eb8d9;--bs-info-rgb: 94, 184, 217;--bs-warning: #e8b85d;--bs-warning-rgb: 232, 184, 93;--bs-danger: #d96b6b;--bs-danger-rgb: 217, 107, 107;--bs-body-bg: #f5f7fa;--bs-body-color: #374151;--bs-border-color: #e5e9ef}html{scroll-behavior:smooth;font-size:14px}body{background-color:var(--bs-body-bg)}.card{background-color:#fff;border-color:var(--bs-border-color)}.btn:not(.btn-lg){padding:0.25rem 0.5rem;font-size:0.875rem;border-radius:0.25rem}.btn-primary{background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-primary:hover{background-color:#4a8ac4;border-color:#4a8ac4}.btn-success{background-color:var(--bs-success);border-color:var(--bs-success)}.btn-success:hover{background-color:#5a9f68;border-color:#5a9f68}.btn-outline-primary{color:var(--bs-primary);border-color:var(--bs-primary)}.btn-outline-primary:hover{background-color:rgba(var(--bs-primary-rgb), 0.12);color:#4a8ac4;border-color:var(--bs-primary)}.btn-outline-secondary{color:var(--bs-secondary);border-color:var(--bs-border-color)}.btn-outline-secondary:hover{background-color:rgba(139,157,173,0.1);color:#6b7d8d;border-color:var(--bs-border-color)}.btn-outline-danger{color:var(--bs-danger);border-color:var(--bs-danger)}.btn-outline-danger:hover{background-color:rgba(var(--bs-danger-rgb), 0.1);color:#c55a5a;border-color:var(--bs-danger)}.landing-hero-cta .btn{width:100%}@media (min-width: 992px){.landing-hero-cta .btn{width:auto;min-width:11rem}}.landing-section-btns .btn{width:100%;text-align:center}@media (min-width: 992px){.landing-section-btns .btn{width:auto;min-width:11rem}}.navbar-landing-btns .btn{width:100%;text-align:center;justify-content:center;font-size:inherit;padding:0.375rem 0.75rem}@media (min-width: 992px){.navbar-landing-btns .btn{width:auto}}.clients-search-row{display:flex;gap:0.5rem;align-items:stretch;flex-wrap:wrap}.clients-search-input-wrap{flex:1;min-width:0}.clients-search-actions{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap}.reports-month-nav-card .card-body{padding:0.75rem 1rem}.reports-month-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;font-size:1.25rem;line-height:1;font-weight:700;border-width:1px}.reports-month-label{min-width:10rem;text-align:center;font-size:1.05rem;color:var(--bs-body-color)}.reports-summary-card{border:1px solid var(--bs-border-color)}.reports-summary-card .card-body{background:#fff}.reports-total-value{font-weight:700;color:var(--bs-body-color)}.agenda-service-item .agenda-service-link,.dashboard-service-item .dashboard-service-link{z-index:0}.agenda-service-actions,.dashboard-service-actions{z-index:1}.pool-service-row-clickable{cursor:pointer}.pool-services-table .pool-service-row-link.stretched-link{z-index:1}.technician-pools-index .pool-list-actions{position:relative;z-index:1}.view-photos-page .view-photos-dl dt{margin-bottom:0.25rem}.view-photos-page .view-photos-thumb-link{display:block;background:#eee;border:1px solid var(--bs-border-color);transition:border-color 0.2s, box-shadow 0.2s}.view-photos-page .view-photos-thumb-link:hover{border-color:var(--bs-primary);box-shadow:0 0.25rem 0.5rem rgba(0,0,0,0.08)}.view-photos-page .view-photos-thumb{width:100%;height:220px;object-fit:cover;display:block}@media (min-width: 768px){.view-photos-page .view-photos-thumb{height:260px}}.reports-pagination nav.pagination{display:flex;flex-wrap:wrap;gap:0.25rem;justify-content:center;align-items:center}.reports-pagination nav.pagination>span{border:none;background:transparent;padding:0;margin:0;box-shadow:none}.reports-pagination nav.pagination a,.reports-pagination nav.pagination span.current{display:inline-block;padding:0.375rem 0.75rem;border-radius:0.25rem;font-size:0.875rem;text-decoration:none;border:1px solid var(--bs-border-color);background:#fff;color:var(--bs-primary)}.reports-pagination nav.pagination a:hover{background:rgba(var(--bs-primary-rgb), 0.1);border-color:var(--bs-primary);color:var(--bs-primary)}.reports-pagination nav.pagination span.current{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff;font-weight:600}.reports-pagination nav.pagination span.gap{padding:0 0.25rem;color:var(--bs-secondary)}.reports-pagination nav.pagination span.disabled{opacity:0.5;cursor:not-allowed}.reports-pagination nav.pagination span.disabled a{pointer-events:none}.pagination-wrapper nav.pagination{display:flex;flex-wrap:wrap;gap:0.25rem;justify-content:flex-start;align-items:center;margin:0}.pagination-wrapper nav.pagination>span{border:none;background:transparent;padding:0;margin:0;box-shadow:none}.pagination-wrapper nav.pagination a,.pagination-wrapper nav.pagination span.current{display:inline-block;padding:0.375rem 0.75rem;border-radius:0.25rem;font-size:0.875rem;text-decoration:none;border:1px solid var(--bs-border-color);background:#fff;color:var(--bs-primary)}.pagination-wrapper nav.pagination a:hover{background:rgba(var(--bs-primary-rgb), 0.1);border-color:var(--bs-primary);color:var(--bs-primary)}.pagination-wrapper nav.pagination span.current{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff;font-weight:600}.pagination-wrapper nav.pagination span.gap{padding:0 0.25rem;color:var(--bs-secondary)}.pagination-wrapper nav.pagination span.disabled{opacity:0.5;cursor:not-allowed}.pagination-wrapper nav.pagination span.disabled a{pointer-events:none}.payments-page .payments-table tbody tr{background-color:#fff !important}.payments-page .payments-table tbody tr:hover{background-color:#fff !important}.payments-month-btn{width:2.5rem;height:2.5rem}.payments-month-label{min-width:140px}.navbar.bg-primary{background-color:var(--bs-primary) !important}.navbar-app .navbar-user-wrap{padding-top:0.75rem;margin-top:0.5rem;border-top:1px solid rgba(255,255,255,0.25)}@media (min-width: 992px){.navbar-app .navbar-user-wrap{padding-top:0;margin-top:0;border-top:none}}.navbar-app .nav-user-toggle:hover{background-color:rgba(255,255,255,0.15)}.navbar-app .navbar-dropdown-menu{min-width:220px}.navbar-app .nav-link.rounded:hover{background-color:rgba(255,255,255,0.12)}.badge.bg-primary{background-color:var(--bs-primary)}.badge.bg-success{background-color:var(--bs-success)}.badge.bg-info{background-color:var(--bs-info)}.badge.bg-secondary{background-color:var(--bs-secondary)}.badge.bg-warning{background-color:var(--bs-warning)}.badge.bg-danger{background-color:var(--bs-danger)}.alert-info{background-color:rgba(var(--bs-info-rgb), 0.15);border-color:rgba(var(--bs-info-rgb), 0.3)}.alert-success{background-color:rgba(var(--bs-success-rgb), 0.15);border-color:rgba(var(--bs-success-rgb), 0.3)}.alert-warning{background-color:rgba(var(--bs-warning-rgb), 0.15);border-color:rgba(var(--bs-warning-rgb), 0.3)}.alert-danger{background-color:rgba(var(--bs-danger-rgb), 0.15);border-color:rgba(var(--bs-danger-rgb), 0.3)}@media (min-width: 768px){html{font-size:15px}}a,a:hover,a.btn-link,a.btn-link:hover{text-decoration:none}.btn-link{text-decoration:none}.btn-link:hover{text-decoration:none}.display-4{font-size:clamp(1.5rem, 4vw, 2rem)}.lead{font-size:1rem}.client-card-link:hover .card,.pool-card-link:hover .pool-card,.client-dashboard-pool-card:hover .pool-card{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.12);border-color:var(--bs-primary) !important}.client-dashboard-service-item:hover .card{box-shadow:0 0.35rem 0.75rem rgba(0,0,0,0.1) !important}.service-history-item:hover{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.12) !important;border-color:var(--bs-primary) !important;border:1px solid var(--bs-primary)}.service-history-item{transition:box-shadow 0.2s ease, border-color 0.2s ease}.form-actions .btn,.form-actions input[type="submit"],.form-actions button[type="submit"]{flex:1;min-width:0}.agenda-header-actions .agenda-route-btn,.agenda-header-actions .agenda-cta-btn{flex:none;width:auto;white-space:nowrap}.agenda-header-actions .agenda-cta-btn{font-weight:600}.agenda-search-wrap{max-width:100%}.agenda-search-input-group{border:1px solid var(--bs-border-color);border-radius:0.375rem;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.05);overflow:hidden}.agenda-search-input-group .form-control{border:0;border-radius:0;min-height:38px;box-shadow:none}.agenda-search-input-group .form-control:focus{box-shadow:none;outline:0}.agenda-search-input-group .btn{border:0;border-radius:0;flex-shrink:0;background:transparent}.agenda-search-input-group .agenda-search-clear{border-left:1px solid var(--bs-border-color)}.agenda-search-btn{min-height:38px;white-space:nowrap}.agenda-search-active .badge{font-weight:500}.weather-widget{flex-wrap:nowrap}.weather-widget-icon{font-size:1.75rem;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:rgba(var(--bs-primary-rgb), 0.1);border-radius:0.5rem}.dashboard-weather-card .dashboard-weather-icon{width:3.5rem;height:3.5rem;font-size:2.25rem}.agenda-weather-card .agenda-weather-icon{width:3.5rem;height:3.5rem;font-size:2.25rem}.weather-icon{object-fit:contain;flex-shrink:0}.agenda-in-progress-card .card-body{background:rgba(var(--bs-primary-rgb), 0.06)}.agenda-in-progress-actions .btn{white-space:nowrap;min-width:8rem}.agenda-in-progress-btn{font-weight:500}.agenda-date-nav-card .card-body{padding:0.75rem 1rem}.agenda-nav-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0}.agenda-nav-btn span{font-size:1.5rem;line-height:1;font-weight:700}.agenda-date-label{min-width:10rem;text-align:center;font-size:1.05rem;color:var(--bs-body-color)}@media (max-width: 575.98px){.btn{min-height:44px}.card-body{padding:1rem}.client-remove-future-form{display:block;width:100%}.client-remove-future-form .btn{width:100%}.clients-search-row{flex-wrap:nowrap}.clients-search-input-wrap{min-width:0}.clients-search-card-body{padding:0.5rem 0.75rem}.clients-search-input{min-height:44px;font-size:1rem}.clients-search-btn{min-height:44px;padding-left:0.75rem;padding-right:0.75rem;white-space:nowrap}.clients-search-clear{flex:0 0 auto}.client-list-card-body{padding:0.75rem 1rem}.client-list-name{font-size:1rem}.client-card-link{display:block;min-height:44px}.client-pools-badge{font-size:0.75rem}}@media (max-width: 767.98px){main.container{padding-left:0.75rem;padding-right:0.75rem}.dashboard-header .btn-primary{width:100%}.dashboard-profile-btn{width:100%;min-height:44px}.dashboard-in-progress-actions .btn{width:100%;min-height:44px}.dashboard-in-progress-actions form{width:100%}.dashboard-in-progress-actions form .btn{width:100%}.dashboard-action-btn{min-height:44px}.dashboard-service-actions{width:100%}.dashboard-service-actions .btn{width:100%}.dashboard-service-actions form{width:100%}.dashboard-empty-state .dashboard-empty-btn{width:100%;min-height:44px;display:inline-block}.dashboard-payment-pending-card .dashboard-payment-whatsapp-wrap{width:100%}.dashboard-payment-pending-card .dashboard-action-btn{width:100%;min-height:44px}.dashboard-payment-pending-card .dashboard-payment-ctrl-btn{min-height:44px}.dashboard-service-item{padding-left:0.75rem;padding-right:0.75rem}.dropdown-item{min-height:44px;display:flex;align-items:center;padding-top:0.75rem;padding-bottom:0.75rem}.agenda-header-actions{flex-direction:column}.agenda-header-actions .agenda-cta-btn,.agenda-header-actions .agenda-route-btn{width:100%;min-height:44px}.agenda-header-actions .agenda-route-btns{flex-direction:column;width:100%}.agenda-header-actions .agenda-route-btns .agenda-route-btn{width:100%}.agenda-header-actions .btn{font-size:1rem}.agenda-search-input-group .form-control,.agenda-search-input-group .btn{min-height:44px}.agenda-search-btn,.agenda-search-clear{min-height:44px}.agenda-date-label{font-size:0.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-calendar-feed-card .form-control{font-size:0.8rem}.profile-calendar-feed-card .d-flex.flex-sm-row{flex-direction:column}.profile-calendar-feed-card .btn[data-copy-target]{width:100%;min-height:44px}.agenda-service-actions{width:100%}.agenda-service-actions .btn{width:100%}.agenda-action-btn{min-height:44px;font-size:1rem}.agenda-in-progress-actions{width:100%}.agenda-in-progress-actions .btn{width:100%;min-height:44px}.agenda-header .btn{font-size:1rem}.agenda-service-item{padding-left:0.75rem;padding-right:0.75rem}.service-detail-actions .btn{width:100%}.service-detail-actions form{width:100%}.service-map-btn{width:100%;min-height:44px}.form-actions{flex-direction:column}.form-actions .btn,.form-actions input[type="submit"],.form-actions button[type="submit"],.form-actions a.btn{width:100%;flex:none;min-height:44px}.service-share-actions .btn{width:100%;min-height:44px}.detail-actions .btn{width:100%;min-height:44px}.detail-actions form{width:100%}.detail-actions form .btn{width:100%}.service-detail-page .card-body{padding:1rem}.finalize-service-actions .btn{width:100%;min-height:44px}.finalize-service-file-input{min-height:44px}.checkin-file-input{min-height:44px}.new-service-actions .btn{width:100%;min-height:44px;font-size:1rem}.new-service-form-card{max-width:28rem}.new-service-select,.new-service-date,.new-service-time{min-height:38px;font-size:0.9375rem}.new-client-field{min-height:48px;font-size:1rem}.new-client-page textarea.new-client-field{min-height:6rem}.pool-form-card{max-width:28rem}.pool-form-control{min-height:38px;font-size:0.9375rem}.pool-form-card textarea.pool-form-control{min-height:5rem}.client-dashboard-btn{width:100%;min-height:44px;font-size:1rem;display:inline-block;text-align:center}.payments-mobile-card .btn{min-height:44px}.payments-month-filter-card .payments-month-filter-body{padding:1rem}.payments-month-filter-row{gap:0.75rem}.payments-month-filter-title{text-align:center}.payments-month-nav{width:100%;justify-content:center;flex:1 1 auto;min-height:44px}.payments-month-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;font-size:1.25rem}.payments-month-label{font-size:1rem;min-width:10rem}.pool-service-mobile-card{min-height:44px}.pool-service-card-link{display:block}.reports-month-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}.technician-pool-show .pool-show-header-actions{width:100%;flex-direction:column}.technician-pool-show .pool-show-header-actions .btn{width:100%;min-height:44px}.technician-pool-show .pool-show-map-btn{width:100%;min-height:44px;display:inline-block;text-align:center}.technician-pool-show .pool-show-agenda-btn{width:100%;min-height:44px}.technician-pool-show .pool-show-client-btn{width:100%;min-height:44px}.pool-measurements-page .measurements-page-back-btn{width:100%;min-height:44px}.pool-measurements-page .measurements-page-header{width:100%}.client-pool-measurements-page .measurements-page-back-btn{width:100%;min-height:44px}.client-pool-measurements-page .measurements-page-header{width:100%}.technician-pools-index .pool-list-actions{flex-direction:column;align-items:stretch;width:100%}.technician-pools-index .pool-list-measurements-btn{width:100%;min-height:44px}}.onboarding-page .onboarding-steps .card-body p{font-size:1rem;line-height:1.5;color:var(--bs-body-color);opacity:1}.onboarding-page .onboarding-steps .card-body .text-body-secondary{color:#6b7280 !important}.onboarding-page .onboarding-steps .card-body h2.h6{color:var(--bs-body-color);font-size:1.1rem}.pb-onboarding-tour{padding-bottom:160px}
