:root{--bs-primary:#0031ff;--bs-primary-rgb:0,49,255;--bs-link-color:#0031ff;--bs-link-hover-color:#0028cc}.btn-primary{--bs-btn-bg:#0031ff;--bs-btn-border-color:#0031ff;--bs-btn-hover-bg:#0028cc;--bs-btn-hover-border-color:#0028cc;--bs-btn-active-bg:#0020a3;--bs-btn-active-border-color:#0020a3;--bs-btn-disabled-bg:#0031ff;--bs-btn-disabled-border-color:#0031ff}.btn-outline-primary{--bs-btn-color:#0031ff;--bs-btn-border-color:#0031ff;--bs-btn-hover-bg:#0031ff;--bs-btn-hover-border-color:#0031ff;--bs-btn-active-bg:#0028cc;--bs-btn-active-border-color:#0028cc}.text-primary{color:#0031ff!important}.bg-primary{background-color:#0031ff!important}.bg-light,.bg-white{background-color:#ffffff!important}.border-primary{border-color:#0031ff!important}.card{background-color:rgb(249,250,251)!important}.card,.card.shadow,.card.shadow-lg,.card.shadow-sm{box-shadow:none!important}body,html{height:auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}body{background-color:#ffffff;color:#2C2C2C;font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:#2C2C2C}.section-title--with-icon{font-size:1.25rem;font-weight:500;margin-bottom:1.5rem;color:#2C2C2C;display:flex;align-items:center;gap:.5rem}.card-title{font-size:1rem;font-weight:600;color:#2C2C2C;margin-bottom:.75rem}.section-label{font-size:.875rem}.filter-label,.section-label{font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:#6c757d;margin-bottom:.75rem}.filter-label{font-size:.75rem}.pb-navbar-safe{padding-bottom:8rem}.app-container{width:100%;min-width:320px;max-width:640px;margin-left:auto;margin-right:auto;min-height:100vh;overflow-x:hidden;overflow-y:visible}.modal-dialog{max-width:min(640px,calc(100% - 2rem))!important;margin-left:auto!important;margin-right:auto!important}.modal-backdrop{background:rgba(253,253,253,.75)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-backdrop.show{opacity:1!important}.modal-content{box-shadow:0 25px 50px -12px rgba(0,0,0,.08)!important}.view-container{min-width:320px;max-width:640px}.JournalEntry--clickable{cursor:pointer;transition:background-color .15s ease-in-out}.JournalEntry--clickable:hover{background-color:#f8f9fa}.JournalView-filterButton{cursor:pointer;transition:all .2s ease-in-out;min-width:3.5rem;border-radius:1.5rem;font-size:.9rem;padding:.5rem 1rem}.empty-state-title{font-size:1.25rem;font-weight:500;margin-bottom:.5rem;color:#2C2C2C}.empty-state-description{font-size:.875rem;color:#6c757d;margin-bottom:0}.material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-size:32px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.icon-sm{width:1.25rem;height:1.25rem}.icon-md{width:1.5rem;height:1.5rem}.bg-primary-light{background-color:#e8f1ff!important}.badge-lg{font-size:.95rem;padding:.35rem .65rem}.badge-blur{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:white;font-size:.75rem;font-weight:500;padding:.375rem .75rem;border-radius:1rem}.badge-blur,.icon-blur{background:rgba(255,255,255,.2)}.icon-blur{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;display:flex;align-items:center;justify-content:center}.icon-blur--sm{width:32px;height:32px}.icon-blur--md{width:48px;height:48px}.bg-purple{background-color:#6f42c1!important}.bg-brown{background-color:#8b4513!important}.text-purple{color:#6f42c1!important}.text-brown{color:#8b4513!important}.border-purple{border-color:#6f42c1!important}.border-brown{border-color:#8b4513!important}.HomePageClient-chartsCarousel{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;overflow:hidden}.HomePageClient-chartsCarousel-track{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-right:1rem;padding-bottom:.5rem;scrollbar-width:none;-ms-overflow-style:none}.HomePageClient-chartsCarousel-track::-webkit-scrollbar{display:none}.HomePageClient-chartsCarousel-slide{flex:0 0 85%;min-width:0;scroll-snap-align:start}.HomePageClient-chartsCarousel-slide .card{height:100%}.HomePageClient-chartsCarousel .card-body{padding:1rem!important}.HomePageClient-chartsCarousel .display-6{font-size:1.75rem}.HomePageClient-section{margin-bottom:1.5rem}.HomePageClient-actionCard{position:relative;background-image:url(/images/bjj-action-bg.jpg);background-size:cover;background-position:50%;border-radius:var(--bs-border-radius-lg,.5rem);overflow:hidden;color:white}.HomePageClient-actionCard-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,30,150,.9),rgba(80,20,100,.88) 50%,rgba(60,15,90,.85))}.HomePageClient-actionCard-inner{position:relative;z-index:1;padding:1.5rem}.HomePageClient-actionCard-icon{margin-bottom:1rem}.HomePageClient-actionCard-icon .material-symbols-outlined{font-size:1.5rem;color:white}.HomePageClient-actionCard-content{margin-bottom:1.25rem}.HomePageClient-actionCard-title{font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.HomePageClient-actionCard-description{font-size:.9375rem;color:rgba(255,255,255,.9);margin:0;line-height:1.5}.HomePageClient-actionCard-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:white;color:var(--bs-dark);border:none;padding:.875rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-decoration:none}.HomePageClient-actionCard-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3);color:var(--bs-dark)}.HomePageClient-progreso{min-height:100vh;background:linear-gradient(160deg,#0031ff,#4a5cff 50%,#6b7aff)}.HomePageClient-hero{padding:1.5rem 1rem 4rem}.HomePageClient-heroContent{padding-top:.5rem}.HomePageClient-greeting{color:white!important}.HomePageClient-greeting:hover{opacity:.8}.HomePageClient-subtitle{font-size:1.125rem;font-weight:400;color:rgba(255,255,255,.7);margin:0}.HomePageClient-content{background:white;border-radius:1.5rem 1.5rem 0 0;margin-top:-1.5rem;padding:1.5rem 1rem 6rem;min-height:calc(100vh - 120px);box-shadow:1px -1px 20px 9px #00000008}