body{font-family:'Inter',sans-serif}
*:focus-visible{outline:2px solid #ef4444;outline-offset:2px}
.tab-content{display:none;animation:fadeIn .4s ease-in-out}
.tab-content.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.profile-btn.active{background-color:#fef2f2;border-color:#ef4444;color:#ef4444;box-shadow:inset 0 2px 4px 0 rgb(0 0 0/.05)}
.modal-overlay{transition:opacity .3s ease}
.modal-overlay.hidden{opacity:0;pointer-events:none}
.modal-overlay:not(.hidden){opacity:1;pointer-events:auto}
.timeline-item{position:relative;padding-left:2rem;padding-bottom:2rem;border-left:2px solid #e2e8f0}
.timeline-item:last-child{border-left:2px solid transparent;padding-bottom:0}
.timeline-dot{position:absolute;left:-.55rem;top:0;width:1rem;height:1rem;border-radius:50%;background-color:#ef4444;border:2px solid white}
.process-arrow::after{content:"";position:absolute;top:50%;right:-20px;transform:translateY(-50%);border-width:10px;border-style:solid;border-color:transparent transparent transparent #e2e8f0}
@media(max-width:768px){.process-arrow::after{display:none}}
.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}
.step-card{transition:all .3s ease}
.step-card:hover{transform:scale(1.02)}
.loading{animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.tipo-medida-card{transition:all .3s ease;cursor:pointer}
.tipo-medida-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1)}
.check-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.5rem}
.check-item.do{background-color:#f0fdf4}
.check-item.dont{background-color:#fef2f2}
