:root{--ink:#17363a;--muted:#5b7275;--teal:#176b70;--teal-dark:#10565a;--teal-soft:#dff2ef;--cream:#fbf8f1;--white:#fff;--line:#d9e5e3;--red:#9d3131;--red-soft:#fff0ef;--orange:#9a6516;--orange-soft:#fff6dd;--green:#276b4c;--green-soft:#e9f6ef;--shadow:0 14px 34px rgba(22,75,78,.1);--radius:20px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;background:linear-gradient(155deg,#e7f5f2 0,#fbf8f1 52%,#fff 100%);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:1080px;margin:auto;padding:18px 18px 90px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font-weight:700}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:1.4rem}.app-view{max-width:920px;margin:auto}.button{border:0;border-radius:13px;padding:12px 16px;min-height:46px}.button-primary{background:var(--teal);color:#fff}.button-primary:hover{background:var(--teal-dark)}.button-secondary{background:var(--teal-soft);color:var(--ink)}.button-quiet{background:transparent;color:var(--teal);border:1px solid var(--line)}.icon-button{border:0;background:transparent;font-size:1.8rem;color:inherit}.welcome{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);align-items:center;gap:28px;min-height:68vh}.avatar-stage{text-align:center}.avatar-stage img{width:min(100%,360px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:7px solid rgba(255,255,255,.85);box-shadow:var(--shadow)}.avatar-stage.speaking img{animation:speak 1s ease-in-out infinite}@keyframes speak{50%{transform:scale(1.018)}}.speech-card,.panel,.info-card{background:var(--white);border:1px solid rgba(217,229,227,.7);border-radius:var(--radius);box-shadow:var(--shadow)}.speech-card{padding:28px}.speech-card h1,.panel h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.14;margin:0 0 12px}.speech-card p,.panel-intro{color:var(--muted);line-height:1.65}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.panel{padding:26px}.phase-grid,.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.phase-choice,.info-card{padding:20px;text-align:left}.phase-choice{border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink)}.phase-choice:hover,.phase-choice:focus{outline:3px solid rgba(23,107,112,.16);background:#f5faf9}.phase-choice strong,.info-card h2{display:block;margin-bottom:7px}.phase-choice span,.info-card p{color:var(--muted);line-height:1.5}.phase-icon,.card-icon{font-size:1.6rem;display:block;margin-bottom:10px}.journey-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px auto 22px;max-width:920px}.journey-step{border:0;background:transparent;color:var(--muted);padding:10px 8px;text-align:center;border-bottom:3px solid var(--line)}.journey-step.is-current{color:var(--teal);border-color:var(--teal);font-weight:700}.journey-step.is-complete{color:var(--green);border-color:var(--green)}.journey-step span{display:block;font-size:.83rem;margin-top:3px}.dashboard-hero{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;margin-bottom:18px}.dashboard-hero img{width:110px;height:110px;object-fit:cover;border-radius:50%;border:4px solid var(--white);box-shadow:var(--shadow)}.dashboard-hero h1{margin:0 0 7px}.dashboard-hero p{margin:0;color:var(--muted);line-height:1.55}.info-card{box-shadow:none}.info-card button{width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:0}.info-card:hover{border-color:#a8cbc6}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-body{line-height:1.65}.detail-body ul{padding-left:1.25rem}.detail-image{width:100%;max-height:360px;object-fit:cover;border-radius:16px;margin:14px 0}.notice{padding:14px;border-radius:13px;background:var(--orange-soft);color:#684b14;margin:14px 0}.emergency-notice{padding:16px;border-radius:14px;background:var(--red-soft);color:#762c2c;margin-top:18px}.checklist{display:grid;gap:8px;margin:18px 0}.check-item{display:flex;gap:10px;align-items:flex-start;padding:12px;background:#f6faf9;border-radius:12px}.check-item input{margin-top:4px;width:20px;height:20px}.alert-grid{display:grid;gap:12px}.alert-card{padding:16px;border-radius:15px}.alert-card.green{background:var(--green-soft);color:#20563f}.alert-card.orange{background:var(--orange-soft);color:#694a12}.alert-card.red{background:var(--red-soft);color:#742a2a}.survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;margin:12px 0}.field label{font-weight:600}.field select,.field input,.field textarea{width:100%;padding:12px;border:1px solid #b9cdca;border-radius:11px;background:#fff}.alba-chat-button{position:fixed;right:22px;bottom:22px;border:0;border-radius:999px;background:var(--teal);color:#fff;display:flex;align-items:center;gap:9px;padding:8px 15px 8px 8px;box-shadow:0 10px 28px rgba(16,86,90,.3);z-index:20}.alba-chat-button img{width:42px;height:42px;object-fit:cover;border-radius:50%}.chat-panel{position:fixed;right:20px;bottom:84px;width:min(390px,calc(100vw - 28px));max-height:70vh;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px rgba(20,60,63,.25);z-index:30;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--teal-soft)}.chat-header p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.chat-messages{padding:16px;display:grid;gap:10px;max-height:280px;overflow:auto}.message{padding:11px 13px;border-radius:14px;line-height:1.5}.message.alba{background:#f0f7f6}.message.user{background:var(--teal);color:#fff;margin-left:34px}.chat-suggestions{display:flex;gap:7px;overflow:auto;padding:0 14px 10px}.chat-suggestions button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px}.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.chat-form input{flex:1;min-width:0;padding:11px;border:1px solid #b9cdca;border-radius:11px}.chat-disclaimer{margin:0;padding:0 14px 12px;color:var(--muted);font-size:.75rem}.empty-placeholder{padding:28px;text-align:center;border:2px dashed var(--line);border-radius:16px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.app-shell{padding:12px 12px 88px}.welcome{grid-template-columns:1fr;gap:12px;min-height:auto}.avatar-stage img{width:210px}.speech-card,.panel{padding:20px}.phase-grid,.card-grid,.survey-grid{grid-template-columns:1fr}.journey-progress{display:flex;overflow-x:auto}.journey-step{min-width:112px}.dashboard-hero{grid-template-columns:76px 1fr}.dashboard-hero img{width:76px;height:76px}.alba-chat-button span{display:none}.alba-chat-button{right:14px;bottom:14px;padding:7px}.chat-panel{right:14px;bottom:72px}.detail-header{display:block}}
.avatar-video-stage{width:min(100%,360px);aspect-ratio:1;margin:auto;overflow:hidden;border-radius:50%;border:7px solid rgba(255,255,255,.9);box-shadow:var(--shadow);background:#edf6f4}.avatar-stage video,.avatar-stage .avatar-fallback{width:118%;height:118%;object-fit:cover;object-position:50% 18%;display:block;margin:-4% 0 0 -9%;border:0;border-radius:0;box-shadow:none;background:#edf6f4;transform-origin:50% 55%;will-change:transform,filter}.avatar-video-stage.is-alive video,.avatar-video-stage.is-alive .avatar-fallback{animation:alba-alive 4.8s ease-in-out infinite}.avatar-stage.speaking video,.avatar-stage.speaking .avatar-fallback{animation:alba-speaking 1.25s ease-in-out infinite}.button-listen{margin-top:8px;background:#edf7f5;color:var(--teal);font-weight:700;border:1px solid #bddfd9}.voice-hint{margin:7px 0 0!important;color:var(--muted);font-size:.8rem;line-height:1.4!important}@keyframes alba-alive{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.004);filter:brightness(1.008)}}@keyframes alba-speaking{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.007);filter:brightness(1.015)}}@media(max-width:720px){.avatar-video-stage{width:210px}.avatar-stage video,.avatar-stage .avatar-fallback{width:118%;height:118%}}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}.app-icon{width:1.65rem;height:1.65rem;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.phase-icon,.card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--teal-soft);color:var(--teal);margin-bottom:12px}.phase-icon .app-icon,.card-icon .app-icon{width:27px;height:27px}.journey-step strong{display:grid;place-items:center;height:27px}.journey-step .app-icon{width:22px;height:22px}.detail-title{display:flex;align-items:center;gap:11px}.detail-title .app-icon{flex:none;width:32px;height:32px;color:var(--teal)}
.phase-timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:82px;margin-top:24px}.timeline-line{position:absolute;top:31px;left:8%;right:8%;height:5px;border-radius:999px;background:linear-gradient(90deg,#8fc8c2 0 48%,#e7b75f 48% 52%,#8fc8c2 52% 100%)}.timeline-phase{position:relative;min-height:220px}.timeline-dot{position:absolute;top:-63px;left:50%;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px #8fc8c2;transform:translateX(-50%)}.surgery-milestone{position:absolute;z-index:2;top:-13px;left:50%;display:grid;justify-items:center;gap:3px;color:#855a12;transform:translateX(-50%)}.surgery-milestone span{width:48px;height:48px;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;background:#fff0c9;color:#bd7a0c;font-size:1.55rem;box-shadow:0 0 0 3px #e7b75f,0 7px 18px rgba(133,90,18,.18)}.surgery-milestone strong{padding:3px 8px;border-radius:999px;background:#fff8e8;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.timeline-note{text-align:center;color:var(--muted);font-size:.86rem;margin:18px 0 0}
@media(max-width:720px){.phase-timeline{grid-template-columns:1fr;gap:12px;padding:0 0 0 48px}.timeline-line{top:22px;bottom:22px;left:25px;right:auto;width:5px;height:auto;background:linear-gradient(180deg,#8fc8c2 0 45%,#e7b75f 45% 55%,#8fc8c2 55% 100%)}.timeline-phase{min-height:0}.timeline-phase-1{grid-row:1}.timeline-phase-2{grid-row:2}.timeline-phase-3{grid-row:4}.timeline-phase-4{grid-row:5}.timeline-dot{top:28px;left:-23px}.surgery-milestone{position:relative;top:auto;left:auto;grid-row:3;justify-self:start;grid-template-columns:44px auto;align-items:center;gap:9px;margin:4px 0 4px -43px;transform:none}.surgery-milestone span{width:44px;height:44px;font-size:1.35rem}.surgery-milestone strong{font-size:.82rem}.timeline-note{text-align:left;margin-left:48px}}
.timeline-line::after{content:"";position:absolute;top:50%;right:-15px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:17px solid #8fc8c2;transform:translateY(-50%)}@media(max-width:720px){.timeline-line::after{top:auto;right:auto;bottom:-15px;left:50%;border-top:17px solid #8fc8c2;border-right:10px solid transparent;border-bottom:0;border-left:10px solid transparent;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.avatar-stage.speaking img{animation:none}*{scroll-behavior:auto!important}}
.bottom-nav{position:fixed;z-index:40;left:50%;bottom:0;width:min(100%,760px);display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;background:rgba(255,255,255,.96);box-shadow:0 -8px 26px rgba(22,75,78,.1);transform:translateX(-50%);backdrop-filter:blur(12px)}.bottom-nav[hidden]{display:none}.bottom-nav button{display:grid;justify-items:center;gap:3px;min-height:54px;padding:6px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:.76rem}.bottom-nav button.is-active{background:var(--teal-soft);color:var(--teal);font-weight:700}.bottom-nav .app-icon{width:23px;height:23px}.eyebrow{margin:0 0 5px;color:var(--teal);font-size:.78rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.phase-intro{min-height:72vh;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(320px,1.2fr);align-items:center;gap:34px;padding:30px;border-radius:30px;background:radial-gradient(circle at 25% 35%,#fff 0,#e3f3f0 45%,#fbf8f1 100%)}.phase-intro-copy h1{font-size:clamp(2rem,5vw,3.5rem);margin:0 0 15px}.phase-intro-copy>p:not(.panel-intro){font-size:1.12rem;line-height:1.75}.soft-status{display:inline-block;margin-top:10px;color:var(--muted);font-size:.9rem}.today-panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.today-panel h2{margin:0 0 15px}.daily-actions{display:grid;gap:10px}.today-action,.evolution-preview{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fbfa;color:var(--ink);text-align:left}.today-action .card-icon,.evolution-preview .card-icon{margin:0}.today-action strong,.today-action small,.evolution-preview strong,.evolution-preview small{display:block}.today-action small,.evolution-preview small{margin-top:4px;color:var(--muted);line-height:1.4}.today-action>.app-icon,.evolution-preview>.app-icon{width:20px;color:var(--teal)}.evolution-preview{margin-top:14px;background:var(--teal-soft);border-color:#bddfd9}.safety-small{color:var(--muted);font-size:.78rem;line-height:1.45}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-heading h1{margin-top:0}.steps-content{margin-top:20px}.empty-evolution{text-align:center;padding:25px}.empty-evolution .card-icon{margin:0 auto 12px}.steps-today{display:grid;gap:5px;padding:20px;border-radius:18px;background:var(--teal-soft)}.steps-today span{color:var(--muted)}.steps-today strong{font-size:2.8rem}.step-chart{height:150px;display:flex;align-items:flex-end;gap:10px;margin:25px 0}.step-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.step-chart span{width:100%;min-height:4px;border-radius:7px 7px 3px 3px;background:#6ca9a5}.step-chart small{color:var(--muted)}.motivation{padding:15px;border-radius:14px;background:#f4f8f7;font-size:1.05rem}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.help-grid button{display:flex;align-items:center;gap:10px;min-height:62px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f8fbfa;color:var(--ink);text-align:left}.help-grid button:last-child{grid-column:1/-1;color:var(--red);background:var(--red-soft)}.help-response{min-height:100px;padding:18px;border-radius:16px;background:var(--teal-soft);line-height:1.55}.help-response h2{margin-top:0}
@media(max-width:720px){.phase-intro{grid-template-columns:1fr;gap:15px;min-height:auto;padding:22px 16px}.phase-intro-copy{text-align:center}.phase-intro-copy>p:not(.panel-intro){font-size:1rem;line-height:1.62}.section-heading{display:block}.help-grid{grid-template-columns:1fr}.help-grid button:last-child{grid-column:auto}.today-action{padding:12px}.today-action small{font-size:.8rem}.app-shell{padding-bottom:108px}}
.surgery-education form{padding:18px;border:1px solid var(--line);border-radius:17px;background:#f8fbfa}.surgery-fields[hidden],#lobeField[hidden]{display:none}.surgery-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.surgery-fields>.field:last-of-type,.surgery-fields>.button{grid-column:1/-1}.surgery-explanation{margin-top:18px}.gentle-answer{padding:16px;border-radius:14px;background:var(--teal-soft)}.personal-surgery-card{padding:20px;border:1px solid #b8ddd8;border-radius:18px;background:#fff}.personal-surgery-card h2{margin-top:0}.personal-surgery-card img{display:block;width:100%;margin:16px 0;border-radius:16px;background:#d7d9da;object-fit:cover}.personal-surgery-card p{font-size:1.04rem;line-height:1.65}@media(max-width:720px){.surgery-fields{grid-template-columns:1fr}.surgery-fields>.field:last-of-type,.surgery-fields>.button{grid-column:auto}}
.checkin-screen{width:min(100%,760px);min-height:calc(100vh - 90px);margin:auto;padding:10px 8px 30px}.checkin-progress{height:8px;margin-bottom:24px;overflow:hidden;border-radius:999px;background:#dce8e6}.checkin-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .35s ease}.checkin-top{display:grid;grid-template-columns:1fr 76px;align-items:start;gap:18px}.checkin-top h1{margin:0 0 8px;font-size:clamp(2rem,5vw,3rem)}.checkin-top p:not(.eyebrow){max-width:620px;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.55}.checkin-top img{width:76px;height:76px;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}.checkin-question{display:grid;align-content:center;min-height:430px;padding:32px 5%;text-align:center}.checkin-question h2{max-width:680px;margin:0 auto 30px;font-size:clamp(1.75rem,5vw,2.65rem);line-height:1.2}.slide-in{animation:checkin-slide .35s ease both}@keyframes checkin-slide{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:none}}.wellbeing-dynamic{display:grid;justify-items:center;gap:5px;min-height:112px;margin:0 auto 4px}.wellbeing-dynamic span{font-size:4rem;line-height:1;transition:transform .18s ease}.wellbeing-dynamic strong{color:var(--teal);font-size:1.05rem}.range-value{font-size:3.4rem;font-weight:750;color:var(--teal)}.checkin-range{width:min(100%,600px);height:44px;margin:5px auto;accent-color:var(--teal);cursor:pointer}.range-labels{display:flex;justify-content:space-between;gap:20px;width:min(100%,600px);margin:0 auto 25px;color:var(--muted);font-weight:650}.range-labels span:last-child{text-align:right}.checkin-next,.checkin-skip{min-height:56px;padding:14px 24px;border:0;border-radius:15px;font-size:1.08rem;font-weight:700}.checkin-next{width:min(100%,440px);margin:auto;background:var(--teal);color:#fff}.checkin-skip{background:var(--teal-soft);color:var(--ink)}.conversation-choices{display:grid;gap:10px;width:min(100%,600px);margin:auto}.conversation-choices button{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:62px;padding:12px 18px;border:2px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-align:left}.conversation-choices button:hover,.conversation-choices button:focus-visible{border-color:var(--teal);background:var(--teal-soft);outline:3px solid rgba(23,107,112,.18)}.conversation-choices button span{font-size:1.4rem}.checkin-question textarea{width:min(100%,600px);margin:auto;padding:18px;border:2px solid #b9cdca;border-radius:16px;font-size:1.1rem;resize:vertical}.text-meta{display:flex;justify-content:space-between;width:min(100%,600px);margin:7px auto 22px;color:var(--muted);font-size:.84rem}.checkin-text-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,600px);margin:auto}.checkin-whisper{height:28px;text-align:center;color:var(--teal);font-weight:700;opacity:0;transition:opacity .2s}.checkin-whisper.show{opacity:1}.checkin-success{width:min(100%,680px);min-height:72vh;display:grid;justify-items:center;align-content:center;margin:auto;padding:30px;text-align:center}.success-mark{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:2.8rem;animation:success-pop .5s ease}.checkin-success>img{width:104px;height:104px;margin:18px 0 8px;border:5px solid #fff;border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}.checkin-success h1{margin:4px 0;font-size:2.7rem}.checkin-success>p{max-width:520px;margin:5px;color:var(--muted);font-size:1.08rem}.alba-personal-comment{max-width:600px;margin:20px 0;padding:18px;border-radius:17px;background:var(--teal-soft);line-height:1.6}.alba-personal-comment p{margin:7px 0 0}.checkin-continue{width:min(100%,440px);font-size:1.08rem}.checkin-continue:disabled{opacity:.65;cursor:wait}@keyframes success-pop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.checkin-screen{padding-top:4px}.checkin-top{grid-template-columns:1fr 58px}.checkin-top img{width:58px;height:58px}.checkin-top p:not(.eyebrow){font-size:.92rem}.checkin-question{min-height:390px;padding:24px 0}.checkin-question h2{margin-bottom:24px}.conversation-choices button{min-height:58px}.checkin-text-actions{grid-template-columns:1fr}.checkin-success{padding:20px 4px}}@media(prefers-reduced-motion:reduce){.slide-in,.success-mark,.wellbeing-dynamic span{animation:none}.checkin-progress span,.checkin-whisper,.wellbeing-dynamic span{transition:none}}
.health-dashboard{display:grid;gap:22px;margin-top:18px}.data-source-badge{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eef1f5;color:#4d5968;font-size:.72rem;font-weight:700}.alba-health-message{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:13px;padding:14px;border:1px solid #b8ddd8;border-radius:16px;background:var(--teal-soft)}.alba-health-message img{width:58px;height:58px;object-fit:cover;border-radius:50%}.alba-health-message p{margin:0;line-height:1.5}.health-connection{display:flex;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#f8fbfa}.health-connection h2{margin:9px 0 6px}.health-connection p{color:var(--muted)}.health-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.last-sync,.metric-meta,.manual-label{font-size:.8rem;color:var(--muted)}.health-toolbar{display:flex;justify-content:space-between;gap:12px}.period-selector{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:13px;background:#f4f8f7}.period-selector button{min-width:68px;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--muted)}.period-selector button.is-active{background:#fff;color:var(--teal);font-weight:700}.health-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.health-metric-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff}.health-metric-card header{display:flex;align-items:center;gap:11px}.health-metric-card header .card-icon{flex:none;margin:0}.health-metric-card h3{margin:0 0 5px;font-size:1rem}.metric-value{margin:17px 0 4px;font-size:2rem;font-weight:750}.metric-value small{margin-left:6px;color:var(--muted);font-size:.84rem}.health-mini-chart{height:82px;display:flex;align-items:flex-end;gap:5px;margin:14px 0}.health-bar-wrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.health-bar{width:100%;height:var(--bar);min-height:4px;border-radius:4px;background:#74aaa9}.health-bar.is-missing{height:4px!important;background:repeating-linear-gradient(90deg,#cad6d5 0 3px,transparent 3px 6px)}.health-bar-wrap small{font-size:.66rem;color:var(--muted)}.weekly-summary,.activity-goals,.manual-entry,.permissions-panel{padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff}.manual-entry summary{color:var(--teal);font-size:1.1rem;font-weight:700;cursor:pointer}.manual-entry form{margin-top:16px}.check-field{display:grid;gap:10px;margin:12px 0}.permission-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.permission-list div{display:grid;gap:3px;padding:11px;border-radius:11px;background:#f4f8f7}.permission-list span{font-size:.77rem;color:var(--muted)}.health-disclaimer{padding:15px;border:1px solid #e8cf9a;border-radius:14px;background:#fff8e8;color:#654a18;line-height:1.5}.health-skeleton{padding:30px;border-radius:16px;background:#edf4f3;text-align:center;color:var(--muted)}@media(max-width:720px){.health-connection,.health-toolbar{flex-direction:column}.health-actions{justify-content:stretch}.health-metrics-grid,.permission-list{grid-template-columns:1fr}.period-selector{display:grid;grid-template-columns:repeat(3,1fr)}}
.identification-screen{min-height:72vh;display:grid;grid-template-columns:minmax(180px,.65fr) minmax(320px,1.35fr);align-items:center;gap:28px}.identity-avatar{text-align:center}.identity-avatar img{width:min(100%,280px);aspect-ratio:1;object-fit:cover;border:7px solid #fff;border-radius:50%;box-shadow:var(--shadow)}.identity-card{max-width:600px}.identity-card>p{color:var(--muted);line-height:1.6}.identity-card form{display:grid;gap:10px;margin-top:22px}.identity-card label,.surgery-date-screen label{font-weight:750}.identity-card input,.surgery-date-screen input[type=date]{width:100%;min-height:58px;padding:13px 15px;border:2px solid #abc9c5;border-radius:14px;background:#fff;color:var(--ink);font-size:1.15rem}.identity-card input{text-transform:uppercase;letter-spacing:.08em}.field-error{min-height:22px;margin:0!important;color:var(--red)!important;font-weight:650}.privacy-note{padding:12px;border-radius:12px;background:#f2f7f6;font-size:.82rem}.patient-code-chip,.timing-badge{display:inline-flex;width:max-content;margin:4px 0 12px;padding:7px 11px;border-radius:999px;background:var(--teal-soft);color:var(--teal);font-size:.82rem;font-weight:750}.surgery-date-screen{width:min(100%,680px);margin:5vh auto}.surgery-date-screen>h1{margin-bottom:8px}.surgery-day-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.surgery-day-options button{min-height:120px;padding:18px;border:2px solid var(--line);border-radius:17px;background:#fff;color:var(--ink)}.surgery-day-options button:hover,.surgery-day-options button:focus-visible{border-color:var(--teal);outline:3px solid rgba(23,107,112,.16);background:var(--teal-soft)}.surgery-day-options span,.surgery-day-options strong{display:block}.surgery-day-options span{margin-bottom:8px;font-size:2rem}.date-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:.85rem}.date-divider::before,.date-divider::after{content:"";height:1px;flex:1;background:var(--line)}.surgery-date-screen form{display:grid;gap:11px;margin:18px 0}.dashboard-hero .timing-badge{margin-bottom:7px}@media(max-width:720px){.identification-screen{grid-template-columns:1fr;gap:12px}.identity-avatar img{width:170px}.surgery-day-options{grid-template-columns:1fr}.surgery-day-options button{min-height:90px}}
.team-directory{display:grid;gap:24px;margin-top:20px}.team-welcome{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--teal-soft)}.team-welcome .card-icon{margin:0}.team-welcome p{margin:0;line-height:1.6}.team-group h2{margin:0 0 12px;font-size:1.2rem}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.team-member{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:14px;min-height:118px;padding:10px;border:1px solid var(--line);border-radius:17px;background:#fff}.team-member img,.team-member-placeholder{width:96px;height:96px;border-radius:14px;object-fit:cover;object-position:center 28%;background:#dfecea}.team-member-placeholder{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--teal),#62a9a5);font-size:1.65rem;font-weight:750}.team-member h3{margin:0 0 5px;font-size:1rem;line-height:1.3}.team-member p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.35}.team-member small{display:block;margin-top:7px;color:var(--muted);font-size:.72rem}.team-source{margin:0;padding-top:5px;color:var(--muted);font-size:.78rem;line-height:1.5}.team-source a{color:var(--teal);font-weight:700}@media(max-width:720px){.team-grid{grid-template-columns:1fr}.team-member{grid-template-columns:82px 1fr;min-height:104px}.team-member img,.team-member-placeholder{width:82px;height:82px}}
.daily-companion-host{margin-top:20px}.daily-companion{display:grid;gap:15px}.mission-card{padding:clamp(22px,4vw,34px);border:1px solid #b8dcd7;border-radius:26px;background:linear-gradient(145deg,#fff 0,#f2faf8 100%);box-shadow:var(--shadow)}.mission-card.is-complete{background:linear-gradient(145deg,#fff 0,var(--green-soft) 100%);border-color:#b9dcca}.mission-heading{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:16px}.mission-heading h2{margin:0;font-size:clamp(1.55rem,4vw,2.15rem);line-height:1.2}.mission-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:var(--teal);color:#fff}.mission-icon .app-icon{width:34px;height:34px}.mission-actions{display:grid;gap:12px;margin:25px 0}.mission-actions p{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:0;color:var(--ink);font-size:clamp(1.05rem,2.5vw,1.2rem);line-height:1.55}.mission-actions p span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-weight:800}.mission-card.is-complete .mission-actions p span{background:var(--green);color:#fff}.mission-motivation{margin:0 0 20px;padding:15px 17px;border-radius:15px;background:#fff;color:var(--teal-dark);font-weight:650;line-height:1.55}.mission-complete{width:min(100%,420px);font-size:1.05rem;font-weight:750}.mission-complete:disabled{background:var(--green);opacity:1;cursor:default}.mission-safety{margin:12px 0 0;color:var(--muted);font-size:.76rem;line-height:1.45}.companion-message{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}.companion-message img{width:64px;height:64px;object-fit:cover;border:3px solid var(--teal-soft);border-radius:50%}.companion-message strong{color:var(--teal)}.companion-message p{margin:5px 0 0;line-height:1.5}.recovery-journey{margin-top:6px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff}.recovery-journey h2{max-width:650px;margin:0 0 18px;font-size:1.35rem}.habit-journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.habit-step{position:relative;min-height:142px;padding:15px 10px;border-radius:15px;background:#f4f7f6;color:#849395;opacity:.62}.habit-step:not(:last-child)::after{content:"";position:absolute;top:31px;right:-8px;z-index:2;width:10px;height:2px;background:#cbd8d6}.habit-step span{font-size:1.8rem;filter:grayscale(1)}.habit-step p{margin:9px 0 0;font-size:.82rem;line-height:1.4}.habit-step.is-reached{background:var(--teal-soft);color:var(--ink);opacity:1}.habit-step.is-reached span{filter:none}.habit-step.is-next{outline:2px solid #c8dedb;opacity:.85}.habit-step.is-next::before{content:"Tu siguiente paso";display:block;margin-bottom:7px;color:var(--teal);font-size:.63rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}@media(max-width:720px){.mission-card{padding:22px 18px}.mission-heading{grid-template-columns:52px 1fr}.mission-icon{width:52px;height:52px;border-radius:16px}.mission-icon .app-icon{width:29px;height:29px}.companion-message{grid-template-columns:52px 1fr}.companion-message img{width:52px;height:52px}.recovery-journey{padding:19px 15px}.habit-journey{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px}.habit-step{flex:0 0 158px;scroll-snap-align:start}.habit-step:not(:last-child)::after{display:none}}
.interpreted-health{display:grid;gap:15px}.health-details{padding:17px;border:1px solid var(--line);border-radius:16px;background:#f8fbfa}.health-details summary{color:var(--teal);font-weight:750;cursor:pointer}.health-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.health-detail-grid p{display:grid;gap:4px;margin:0;padding:12px;border-radius:12px;background:#fff}.health-detail-grid span,.health-details>p{color:var(--muted);font-size:.78rem}.health-detail-grid strong{font-size:1rem}.health-details>p{margin:10px 0 0;line-height:1.45}@media(max-width:520px){.health-detail-grid{grid-template-columns:1fr}}
.phase-intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px}.phase-intro-actions .soft-status{flex:1;min-width:220px;margin:0}.phase-intro-actions .button{background:rgba(255,255,255,.72)}.alba-chat-button{right:22px;bottom:88px;z-index:50}.chat-panel{bottom:150px;z-index:60}@media(max-width:720px){.phase-intro-actions{justify-content:center}.phase-intro-actions .soft-status{flex-basis:100%}.alba-chat-button{right:14px;bottom:84px}.chat-panel{right:14px;bottom:142px}}
.health-invite-screen{min-height:72vh;display:grid;grid-template-columns:minmax(190px,.65fr) minmax(340px,1.35fr);align-items:center;gap:30px}.health-invite-avatar{text-align:center}.health-invite-avatar img{width:min(100%,270px);aspect-ratio:1;object-fit:cover;border:7px solid #fff;border-radius:50%;box-shadow:var(--shadow)}.health-invite-card{max-width:640px}.health-invite-card>p:not(.eyebrow):not(.field-error){color:var(--muted);font-size:1.06rem;line-height:1.65}.health-invite-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:15px;border-radius:18px;background:var(--teal-soft);color:var(--teal)}.health-invite-icon .app-icon{width:30px;height:30px}.health-invite-card ul{display:grid;gap:9px;margin:20px 0;padding-left:1.35rem;line-height:1.45}.health-privacy-note{display:grid;gap:5px;padding:15px 17px;border-radius:15px;background:#f2f7f6;line-height:1.5}.health-privacy-note span{color:var(--muted);font-size:.9rem}.health-invite-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.health-invite-actions .button-primary{min-width:240px}.health-invite-actions .button:disabled{opacity:.65;cursor:wait}@media(max-width:720px){.health-invite-screen{grid-template-columns:1fr;gap:12px}.health-invite-avatar img{width:155px}.health-invite-card{text-align:left}.health-invite-actions{display:grid}.health-invite-actions .button-primary{min-width:0}}

/* Ajustes trasladados desde las pantallas editadas en Figma */
.welcome-figma .speech-card{background:transparent;border:0;box-shadow:none}.welcome-figma .welcome-start,.welcome-figma .welcome-skip{width:100%;margin-top:12px}.welcome-figma .welcome-start{min-height:48px;font-weight:750}.welcome-figma .welcome-skip{min-height:48px;border-color:transparent}.phase-selection-figma{width:min(100%,520px);min-height:calc(100vh - 110px);margin:0 auto;padding:34px 24px 28px}.phase-selection-figma header .eyebrow{margin:0 0 10px;color:var(--teal);font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}.phase-selection-figma header h1{margin:0;font-size:clamp(2rem,8vw,2.35rem);line-height:1.18}.phase-selection-figma .phase-timeline-vertical{position:relative;display:flex;grid-template-columns:none;flex-direction:column;gap:0;margin:32px 0 0;padding:0}.phase-selection-figma .phase-timeline-item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:14px;width:100%;min-height:96px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:left}.phase-selection-figma .phase-timeline-item:hover,.phase-selection-figma .phase-timeline-item:focus-visible{background:transparent;outline:0}.phase-selection-figma .phase-timeline-item:focus-visible .phase-choice-copy{outline:3px solid rgba(23,107,112,.2);outline-offset:2px}.phase-selection-figma .phase-visual{position:relative;z-index:1;width:72px;height:96px;display:flex;justify-content:center}.phase-selection-figma .phase-photo{position:relative;z-index:2;width:64px;height:64px;overflow:hidden;border:2px solid #a9c9c5;border-radius:50%;background:#e5efed}.phase-selection-figma .phase-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.phase-selection-figma .phase-connector{position:absolute;z-index:0;top:62px;bottom:-2px;left:50%;width:2px;background:#a9c9c5;transform:translateX(-50%)}.phase-selection-figma .phase-choice-copy{min-height:64px;display:grid;align-content:center;gap:4px;padding:8px 14px;border:1px solid transparent;border-radius:14px}.phase-selection-figma .phase-choice-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.phase-selection-figma .phase-choice-meta small{color:#718486;font-size:.72rem;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.phase-selection-figma .phase-choice-meta em{padding:3px 8px;border-radius:8px;background:var(--teal);color:#fff;font-size:.62rem;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.phase-selection-figma .phase-choice-copy strong{margin:0;font-size:1.05rem;line-height:1.3}.phase-selection-figma .phase-timeline-item.is-selected{min-height:120px}.phase-selection-figma .phase-timeline-item.is-selected .phase-visual{height:120px}.phase-selection-figma .phase-timeline-item.is-selected .phase-photo{width:72px;height:72px;padding:5px;border:3px solid var(--teal);background:var(--teal-soft)}.phase-selection-figma .phase-timeline-item.is-selected .phase-photo img{border-radius:50%}.phase-selection-figma .phase-timeline-item.is-selected .phase-connector{top:70px}.phase-selection-figma .phase-timeline-item.is-selected .phase-choice-copy{min-height:72px;padding:10px 13px;border-color:var(--teal);background:var(--teal-soft)}.phase-selection-figma .phase-timeline-item.is-selected .phase-choice-meta small,.phase-selection-figma .phase-timeline-item.is-selected .phase-choice-copy strong{color:var(--teal)}.phase-intro-figma .phase-intro-actions .button-primary{background:var(--teal);color:#fff}.apple-health-symbol{width:96px;height:96px;display:grid;place-items:center;margin:auto;border:1px solid #edf0f2;border-radius:24px;background:#fff;box-shadow:0 14px 32px rgba(53,62,70,.15)}.apple-health-symbol span{display:block;background:linear-gradient(145deg,#ff426e,#ff2d55 58%,#d51f47);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Arial,sans-serif;font-size:4.15rem;line-height:1;filter:drop-shadow(0 4px 6px rgba(255,45,85,.18))}
@media(max-width:720px){body{background:var(--cream)}.app-shell{padding-left:0;padding-right:0}.welcome-figma{min-height:calc(100vh - 116px);padding:12px 24px 18px;gap:18px}.welcome-figma .avatar-video-stage{width:min(337px,calc(100vw - 48px))}.welcome-figma .speech-card{padding:0}.welcome-figma .speech-card h1{font-size:2rem}.welcome-figma .speech-card>p{margin-top:8px;margin-bottom:8px}.welcome-figma .patient-code-chip{margin-bottom:6px}.phase-intro-figma{padding:8px 24px 22px}.phase-intro-figma .avatar-video-stage{width:min(332px,calc(100vw - 48px))}.phase-intro-figma .phase-intro-actions{display:grid;grid-template-columns:1fr;width:100%}.phase-intro-figma .phase-intro-actions .button{width:100%;min-height:48px}.phase-selection-figma{padding-top:28px}.health-invite-figma{min-height:calc(100vh - 110px);padding:22px 24px}.health-invite-figma .health-invite-avatar{margin-bottom:6px}.health-invite-figma .health-invite-card{padding:0;background:transparent;border:0;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.phase-selection-figma .phase-timeline-item,.phase-selection-figma .phase-choice-copy{transition:none}}

/* Recorrido de hábitos: explicación, siguiente objetivo y refuerzo positivo */
.journey-explanation{max-width:720px;margin:-8px 0 18px;color:var(--muted);line-height:1.55}.journey-next-feedback{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:13px;margin-bottom:18px;padding:15px 17px;border:1px solid #b7d9d5;border-radius:17px;background:var(--teal-soft)}.journey-next-feedback>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#fff;font-size:1.8rem}.journey-next-feedback strong{color:var(--teal);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.journey-next-feedback p{margin:5px 0 0;line-height:1.45}.journey-next-feedback.is-complete{border-color:#b9dcca;background:var(--green-soft)}.journey-next-feedback.is-complete strong{color:var(--green)}.habit-step{min-height:205px;display:flex;flex-direction:column;padding:15px 12px}.habit-step-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.habit-step-heading>span{font-size:1.8rem}.habit-step-heading small{padding:4px 7px;border-radius:999px;background:#e8eeed;color:#657779;font-size:.6rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.habit-step>p{margin:12px 0 8px;font-weight:700;line-height:1.4}.habit-step>em{display:block;margin-top:auto;color:var(--muted);font-size:.74rem;font-style:normal;line-height:1.45}.habit-step.is-reached .habit-step-heading small{background:#fff;color:var(--green)}.habit-step.is-reached>em{color:var(--green)}.habit-step.is-next{outline:2px solid var(--teal);background:#f3fbf9;opacity:1}.habit-step.is-next::before{content:none}.habit-step.is-next .habit-step-heading small{background:var(--teal);color:#fff}.habit-step.is-next>em{color:var(--teal-dark);font-weight:650}@media(max-width:720px){.journey-next-feedback{grid-template-columns:44px 1fr;padding:14px}.journey-next-feedback>span{width:44px;height:44px;border-radius:13px;font-size:1.55rem}.habit-step{flex-basis:190px;min-height:215px}}

/* Inicio simplificado: una propuesta, apoyo de Alba y actividad opcional */
.simple-dashboard{width:min(100%,720px);margin:0 auto}.friendly-dashboard-hero{padding:18px;border:1px solid #d4e7e4;border-radius:22px;background:linear-gradient(145deg,#fff,#f0f8f6);box-shadow:0 10px 26px rgba(22,75,78,.07)}.friendly-dashboard-hero h1{font-size:clamp(1.65rem,4vw,2.25rem)}.daily-companion-simple{gap:12px}.daily-companion-simple .mission-card{padding:24px;border:1px solid #c7e2de;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(22,75,78,.08)}.daily-companion-simple .mission-heading{grid-template-columns:54px 1fr;gap:14px}.daily-companion-simple .mission-icon{width:54px;height:54px;border-radius:17px}.daily-companion-simple .mission-icon .app-icon{width:29px;height:29px}.daily-companion-simple .mission-heading h2{font-size:clamp(1.4rem,4vw,1.85rem)}.daily-companion-simple .mission-actions{gap:9px;margin:20px 0}.daily-companion-simple .mission-actions p{font-size:1.05rem}.daily-companion-simple .mission-motivation{padding:13px 15px;background:var(--teal-soft);font-weight:600}.daily-companion-simple .mission-complete{width:100%;min-height:50px}.daily-companion-simple .companion-message{border:0;background:#f7faf9;box-shadow:none}.daily-companion-simple .health-companion-message{border:1px solid #bddfd9;background:var(--teal-soft)}.daily-companion-simple+.evolution-preview{margin-top:12px}@media(max-width:720px){.simple-dashboard{padding:4px 14px 16px}.friendly-dashboard-hero{grid-template-columns:66px 1fr;gap:13px;padding:14px}.friendly-dashboard-hero img{width:66px;height:66px}.friendly-dashboard-hero h1{margin-bottom:4px}.friendly-dashboard-hero p{font-size:.9rem}.daily-companion-host{margin-top:14px}.daily-companion-simple .mission-card{padding:19px 17px}.daily-companion-simple .mission-heading{grid-template-columns:48px 1fr}.daily-companion-simple .mission-icon{width:48px;height:48px;border-radius:15px}.daily-companion-simple .mission-actions{margin:17px 0}.daily-companion-simple .mission-actions p{font-size:1rem}.daily-companion-simple .companion-message{grid-template-columns:48px 1fr;padding:13px}.daily-companion-simple .companion-message img{width:48px;height:48px}}

/* Módulo independiente de cuestionarios clínicos */
.questionnaire-preview{margin-top:12px}.questionnaire-preview.has-pending{border-color:#6caea7;background:var(--teal-soft)}
.questionnaire-shell{width:min(100%,760px);min-height:calc(100vh - 118px);margin:0 auto;padding:18px 12px 42px}.questionnaire-loading{min-height:55vh;display:grid;place-items:center;color:var(--muted)}
.questionnaire-list-header>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.05rem;line-height:1.6}.questionnaire-list-header .button{margin-bottom:24px}.questionnaire-status-list{display:grid;gap:13px;margin:28px 0}.questionnaire-status-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 7px 22px rgba(22,75,78,.05)}.questionnaire-status-card.is-complete{background:#f4faf7}.questionnaire-status-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:1.35rem;font-weight:800}.questionnaire-status-card.is-complete .questionnaire-status-icon{background:var(--green);color:#fff}.questionnaire-status-card h2{margin:0;font-size:1.08rem}.questionnaire-status-card p{margin:4px 0 0;color:var(--muted)}.questionnaire-status-card .button{min-height:48px}.questionnaire-privacy,.eq5d-placeholder{padding:15px 17px;border-radius:15px;background:#f1f7f6;color:var(--muted);line-height:1.5}.eq5d-placeholder{margin:18px 0;border:1px dashed #b9cecb}.eq5d-placeholder p{margin:6px 0 0}.questionnaire-privacy{font-size:.86rem}
.questionnaire-intro,.questionnaire-completion{min-height:68vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.questionnaire-intro>p,.questionnaire-completion>p{max-width:650px;color:var(--muted);font-size:clamp(1.08rem,2.5vw,1.25rem);line-height:1.7}.questionnaire-intro>.button-quiet{align-self:flex-start;margin-bottom:auto}.questionnaire-intro-mark,.questionnaire-success{width:84px;height:84px;display:grid;place-items:center;margin:18px auto;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:2.4rem}.questionnaire-success{background:var(--green-soft);color:var(--green);font-weight:850}.questionnaire-time{margin:10px 0 24px;padding:10px 14px;border-radius:999px;background:#f2f6f5;color:var(--muted);font-size:.9rem}.questionnaire-main-action{width:min(100%,440px);min-height:56px;font-size:1.05rem}
.questionnaire-moment{margin:0 0 3px!important;color:var(--teal)!important;font-size:.72rem!important;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.questionnaire-status-card small{display:block;margin-top:7px;color:var(--muted);line-height:1.4}.questionnaire-pair-progress{width:min(100%,520px);display:grid;gap:10px;margin:20px auto}.questionnaire-mini-card{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left}.questionnaire-mini-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-weight:850}.questionnaire-mini-card div{display:grid;gap:3px}.questionnaire-mini-card small{color:var(--muted)}.questionnaire-mini-card.is-complete{background:#f4faf7}.questionnaire-mini-card.is-complete>span{background:var(--green);color:#fff}.questionnaire-data-note{width:min(100%,620px);margin:0 auto 22px;padding:14px 16px;border-radius:15px;background:#f1f7f6;color:var(--muted);font-size:.88rem;line-height:1.55;text-align:left}.questionnaire-sync-note{font-size:.88rem!important}.questionnaire-item-description,.questionnaire-official-instruction{color:var(--muted);font-size:1rem;line-height:1.55}.eq-vas{display:grid;gap:13px;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center}.eq-vas output{width:88px;height:64px;display:grid;place-items:center;justify-self:center;border-radius:16px;background:var(--teal-soft);color:var(--teal);font-size:2rem;font-weight:850}.eq-vas input[type=range]{width:100%;height:44px;accent-color:var(--teal)}.eq-vas>div{display:flex;justify-content:space-between;color:var(--muted);font-weight:750}.questionnaire-daily-task{margin-bottom:14px;padding:21px;border:2px solid #8dc5bf;border-radius:21px;background:linear-gradient(145deg,#fff,#eef9f7);box-shadow:0 9px 24px rgba(22,75,78,.07)}.questionnaire-daily-task h2{margin:4px 0 8px;color:var(--teal-dark);font-size:clamp(1.35rem,4vw,1.75rem)}.questionnaire-daily-task>p:not(.eyebrow){margin:0 0 15px;color:var(--muted);font-size:1.02rem;line-height:1.55}.questionnaire-task-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.questionnaire-task-meta span{padding:6px 10px;border-radius:999px;background:#fff;color:var(--teal);font-size:.78rem;font-weight:800}.questionnaire-alba-intro .phase-intro-copy{align-self:center}
.questionnaire-progress{height:7px;overflow:hidden;margin:0 0 30px;border-radius:999px;background:#e5eeec}.questionnaire-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .25s ease}.questionnaire-question{max-width:700px;margin:0 auto}.questionnaire-question-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem}.questionnaire-question-top .button{min-height:44px}.questionnaire-recall{margin:35px 0 8px;color:var(--teal);font-weight:700}.questionnaire-question h1{max-width:680px;margin:0 0 27px;font-size:clamp(1.65rem,5vw,2.35rem);line-height:1.25}.questionnaire-options{display:grid;gap:11px}.questionnaire-option{width:100%;min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:12px;padding:15px 18px;border:2px solid #d4e2e0;border-radius:16px;background:#fff;color:var(--ink);font:inherit;font-size:1.05rem;line-height:1.4;text-align:left}.questionnaire-option:hover,.questionnaire-option:focus-visible{border-color:#73aaa5;outline:3px solid rgba(23,107,112,.12)}.questionnaire-option.is-selected{border-color:var(--teal);background:var(--teal-soft)}.questionnaire-option i{display:grid;place-items:center;color:var(--teal);font-style:normal;font-weight:850}.questionnaire-selection-feedback{min-height:26px;margin:13px 0;color:var(--muted);font-size:.88rem}.questionnaire-question>.questionnaire-main-action{display:block;margin:8px auto 0}.questionnaire-main-action:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){.questionnaire-shell{padding:8px 18px 32px}.questionnaire-status-card{grid-template-columns:44px 1fr}.questionnaire-status-icon{width:42px;height:42px}.questionnaire-status-card .button{grid-column:1/-1;width:100%}.questionnaire-question-top{margin-top:5px}.questionnaire-recall{margin-top:27px}.questionnaire-option{min-height:66px;padding:14px 15px}.questionnaire-intro,.questionnaire-completion{min-height:76vh}}
@media(prefers-reduced-motion:reduce){.questionnaire-progress span{transition:none}}

/* Área profesional separada */
.researcher-body{min-height:100vh;background:#eef5f4}.researcher-app{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0}.researcher-login{width:min(100%,520px);margin:7vh auto}.researcher-login>p{color:var(--muted);line-height:1.55}.researcher-login form{display:grid;gap:10px;margin-top:24px}.researcher-login label{font-weight:750}.researcher-login input{min-height:52px;padding:11px 13px;border:2px solid var(--line);border-radius:12px;font:inherit}.researcher-header,.researcher-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.researcher-toolbar{margin:24px 0;padding:15px 18px;border-radius:15px;background:#fff}.researcher-toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.researcher-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px;background:#fff}.researcher-table-wrap table{width:100%;border-collapse:collapse}.researcher-table-wrap th,.researcher-table-wrap td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.researcher-table-wrap th{background:#f2f7f6;color:var(--teal);font-size:.78rem;text-transform:uppercase}.researcher-note{color:var(--muted);font-size:.84rem}.researcher-loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}@media(max-width:720px){.researcher-app{width:min(100% - 22px,1180px);padding:22px 0}.researcher-header,.researcher-toolbar{align-items:stretch;flex-direction:column}.researcher-toolbar>div{display:grid}.researcher-toolbar .button{width:100%}}
.researcher-password-hint{margin:2px 0 6px;color:var(--muted);font-size:.82rem}

/* Experiencia accesible para pacientes: jerarquía sencilla, letra grande y controles amplios */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid rgba(23,107,112,.22);outline-offset:3px}.immersive-screen .app-header{display:none}.brand img{width:44px;height:44px;border-radius:14px}.brand>span{display:grid;text-align:left}.brand strong{color:var(--teal);font-size:1.22rem;line-height:1}.brand small{margin-top:4px;color:var(--muted);font-size:.7rem;font-weight:650}.app-header #changePhaseButton{min-height:48px;padding:10px 15px;background:#fff;border-color:#a9d4cf;font-weight:750}

.accessible-access{position:relative;width:min(100%,520px);min-height:calc(100vh - 36px);display:flex;flex-direction:column;justify-content:center;gap:28px;margin:0 auto;padding:42px 38px 150px;overflow:hidden;border:1px solid #d4e7e4;border-radius:32px;background:linear-gradient(160deg,#f7fcfb 0,#fff 62%,#e7f5f2 100%);box-shadow:0 18px 50px rgba(22,75,78,.09)}.access-brand{z-index:1;display:flex;align-items:center;justify-content:center;gap:13px}.access-brand img{width:82px;height:82px;border-radius:25px}.access-brand div{display:grid}.access-brand strong{color:var(--teal);font-size:2.2rem;line-height:1}.access-brand span{margin-top:6px;color:var(--teal);font-weight:700}.access-copy{z-index:1;text-align:center}.access-copy h1{margin:0 0 13px;color:var(--teal);font-size:clamp(2rem,7vw,2.75rem)}.access-copy p{max-width:380px;margin:auto;color:var(--ink);font-size:1.13rem;line-height:1.7}.access-form{z-index:1;display:grid;gap:12px}.code-input-wrap{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;min-height:70px;padding:5px 17px;border:2px solid #b7cfcc;border-radius:18px;background:#fff}.code-input-wrap .app-icon{width:26px;height:26px;color:var(--muted)}.code-input-wrap input{min-width:0;height:58px;border:0;outline:0;background:transparent;color:var(--ink);font-size:1.08rem;text-transform:uppercase;letter-spacing:.04em}.access-form>.button{min-height:62px;font-size:1.15rem;font-weight:800}.access-privacy{z-index:1;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:17px;border:1px solid #cfe3e0;border-radius:17px;background:rgba(255,255,255,.88)}.access-privacy>.app-icon{width:35px;height:35px;color:var(--teal)}.access-privacy p{display:grid;gap:4px;margin:0;line-height:1.45}.access-privacy span{color:var(--muted);font-size:.9rem}.access-decoration{position:absolute;right:-45px;bottom:-65px;left:-45px;height:190px;background:radial-gradient(ellipse at 30% 75%,#8dcfc4 0 15%,transparent 16%),radial-gradient(ellipse at 70% 50%,#b9e3dc 0 20%,transparent 21%),linear-gradient(165deg,transparent 15%,#d6efea 16% 50%,#9dd7ce 51%)}.access-decoration span{position:absolute;width:24px;height:80px;border-radius:100% 0;background:#55ad9c;transform:rotate(-30deg)}.access-decoration span:nth-child(1){left:12%;bottom:45px}.access-decoration span:nth-child(2){left:24%;bottom:18px;transform:rotate(25deg)}.access-decoration span:nth-child(3){right:13%;bottom:34px;transform:rotate(40deg)}

.welcome-accessible{width:min(100%,680px);display:block;min-height:auto;margin:0 auto;padding:22px 0 36px}.welcome-introduction{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:22px;padding:24px;border:1px solid #e3dcf0;border-radius:26px;background:linear-gradient(145deg,#fff 0,#f6f0fc 100%);box-shadow:var(--shadow)}.welcome-copy h1{margin:0 0 12px;color:#59458d;font-size:clamp(2rem,6vw,2.8rem)}.welcome-copy>p:not(.eyebrow){font-size:1.12rem;line-height:1.65}.welcome-copy .button-listen{min-height:52px}.welcome-accessible .avatar-video-stage{width:220px}.welcome-phase-panel{position:relative;margin:-10px 16px 0;padding:23px;border:1px solid #e3dcf0;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(72,55,107,.08)}.welcome-phase-panel h2{max-width:500px;margin:0 auto 18px;color:#59458d;font-size:1.28rem;line-height:1.4;text-align:center}.welcome-phase-list{display:grid;gap:11px}.welcome-phase-choice{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) 28px;align-items:center;gap:13px;min-height:82px;padding:9px 14px;border:2px solid #e3e8e7;border-radius:17px;background:#fff;color:var(--ink);text-align:left}.welcome-phase-choice:hover,.welcome-phase-choice:focus-visible{border-color:#71ada6;background:#f2faf8}.welcome-phase-choice img{width:60px;height:60px;border-radius:15px;object-fit:cover}.welcome-phase-choice>span{display:grid;gap:4px}.welcome-phase-choice strong{font-size:1.04rem;line-height:1.35}.welcome-phase-choice small{color:var(--muted);font-size:.84rem;line-height:1.35}.welcome-phase-choice>.app-icon{width:23px;color:var(--teal)}.welcome-help{margin:16px 0 0;color:var(--muted);font-size:.88rem;text-align:center}.accessible-phase-selection{width:min(100%,620px);min-height:calc(100vh - 40px);margin:0 auto;padding:28px 18px}.accessible-phase-selection header{text-align:center}.accessible-phase-selection header h1{margin:5px 0 10px;font-size:clamp(2rem,7vw,2.7rem)}.accessible-phase-selection header>p:not(.eyebrow){margin:0 auto 25px;color:var(--muted);font-size:1.05rem;line-height:1.55}.phase-selection-back{width:100%;min-height:54px;margin-top:18px;font-weight:750}

.accessible-dashboard{width:min(100%,720px)}.dashboard-phase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dashboard-phase-heading h1{max-width:560px;margin:2px 0 8px;color:var(--teal);font-size:clamp(2rem,6vw,2.7rem);line-height:1.08}.compact-phase-progress{display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0 24px;padding:0;list-style:none}.compact-phase-progress li{position:relative;display:grid;justify-items:center;gap:7px;color:#879697;text-align:center}.compact-phase-progress li:not(:last-child)::after{content:"";position:absolute;z-index:-1;top:23px;left:60%;width:80%;border-top:3px dotted #ccd7d5}.compact-phase-progress li>span{width:48px;height:48px;display:grid;place-items:center;border:3px solid #d8e1df;border-radius:50%;background:#f4f7f6}.compact-phase-progress li .app-icon{width:24px;height:24px}.compact-phase-progress small{font-size:.78rem;font-weight:700}.compact-phase-progress li.is-current{color:var(--green)}.compact-phase-progress li.is-current>span{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 6px 16px rgba(39,107,76,.2)}.compact-phase-progress li.is-complete>span{border-color:#8fc5b0;color:var(--green)}.accessible-dashboard .daily-companion-host{margin-top:0}.accessible-dashboard .daily-companion-simple{gap:14px}.accessible-dashboard .companion-message{border-color:#b9dfda;background:#fff}.accessible-dashboard .mission-card{background:linear-gradient(145deg,#fbfdf5,#f1f8e8);border-color:#cfdfbf}.accessible-dashboard .mission-card .mission-complete{font-size:1.08rem}.quick-access{margin-top:22px}.quick-access>h2{margin:0 0 14px;font-size:1.45rem}.quick-access-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.quick-access-grid>button{display:grid;justify-items:center;align-content:start;gap:7px;min-height:146px;padding:14px 8px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:center;box-shadow:0 7px 20px rgba(22,75,78,.05)}.quick-access-grid>button:hover,.quick-access-grid>button:focus-visible{border-color:#80b8b2;background:#f8fcfb}.quick-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px}.quick-icon .app-icon{width:32px;height:32px}.quick-green{background:#e4f4eb;color:#2f8060}.quick-blue{background:#e4f1f9;color:#32799d}.quick-purple{background:#eee8f8;color:#73569d}.quick-pink{background:#fdebef;color:#b95b75}.quick-access-grid strong{font-size:1rem}.quick-access-grid small{color:var(--muted);font-size:.78rem;line-height:1.3}.dashboard-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}.large-link{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:83px;margin:0;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left}.large-link .card-icon{width:48px;height:48px;margin:0}.large-link>span:nth-child(2){display:grid;gap:4px}.large-link small{color:var(--muted);line-height:1.35}.large-link>.app-icon{width:21px;color:var(--teal)}

.accessible-information{width:min(100%,760px);margin:0 auto}.accessible-information .section-heading p{max-width:600px;color:var(--muted);font-size:1.05rem;line-height:1.55}.accessible-information .card-grid{grid-template-columns:1fr;gap:12px}.accessible-information .info-card{padding:0;border-radius:19px;background:#fff}.accessible-information .info-card button{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:14px;min-height:100px;padding:16px}.accessible-information .info-card .card-icon{width:55px;height:55px;margin:0}.accessible-information .info-card h2{margin:0 0 5px;font-size:1.18rem}.accessible-information .info-card p{margin:0}.accessible-information .info-card button>.app-icon{width:22px;color:var(--teal)}

.phase-evolution-screen{width:min(100%,650px);margin:0 auto;padding:8px 0 30px}.phase-evolution-screen>header{text-align:center}.phase-evolution-screen>header h1{margin:4px 0 10px;font-size:clamp(2rem,7vw,2.7rem)}.phase-evolution-screen>header>p:not(.eyebrow){margin:0 auto 25px;color:var(--muted);font-size:1.05rem;line-height:1.55}.evolution-phase-list{position:relative;display:grid;gap:13px}.evolution-phase-list::before{content:"";position:absolute;top:42px;bottom:42px;left:29px;width:4px;border-radius:999px;background:#dbe3e1}.evolution-phase-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 92px;align-items:center;gap:14px;min-height:118px;padding:13px 14px;border:2px solid #e2e7e5;border-radius:20px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 7px 20px rgba(22,75,78,.05)}.evolution-phase-card.is-selected{border-color:#72afa7;background:#f4fbf9}.evolution-phase-card.is-current{border-color:#8fc9ad;background:#f2faf5}.evolution-marker{z-index:1;width:32px;height:32px;display:grid;place-items:center;border:4px solid #cbd4d2;border-radius:50%;background:#fff;color:#fff;font-weight:850}.evolution-phase-card.is-current .evolution-marker{border-color:var(--green);background:var(--green)}.evolution-phase-card>span:nth-child(2){display:grid;gap:6px}.evolution-phase-card strong{font-size:1.25rem}.evolution-phase-card small{color:var(--muted);font-size:.92rem;line-height:1.4}.evolution-phase-card em{width:max-content;padding:4px 9px;border-radius:999px;background:#dff3e8;color:var(--green);font-size:.72rem;font-style:normal;font-weight:800}.evolution-phase-card img{width:86px;height:86px;border-radius:18px;object-fit:cover}.evolution-confirm{width:min(100%,440px);display:block;min-height:58px;margin:23px auto 0;font-size:1.08rem;font-weight:800}.evolution-confirm:disabled{background:#dce7e5;color:#617674;opacity:1}.evolution-preserve{text-align:center;color:var(--muted);font-size:.88rem}

@media(max-width:720px){html{font-size:17px}.app-shell{padding:10px 13px 112px}.app-header{margin:0 2px 14px}.brand img{width:42px;height:42px}.app-header #changePhaseButton{font-size:.88rem}.accessible-access{min-height:calc(100vh - 20px);padding:30px 23px 140px;border-radius:26px}.access-brand img{width:68px;height:68px}.access-brand strong{font-size:1.95rem}.access-copy p{font-size:1.03rem}.welcome-accessible{padding:8px 10px 30px}.welcome-introduction{grid-template-columns:minmax(0,1fr) 155px;gap:10px;padding:18px 15px}.welcome-accessible .avatar-video-stage{width:155px}.welcome-copy>p:not(.eyebrow){font-size:.98rem}.welcome-phase-panel{margin:-4px 5px 0;padding:16px 12px}.welcome-phase-choice{grid-template-columns:58px minmax(0,1fr) 23px;min-height:82px;padding:9px 11px}.welcome-phase-choice img{width:54px;height:54px}.welcome-phase-choice small{display:none}.accessible-phase-selection{padding:18px 8px}.dashboard-phase-heading h1{font-size:2rem}.compact-phase-progress{margin:17px 0 20px}.compact-phase-progress li>span{width:44px;height:44px}.compact-phase-progress li:not(:last-child)::after{top:21px}.compact-phase-progress small{font-size:.68rem}.quick-access-grid{grid-template-columns:1fr 1fr}.quick-access-grid>button{min-height:132px}.dashboard-secondary-actions{grid-template-columns:1fr}.large-link{min-height:88px}.accessible-information .info-card button{grid-template-columns:54px minmax(0,1fr) 22px;min-height:106px;padding:14px 12px}.evolution-phase-card{grid-template-columns:38px minmax(0,1fr) 74px;min-height:112px;padding:12px 10px}.evolution-phase-card img{width:70px;height:70px}.evolution-phase-list::before{left:25px}.bottom-nav button{min-height:62px;font-size:.73rem}.alba-chat-button{bottom:94px}}

@media(max-width:390px){.welcome-introduction{grid-template-columns:1fr}.welcome-accessible .avatar-video-stage{grid-row:1;width:170px}.welcome-copy{text-align:center}.quick-access-grid>button{min-height:126px;padding-inline:5px}.compact-phase-progress small{font-size:.62rem}.evolution-phase-card{grid-template-columns:34px minmax(0,1fr) 62px}.evolution-phase-card img{width:60px;height:60px}}

@media(prefers-reduced-motion:reduce){.accessible-access,.welcome-accessible,.accessible-dashboard,.phase-evolution-screen{scroll-behavior:auto}}

/* Identidad ALBA+ */
.brand img{display:block;width:150px;height:auto;max-height:54px;border-radius:0;object-fit:contain}
.access-brand{gap:0}
.access-brand img{display:block;width:min(78%,280px);height:auto;border-radius:0;object-fit:contain}
@media(max-width:720px){.brand img{width:132px;height:auto;max-height:48px}.access-brand img{width:min(78%,250px);height:auto}}
.alba-chat-button[hidden],.chat-panel[hidden],.bottom-nav[hidden],#changePhaseButton[hidden]{display:none!important}
.bottom-nav button[data-nav="home"] span{font-size:.92em;white-space:nowrap}

/* Ajuste de pantalla para iPhone: respeta la isla dinámica, la barra de inicio y la navegación fija. */
@media(max-width:720px){
  html{
    font-size:16px;
    -webkit-text-size-adjust:100%;
    scroll-padding-top:calc(72px + env(safe-area-inset-top));
    scroll-padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }
  body{min-height:100dvh}
  .app-shell{
    min-height:100dvh;
    padding-top:calc(10px + env(safe-area-inset-top));
    padding-right:max(13px,env(safe-area-inset-right));
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
    padding-left:max(13px,env(safe-area-inset-left));
  }
  .app-header{min-height:48px;margin:0 1px 16px}
  .brand img{width:118px;max-height:42px}
  .app-header #changePhaseButton{min-height:44px;padding:8px 12px;font-size:.82rem;white-space:nowrap}
  .simple-dashboard{padding:2px 2px 28px}
  .dashboard-phase-heading h1{max-width:100%;font-size:1.82rem;line-height:1.1}
  .timing-badge{font-size:.86rem}
  .compact-phase-progress{margin:14px 0 18px}
  .compact-phase-progress li{gap:5px}
  .compact-phase-progress li>span{width:40px;height:40px;border-width:2px}
  .compact-phase-progress li .app-icon{width:21px;height:21px}
  .compact-phase-progress li:not(:last-child)::after{top:19px}
  .compact-phase-progress small{font-size:.64rem;line-height:1.15}
  .daily-companion-host{margin-top:0}
  .daily-companion-simple{gap:11px}
  .daily-companion-simple .companion-message{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:13px 14px;border-radius:17px}
  .daily-companion-simple .companion-message img{width:42px;height:42px}
  .daily-companion-simple .companion-message p{font-size:.96rem;line-height:1.45}
  .daily-companion-simple .mission-card{padding:18px 16px;border-radius:20px}
  .daily-companion-simple .mission-heading{grid-template-columns:46px minmax(0,1fr);gap:12px}
  .daily-companion-simple .mission-icon{width:46px;height:46px;border-radius:14px}
  .daily-companion-simple .mission-heading h2{font-size:1.38rem;line-height:1.18}
  .daily-companion-simple .mission-actions{gap:8px;margin:16px 0}
  .daily-companion-simple .mission-actions p{grid-template-columns:25px minmax(0,1fr);gap:9px;font-size:.98rem;line-height:1.48}
  .daily-companion-simple .mission-actions p span{width:25px;height:25px}
  .daily-companion-simple .mission-motivation{margin-bottom:16px;padding:12px 13px}
  .quick-access{margin-top:18px}
  .bottom-nav{
    width:calc(100% - 12px);
    padding:6px max(7px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));
    border-radius:18px 18px 0 0;
  }
  .bottom-nav button{min-height:56px;padding:5px 3px;font-size:.69rem;line-height:1.12}
  .bottom-nav .app-icon{width:21px;height:21px}
  .alba-chat-button{right:max(11px,env(safe-area-inset-right));bottom:calc(74px + env(safe-area-inset-bottom));padding:6px}
  .alba-chat-button img{width:38px;height:38px}
  .chat-panel{right:max(12px,env(safe-area-inset-right));bottom:calc(128px + env(safe-area-inset-bottom));max-height:calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
}

/* Información práctica durante la recuperación en casa */
.home-recovery-panel{width:min(100%,780px);margin:0 auto;padding-bottom:34px}.home-recovery-content{display:grid;gap:22px;margin-top:18px}.home-alba-intro{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:16px;border:1px solid #bfe0dc;border-radius:18px;background:#f2faf8}.home-alba-intro img{width:62px;height:62px;border-radius:50%;object-fit:cover;background:var(--teal-soft)}.home-alba-intro p{margin:0;font-size:1.04rem;line-height:1.55}.home-info-section>h2,.home-important>h2,.home-normal-card>h2,.home-avoid-card>h2,.home-breathing-card>h2,.home-medication-empty>h2,.home-forgotten-dose>h2{margin:0 0 14px;color:var(--teal-dark);font-size:1.35rem}.home-important{padding:19px;border:2px solid #94c9c2;border-radius:20px;background:linear-gradient(145deg,#fff,#edf8f5)}.home-important>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-important article{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:start;padding:14px;border-radius:14px;background:#fff}.home-important article>span,.home-check-list>li>span:first-child{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:850}.home-important p{margin:2px 0 0;line-height:1.45}.home-normal-card,.home-avoid-card,.home-forgotten-dose,.home-safety-card{padding:20px;border-radius:19px}.home-normal-card{border:1px solid #c9ded5;background:#f2f8f4}.home-normal-card>strong{display:block;margin-top:12px;color:var(--green)}.home-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.home-check-list>li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;line-height:1.5}.home-practical-grid,.home-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-practical-grid>article,.home-week-grid>article{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.home-practical-grid h2,.home-practical-grid h3,.home-week-grid h3{margin:7px 0 8px;font-size:1.12rem}.home-practical-grid p,.home-week-grid p{margin:0;color:var(--muted);line-height:1.55}.home-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--teal-soft);color:var(--teal)}.home-card-icon .app-icon{width:28px;height:28px}.home-faq{display:grid;gap:9px}.home-faq details,.home-activity-answer-grid details,.consultation-summary>details{border:1px solid var(--line);border-radius:15px;background:#fff}.home-faq summary,.consultation-summary>details>summary{min-height:58px;display:flex;align-items:center;padding:14px 45px 14px 16px;color:var(--ink);font-weight:780;line-height:1.4;cursor:pointer}.home-faq details p{margin:0;padding:0 16px 17px;color:var(--muted);line-height:1.55}.home-faq details[open],.home-activity-answer-grid details[open]{border-color:#84bbb4;background:#f8fcfb}.home-orientation-note{margin:14px 0 0;padding:15px;border-radius:14px;background:#f2f6f5;color:var(--muted);font-size:.92rem;line-height:1.55}.home-activity-goal{min-height:150px}.home-activity-empty{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:center;padding:20px;border:1px solid #acd4cf;border-radius:20px;background:linear-gradient(145deg,#f8fdfc,#eaf7f3)}.home-activity-empty h2{margin:0 0 7px;color:var(--teal)}.home-activity-empty p{margin:0 0 12px;line-height:1.5}.home-step-summary{display:grid;gap:12px;padding:21px;border:1px solid #a8d2cc;border-radius:20px;background:linear-gradient(145deg,#fff,#eaf7f3)}.home-step-summary h2{margin:3px 0 6px;color:var(--teal);font-size:2rem}.home-step-summary p{margin:0;color:var(--muted)}.home-step-summary>strong{line-height:1.5}.home-step-summary>small{color:var(--muted);line-height:1.45}.home-step-progress{height:14px;overflow:hidden;border-radius:999px;background:#d8e6e3}.home-step-progress span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .45s ease}.home-avoid-card{border:1px solid #ecd9b3;background:#fff9eb}.home-avoid-card .home-check-list>li>span:first-child{background:#b57b20}.home-motivation{margin:0;padding:20px;border-radius:18px;background:var(--teal);color:#fff;font-size:1.15rem;font-weight:800;line-height:1.45;text-align:center}.home-breathing-card{padding:21px;border:1px solid #a9d4cf;border-radius:21px;background:#f7fcfb}.home-breathing-card ol{display:grid;gap:7px;padding-left:25px;line-height:1.5}.home-breathing-visual{display:grid;justify-items:center;gap:12px;margin:20px 0}.home-breathing-circle{width:150px;height:150px;display:grid;place-items:center;border:5px solid #8ec9c1;border-radius:50%;background:#e4f5f1;color:var(--teal-dark);text-align:center;transition:transform 3s ease,background .4s ease}.home-breathing-circle[data-phase="inhale"]{transform:scale(1.14);background:#d7f1eb}.home-breathing-circle[data-phase="hold"]{transform:scale(1.14);background:#e9f5e3}.home-breathing-circle[data-phase="exhale"]{transform:scale(.88);background:#edf5f4}.home-breathing-circle span{max-width:105px;font-weight:850}.home-exercise-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.home-caution{margin-top:14px!important;padding:10px;border-radius:11px;background:var(--orange-soft);color:#684b14!important}.home-conditional-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;padding:18px;border:1px dashed #93bbb6;border-radius:17px;background:#f8fbfa}.home-conditional-card h2{margin:0 0 5px;font-size:1.15rem}.home-conditional-card p{margin:0;line-height:1.5}.home-medication-empty{padding:20px;border:1px solid #bad8d4;border-radius:19px;background:#f7fbfa}.home-medication-empty>div{display:grid;grid-template-columns:52px 1fr;gap:13px;align-items:center}.home-medication-empty p{margin:0;line-height:1.55}.home-medication-empty>small{display:block;margin-top:13px;color:var(--muted);line-height:1.45}.home-forgotten-dose{background:var(--orange-soft);color:#614716}.home-forgotten-dose h2{color:#614716}.home-forgotten-dose p{margin:0;line-height:1.55}.home-safety-card{margin:0;background:var(--red-soft);color:#762c2c;font-weight:750;line-height:1.5}.home-activity-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.home-activity-answer-grid summary{min-height:122px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.home-activity-answer-grid summary::-webkit-details-marker{display:none}.home-activity-answer-grid summary>span:last-child{display:grid;gap:6px}.home-activity-answer-grid summary strong{font-size:1.12rem}.home-activity-answer-grid summary small{color:var(--muted);font-size:.9rem;line-height:1.42}.home-activity-answer-grid details>.home-check-list{padding:0 16px 17px}.home-empty-appointment{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center;padding:19px;border:1px dashed #a9c7c3;border-radius:17px;background:#f8fbfa}.home-empty-appointment p{margin:5px 0 0;color:var(--muted);line-height:1.5}.home-appointment-data,.home-recent-checkin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.home-appointment-data>div,.home-recent-checkin>div{padding:13px;border-radius:13px;background:#f3f8f7}.home-appointment-data dt,.home-recent-checkin dt{color:var(--muted);font-size:.8rem}.home-appointment-data dd,.home-recent-checkin dd{margin:5px 0 0;font-weight:750}.home-consultation-topics{margin-top:15px}.home-consultation-topics h3{font-size:1.05rem}.home-question-planner form{display:grid;gap:10px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#f8fbfa}.home-question-planner label{font-weight:750}.home-question-planner textarea,.home-question-list textarea{width:100%;min-height:110px;padding:13px;border:2px solid #b9cdca;border-radius:13px;background:#fff;resize:vertical}.home-save-status{min-height:24px;margin:0;color:var(--green);font-weight:750}.home-empty-questions{padding:20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.home-question-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.home-question-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.home-question-list label{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;line-height:1.5}.home-question-list input{width:22px;height:22px;margin-top:1px;accent-color:var(--teal)}.home-question-list small{color:var(--muted)}.home-question-list>li>div{grid-column:1/-1;display:flex;gap:8px}.home-question-list>li.is-resolved label span{text-decoration:line-through;color:var(--muted)}.home-question-list form{grid-column:1/-1}.home-question-list form>div{display:flex;gap:8px;margin-top:8px}.home-delete-question{color:var(--red);border-color:#e7b9b7}.home-prepare-consultation{width:100%;min-height:58px;font-size:1.05rem;font-weight:800}.consultation-summary>header,.consultation-summary>section,.consultation-summary>details{padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff}.consultation-summary>header{text-align:center}.consultation-summary>header .home-card-icon{margin:0 auto}.consultation-summary>header h2{margin:7px 0;font-size:1.6rem}.consultation-summary>header p{margin:0;color:var(--muted)}.consultation-summary>section>h3{margin:0 0 12px;color:var(--teal-dark)}.consultation-summary>details>.home-check-list,.consultation-summary>details>p{padding:0 17px 17px}.consultation-summary .home-check-list>li>span:first-child{background:var(--teal)}

@media(max-width:720px){.home-recovery-panel{padding:19px 16px 48px}.home-important>div,.home-practical-grid,.home-week-grid,.home-activity-answer-grid{grid-template-columns:1fr}.home-important article{min-height:74px}.home-alba-intro{grid-template-columns:56px minmax(0,1fr);padding:13px}.home-alba-intro img{width:54px;height:54px}.home-practical-grid>article,.home-week-grid>article{padding:16px}.home-breathing-circle{width:138px;height:138px}.home-exercise-actions{display:grid;grid-template-columns:1fr 1fr}.home-exercise-actions .button:first-child{grid-column:1/-1}.home-appointment-data,.home-recent-checkin{grid-template-columns:1fr}.home-question-list>li{grid-template-columns:1fr}.home-question-list>li>small{justify-self:start}.home-activity-answer-grid summary{min-height:112px}.consultation-summary{padding-bottom:26px}}
@media(max-width:390px){.home-recovery-panel{padding-inline:12px}.home-alba-intro{grid-template-columns:1fr;text-align:center}.home-alba-intro img{margin:auto}.home-activity-empty,.home-empty-appointment,.home-conditional-card,.home-medication-empty>div{grid-template-columns:1fr}.home-activity-empty .home-card-icon,.home-empty-appointment .home-card-icon,.home-conditional-card .home-card-icon,.home-medication-empty .home-card-icon{margin:auto}}
@media(prefers-reduced-motion:reduce){.home-step-progress span,.home-breathing-circle{transition:none}}

@media(max-width:390px){
  .dashboard-phase-heading h1{font-size:1.72rem}
  .compact-phase-progress small{font-size:.6rem}
  .daily-companion-simple .companion-message p{font-size:.93rem}
}

/* Panel profesional: seguimiento agrupado por paciente seudonimizado. */
.researcher-main-header{align-items:flex-end}.researcher-main-header h1{margin:2px 0 5px;color:var(--teal);font-size:clamp(2.2rem,5vw,3.15rem)}.researcher-main-header p:not(.eyebrow){margin:0;color:var(--muted)}.researcher-stats,.researcher-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:26px 0}.researcher-stat{min-height:112px;display:grid;align-content:center;gap:7px;padding:19px;border:1px solid #c9e1dd;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(22,75,78,.06)}.researcher-stat strong{color:var(--teal);font-size:1.7rem;line-height:1.1}.researcher-stat span{color:var(--muted);font-size:.86rem;line-height:1.3}.researcher-stat.green{border-color:#cce4d6;background:#f4faf7}.researcher-stat.green strong{color:var(--green)}.researcher-stat.orange{border-color:#efdcb8;background:#fffaf0}.researcher-stat.orange strong{color:var(--orange)}.researcher-stat.blue{border-color:#cbdfea;background:#f5fafc}.researcher-stat.blue strong{color:#32799d}.researcher-controls{display:grid;grid-template-columns:minmax(260px,1fr) 210px 220px;gap:12px;padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff}.researcher-controls label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:750}.researcher-controls input,.researcher-controls select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b8cecb;border-radius:12px;background:#fff;color:var(--ink);font-size:.96rem}.researcher-result-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0 13px}.researcher-result-heading p{margin:0;color:var(--muted)}.researcher-result-heading>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.researcher-result-heading .button{min-height:42px;padding:8px 11px;font-size:.8rem}.researcher-patient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.researcher-patient-card{display:flex;flex-direction:column;gap:16px;padding:19px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(22,75,78,.055)}.researcher-patient-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.researcher-patient-card>header>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.researcher-code{color:var(--teal-dark);font-size:1.22rem;font-weight:850;letter-spacing:.035em}.researcher-patient-card>header>small{padding:5px 8px;border-radius:999px;background:#eef2f1;color:var(--muted);font-weight:700;white-space:nowrap}.researcher-patient-card>header>small.is-recent{background:var(--green-soft);color:var(--green)}.phase-pill{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#edf2f1;color:var(--muted);font-size:.72rem;font-weight:800}.phase-preparation{background:#e6f5ed;color:#287153}.phase-admission{background:#e7f1fb;color:#2e6f99}.phase-hospital{background:#efeafb;color:#6d5199}.phase-home{background:#fff0df;color:#91601a}.researcher-patient-data{display:grid;grid-template-columns:1fr 1fr;gap:9px}.researcher-patient-data p{display:grid;gap:4px;margin:0;padding:12px;border-radius:13px;background:#f6f9f8}.researcher-patient-data span{color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.researcher-patient-data strong{font-size:.96rem}.researcher-patient-data small{color:var(--muted);font-size:.76rem;line-height:1.35}.researcher-questionnaire-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:27px}.researcher-q-badge{padding:5px 8px;border:1px solid #d4dfdd;border-radius:8px;background:#f5f8f7;color:var(--muted);font-size:.7rem;font-weight:750}.researcher-q-badge.is-complete{border-color:#bedfcd;background:var(--green-soft);color:var(--green)}.researcher-empty-inline{color:var(--muted);font-size:.8rem}.researcher-patient-card>.button{width:100%;margin-top:auto;font-weight:750}.researcher-empty{grid-column:1/-1;padding:48px 24px;border:2px dashed #cbdcda;border-radius:20px;text-align:center}.researcher-empty h2{margin-top:0}.researcher-empty p{margin-bottom:0;color:var(--muted)}.researcher-back{margin-bottom:20px}.researcher-detail-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #c7dfdc;border-radius:22px;background:linear-gradient(145deg,#fff,#eef8f6)}.researcher-detail-header h1{display:inline-block;margin:2px 12px 0 0;color:var(--teal);font-size:2.25rem}.researcher-detail-date{display:grid;gap:5px;text-align:right}.researcher-detail-date span{color:var(--muted);font-size:.78rem}.researcher-detail-date strong{font-size:1.12rem}.researcher-detail-section{margin-top:20px;padding:21px;border:1px solid var(--line);border-radius:20px;background:#fff}.researcher-section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:16px}.researcher-section-title h2{margin:2px 0 0}.researcher-section-title>span{color:var(--muted);font-size:.82rem}.researcher-empty-small{padding:20px;border-radius:13px;background:#f5f8f7;color:var(--muted);text-align:center}.researcher-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.researcher-timeline>li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:0 0 20px}.researcher-timeline>li:not(:last-child)::before{content:"";position:absolute;top:17px;bottom:0;left:7px;width:2px;background:#d8e5e3}.researcher-timeline-dot{z-index:1;width:16px;height:16px;margin-top:4px;border:4px solid #d5eeea;border-radius:50%;background:var(--teal)}.researcher-timeline li>div{padding:14px 16px;border-radius:14px;background:#f6f9f8}.researcher-timeline header{display:flex;align-items:start;justify-content:space-between;gap:12px}.researcher-timeline time{color:var(--muted);font-size:.75rem;white-space:nowrap}.researcher-timeline p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.researcher-timeline dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:12px 0 0}.researcher-timeline dl>div{display:grid;grid-template-columns:minmax(80px,.7fr) 1fr;gap:7px;padding-top:6px;border-top:1px solid #e0e9e7}.researcher-timeline dt{color:var(--muted);font-size:.72rem}.researcher-timeline dd{margin:0;overflow-wrap:anywhere;font-size:.8rem}.researcher-detail-section .researcher-table-wrap{box-shadow:none}

@media(max-width:820px){.researcher-stats,.researcher-detail-summary{grid-template-columns:repeat(2,1fr)}.researcher-controls{grid-template-columns:1fr 1fr}.researcher-search{grid-column:1/-1}.researcher-patient-grid{grid-template-columns:1fr}.researcher-result-heading{align-items:flex-start;flex-direction:column}.researcher-result-heading>div{justify-content:flex-start}}
@media(max-width:560px){.researcher-app{width:min(100% - 20px,1180px);padding:18px 0}.researcher-main-header{align-items:flex-start}.researcher-main-header h1{font-size:2.15rem}.researcher-stats,.researcher-detail-summary{gap:9px}.researcher-stat{min-height:96px;padding:14px}.researcher-stat strong{font-size:1.35rem}.researcher-controls{grid-template-columns:1fr;padding:13px}.researcher-search{grid-column:auto}.researcher-result-heading>div{display:grid;width:100%}.researcher-result-heading .button{width:100%}.researcher-patient-card{padding:15px}.researcher-patient-data{grid-template-columns:1fr}.researcher-detail-header{align-items:flex-start;flex-direction:column;padding:18px}.researcher-detail-date{text-align:left}.researcher-detail-section{padding:15px}.researcher-section-title{align-items:flex-start;flex-direction:column}.researcher-timeline header{flex-direction:column;gap:4px}.researcher-timeline dl{grid-template-columns:1fr}.researcher-timeline dl>div{grid-template-columns:100px 1fr}}
.new-patient-option{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8fbfa}.new-patient-option h2{margin:0 0 5px;font-size:1rem}.new-patient-option p{margin:0;color:var(--muted);line-height:1.5}.new-patient-option .button{flex:0 0 auto}.new-patient-confirmation{max-width:620px;margin:8vh auto;text-align:center}.new-patient-confirmation>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.65}.confirmation-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:var(--teal-soft);color:var(--teal)}.confirmation-icon .app-icon{width:34px;height:34px}.new-patient-actions{display:grid;gap:10px;max-width:420px;margin:24px auto 0}.new-patient-actions .button{min-height:54px}@media(max-width:720px){.new-patient-option{align-items:stretch;flex-direction:column}.new-patient-option .button{width:100%}}

/* Herramientas breves de ansiedad preoperatoria. */
.anxiety-module{margin-top:20px}.anxiety-tool{width:min(100%,720px);margin:0 auto}.anxiety-alba{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:18px;padding:20px;border:1px solid #c9e4df;border-radius:21px;background:linear-gradient(145deg,#fff,#eef9f7)}.anxiety-alba img{width:92px;height:92px;border:5px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 7px 20px rgba(22,75,78,.12)}.anxiety-alba h2,.anxiety-subpage h2{margin:3px 0 9px;color:var(--teal);font-size:clamp(1.55rem,5vw,2rem);line-height:1.2}.anxiety-alba p:not(.eyebrow),.anxiety-subpage header>p:not(.eyebrow){margin:0 0 13px;color:var(--ink);font-size:1.02rem;line-height:1.6}.anxiety-alba .button{min-height:48px}.anxiety-choice-list{display:grid;gap:12px;margin:18px 0}.anxiety-choice-list>button{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:14px;min-height:100px;padding:15px;border:2px solid #d9e5e3;border-radius:18px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 7px 18px rgba(22,75,78,.045)}.anxiety-choice-list>button:hover,.anxiety-choice-list>button:focus-visible{border-color:#75b2aa;background:#f7fcfb}.anxiety-choice-list>button>span:nth-child(2){display:grid;gap:5px}.anxiety-choice-list strong{font-size:1.08rem;line-height:1.35}.anxiety-choice-list small{color:var(--muted);font-size:.86rem;line-height:1.4}.anxiety-choice-list>button>.app-icon{width:23px;color:var(--teal)}.anxiety-choice-icon,.anxiety-answer-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--teal-soft);color:var(--teal)}.anxiety-choice-icon .app-icon,.anxiety-answer-icon .app-icon{width:30px;height:30px}.anxiety-disclaimer{margin:18px 0 0;padding:15px 17px;border-radius:15px;background:#f4f7f6;color:var(--muted);font-size:.88rem;line-height:1.55}.anxiety-subpage{min-height:520px}.anxiety-subpage>header{margin-bottom:18px}.anxiety-subpage>header>.button{margin-bottom:15px}.concern-list{display:grid;gap:10px}.concern-list>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 23px;align-items:center;gap:12px;min-height:66px;padding:14px 17px;border:2px solid #d9e5e3;border-radius:15px;background:#fff;color:var(--ink);font:inherit;font-weight:720;text-align:left}.concern-list>button:hover,.concern-list>button:focus-visible{border-color:#75b2aa;background:var(--teal-soft)}.concern-list .app-icon{width:21px;color:var(--teal)}.concern-answer{display:grid;justify-items:start;align-content:start;max-width:620px;padding:6px 0}.concern-answer>.anxiety-answer-icon{margin:26px 0 13px}.concern-answer>h2{font-size:clamp(1.7rem,6vw,2.25rem)}.concern-answer>p:not(.eyebrow){margin:0 0 24px;font-size:1.1rem;line-height:1.7}.concern-answer>.button-primary{min-height:56px}.breathing-stage{display:grid;justify-items:center;gap:6px;margin:24px auto}.breathing-circle{width:190px;height:190px;display:grid;place-items:center;border:6px solid #cdeae4;border-radius:50%;background:radial-gradient(circle,#f9fffd 0,#cdeee8 100%);color:var(--teal);box-shadow:0 12px 34px rgba(23,107,112,.15);transform:scale(1);transition-property:transform;transition-timing-function:linear}.breathing-circle[data-phase="inhale"]{transform:scale(1.28);transition-duration:4s}.breathing-circle[data-phase="hold"]{transform:scale(1.28);transition-duration:.2s}.breathing-circle[data-phase="exhale"]{transform:scale(1);transition-duration:6s}.breathing-circle[data-phase="ready"]{transform:scale(1);transition-duration:.3s}.breathing-circle span{padding:12px;font-size:1.24rem;font-weight:850;text-align:center}.breathing-stage>strong{margin-top:24px;color:var(--teal);font-size:1.65rem}.breathing-stage>small{color:var(--muted)}.exercise-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.exercise-controls .button{min-height:54px}.exercise-result{margin-top:22px;padding:19px;border:1px solid #c9e4df;border-radius:18px;background:#f5fbf9;text-align:center}.exercise-result h3{margin:0 0 8px;color:var(--teal);font-size:1.45rem}.exercise-result>p{margin:0 0 17px}.outcome-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.outcome-buttons>button{min-height:58px;padding:10px;border:2px solid #a9d4cf;border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-weight:750}.outcome-buttons>button:hover,.outcome-buttons>button:focus-visible{border-color:var(--teal);background:var(--teal-soft)}.outcome-thanks p{margin:7px 0 16px}.visualization-player{display:grid;justify-items:center;gap:13px;margin:20px 0;padding:22px;border:1px solid #c9e4df;border-radius:19px;background:#f5fbf9}.visualization-player audio{width:100%;min-height:54px}.visualization-player .button{width:min(100%,360px);min-height:50px}.audio-time{margin:0;color:var(--muted);font-variant-numeric:tabular-nums}.visualization-transcript{margin-top:18px;border:1px solid #d7e4e2;border-radius:16px;background:#fff}.visualization-transcript summary{min-height:58px;display:flex;align-items:center;padding:13px 17px;color:var(--teal);font-weight:800;cursor:pointer}.visualization-transcript[open] summary{border-bottom:1px solid #e1e9e7}.visualization-transcript p{margin:14px 18px;font-size:.98rem;line-height:1.68}
.exercise-controls[hidden],.exercise-result[hidden]{display:none}
.admission-anxiety-home>header{padding:4px 2px 8px}.admission-anxiety-home>header h2{margin:3px 0 10px;color:var(--teal);font-size:clamp(1.65rem,5vw,2.15rem)}.admission-anxiety-home>header p:not(.eyebrow){max-width:610px;margin:0;color:var(--ink);font-size:1.05rem;line-height:1.65}.admission-anxiety-choices{gap:15px;margin-top:20px}.admission-anxiety-choices>button{min-height:116px;padding:19px}.admission-anxiety-choices strong{font-size:1.2rem}.admission-anxiety-choices small{font-size:.94rem}.calm-abstract-visual{position:relative;width:100%;height:132px;overflow:hidden;margin:10px 0 18px;border:1px solid #d0e8e4;border-radius:22px;background:linear-gradient(145deg,#f8fdfc,#e6f6f2)}.calm-abstract-visual span,.calm-abstract-visual i{position:absolute;border-radius:50%;background:rgba(76,167,155,.16);animation:calm-float 7s ease-in-out infinite}.calm-abstract-visual span{width:86px;height:86px;left:calc(50% - 43px);top:23px;border:2px solid rgba(23,107,112,.2);background:rgba(255,255,255,.72)}.calm-abstract-visual i:nth-child(2){width:54px;height:54px;left:24%;top:50px;animation-delay:-2s}.calm-abstract-visual i:nth-child(3){width:38px;height:38px;right:25%;top:31px;animation-delay:-4s}.visualization-player-intro{margin:0;text-align:center}.visualization-actions,.exercise-finish-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.visualization-actions .button,.exercise-finish-actions .button{width:100%;min-height:54px}.audio-error{width:100%;margin:0;padding:12px 14px;border-radius:12px;background:#fff7e8;color:#72531d;line-height:1.5}.audio-error[hidden]{display:none}.anxiety-support-note{margin:18px 0 0!important;padding-top:15px;border-top:1px solid #d7e4e2;color:var(--muted);font-size:.9rem;line-height:1.55}.anxiety-experience-panel .anxiety-module{margin-top:10px}@keyframes calm-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}
@media(max-width:620px){.anxiety-alba{grid-template-columns:70px minmax(0,1fr);gap:13px;padding:16px}.anxiety-alba img{width:68px;height:68px}.anxiety-alba p:not(.eyebrow){grid-column:1/-1}.anxiety-choice-list>button{grid-template-columns:50px minmax(0,1fr) 21px;min-height:106px;padding:13px 11px}.anxiety-choice-icon{width:48px;height:48px}.anxiety-choice-icon .app-icon{width:27px}.exercise-controls,.outcome-buttons{grid-template-columns:1fr}.exercise-controls .button,.outcome-buttons>button{width:100%;min-height:54px}.breathing-circle{width:160px;height:160px}.concern-answer>.button-primary{width:100%}}
@media(max-width:620px){.admission-anxiety-choices>button{min-height:112px;padding:15px 12px}.visualization-actions,.exercise-finish-actions{grid-template-columns:1fr}.calm-abstract-visual{height:110px}}
@media(prefers-reduced-motion:reduce){.breathing-circle{transition:none}.calm-abstract-visual span,.calm-abstract-visual i{animation:none}.anxiety-tool *{scroll-behavior:auto!important}}

/* Área profesional: acceso sobrio y cabecera claramente separada de la app del paciente. */
.researcher-login-shell{min-height:calc(100vh - 84px);display:grid;place-items:center;align-content:center;gap:18px}.researcher-login-shell .researcher-login{margin:0}.researcher-login-brand{display:flex;align-items:center;gap:14px;color:var(--teal-dark);font-weight:800;text-decoration:none}.researcher-login-brand img{width:150px;height:auto}.researcher-login-brand span{padding-left:14px;border-left:1px solid #b9d6d2}.researcher-access-warning{padding:13px 15px;border:1px solid #efcf9d;border-radius:13px;background:#fff8e8;color:#6d4b17!important}.researcher-login-note{margin:16px 0 0!important;font-size:.78rem}.researcher-public-link{color:var(--teal);font-weight:700;text-decoration:none}.researcher-title-group{display:flex;align-items:center;gap:20px}.researcher-dashboard-brand{flex:none}.researcher-dashboard-brand img{display:block;width:150px;height:auto}.researcher-user{display:grid;justify-items:end;gap:4px;text-align:right}.researcher-user>span{color:var(--muted);font-size:.83rem}.researcher-user>strong{color:var(--teal);font-size:.8rem}.researcher-user>div{display:flex;gap:8px;margin-top:7px}.researcher-user a{text-decoration:none}.researcher-noscript{margin:30px auto;padding:18px;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:14px}.researcher-body .skip-link{position:fixed;z-index:100;left:12px;top:-100px;padding:10px 14px;border-radius:10px;background:var(--teal);color:#fff}.researcher-body .skip-link:focus{top:12px}
@media(max-width:820px){.researcher-main-header{align-items:stretch}.researcher-title-group{align-items:flex-start;flex-direction:column}.researcher-user{justify-items:start;text-align:left}.researcher-user>div{flex-wrap:wrap}}
@media(max-width:560px){.researcher-login-shell{min-height:calc(100vh - 36px)}.researcher-login-brand{flex-direction:column;gap:8px}.researcher-login-brand span{padding:0;border:0}.researcher-dashboard-brand img{width:128px}.researcher-user>div{display:grid;width:100%}.researcher-user .button{width:100%}}

/* Fechas clínicas y avance automático por el recorrido perioperatorio. */
.clinical-date-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:15px;margin:18px 0;padding:19px;border:1px solid #bcded9;border-radius:var(--radius);background:linear-gradient(145deg,#fff,#f0faf8);box-shadow:0 8px 24px rgba(22,75,78,.06)}.clinical-date-card.has-date{border-color:#9fd2ca}.clinical-date-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--teal-soft);color:var(--teal)}.clinical-date-icon .app-icon{width:29px;height:29px}.clinical-date-card h2{margin:1px 0 7px;color:var(--teal);font-size:1.18rem;line-height:1.25}.clinical-date-card p{margin:0;color:var(--ink);font-size:1rem;line-height:1.5}.clinical-date-card small{display:block;margin-top:6px;color:var(--muted);font-size:.82rem;line-height:1.45}.clinical-date-card .button{min-height:48px;margin-top:14px}.evolution-dates{margin:20px 0}.evolution-dates .clinical-date-card{margin:10px 0}.clinical-date-editor{max-width:680px;margin:0 auto}.clinical-date-editor>h1{color:var(--teal)}.clinical-date-editor>p{color:var(--muted);font-size:1.02rem;line-height:1.6}.clinical-date-editor form{display:grid;gap:10px;margin-top:24px}.clinical-date-editor label{font-weight:800}.clinical-date-editor input[type="date"]{width:100%;min-height:58px;padding:12px 14px;border:2px solid #b8d5d1;border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:1.05rem}.clinical-date-editor input[type="date"]:focus{border-color:var(--teal);outline:3px solid rgba(23,107,112,.16)}.clinical-date-editor form .button{min-height:56px;margin-top:5px}.clinical-date-remove{width:100%;margin-top:12px;color:var(--red)}.clinical-date-help{margin-top:20px!important;padding:13px 15px;border-radius:13px;background:#f4f7f6;font-size:.86rem!important}.date-save-notice{margin:0 0 16px;padding:13px 15px;border:1px solid #bedfcd;border-radius:14px;background:var(--green-soft);color:var(--green);font-weight:700;line-height:1.45}.compact-phase-progress li.is-completed>span{border-color:#79bda8;background:var(--green);color:#fff}.compact-phase-progress li.is-future{opacity:.62}.evolution-phase-card.is-completed .evolution-marker{border-color:var(--green);background:var(--green);color:#fff}.evolution-phase-card.is-future:not(.is-selected){opacity:.72}
@media(max-width:620px){.clinical-date-card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px}.clinical-date-icon{width:48px;height:48px;border-radius:14px}.clinical-date-icon .app-icon{width:25px;height:25px}.clinical-date-card .button{width:100%}.clinical-date-editor{padding:18px 16px}}

/* Línea cronológica: pictogramas propios y contraste sereno entre fase activa e inactivas. */
.compact-phase-progress li>span{border-color:#c8d8d5;background:#f4f7f6;color:#78918f;box-shadow:none}
.compact-phase-progress li .app-icon{width:26px;height:26px}
.compact-phase-progress li.is-current{color:var(--teal)}
.compact-phase-progress li.is-current>span{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 6px 16px rgba(23,107,112,.2)}
.compact-phase-progress li.is-completed>span,.compact-phase-progress li.is-future>span{border-color:#c8d8d5;background:#f4f7f6;color:#78918f;box-shadow:none}
.compact-phase-progress li.is-future{opacity:.72}

/* Correcciones visuales verificadas en capturas reales (Mi evolución y Ayuda). */
.evolution-marker{
  border-color:#6f8583;
}
.evolution-phase-card.is-future:not(.is-selected){
  opacity:1;
}
.evolution-phase-card.is-future:not(.is-selected)>span:nth-child(2),
.evolution-phase-card.is-future:not(.is-selected)>img{
  opacity:.72;
}
.help-grid .app-icon{
  flex:0 0 auto;
  width:30px;
  height:30px;
  color:var(--teal);
}
.help-grid button:last-child .app-icon{
  color:var(--red);
}

@media(max-width:720px){
  .phase-evolution-screen,
  .help-screen,
  .accessible-information,
  .evolution-screen{
    padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;
  }
}

.home-section-title{margin:0 0 14px;color:var(--teal-dark);font-size:1.35rem}

/* Encabezado común y compacto de las cuatro fases */
.dashboard-phase-heading h1{margin:0 0 7px}
.dashboard-phase-heading .timing-badge{margin:0}
.accessible-dashboard .compact-phase-progress{margin-top:14px}
@media(max-width:720px){
  .dashboard-phase-heading h1{margin-bottom:6px}
  .dashboard-phase-heading .timing-badge{margin:0}
  .accessible-dashboard .compact-phase-progress{margin-top:12px}
}

/* Registro de pasos cuando Apple Salud no aporta datos */
.manual-activity-mode{display:grid;gap:18px}.manual-health-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #b9ddd8;border-radius:18px;background:var(--teal-soft)}.manual-health-notice strong{display:block;color:var(--teal-dark);font-size:1.08rem}.manual-health-notice p{margin:5px 0 0;line-height:1.5}.manual-step-summary,.manual-steps-card,.manual-step-history{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}.manual-step-summary h2,.manual-steps-card h2,.manual-step-history h2{margin:0;color:var(--teal-dark)}.manual-step-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.manual-step-stats p{display:grid;gap:5px;margin:0;padding:14px;border-radius:14px;background:#f3f8f7}.manual-step-stats span{color:var(--muted);font-size:.82rem}.manual-step-stats strong{font-size:1.05rem}.manual-step-chart{height:125px;display:flex;align-items:flex-end;gap:8px;margin:18px 0 10px;padding-top:8px}.manual-step-bar-wrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.manual-step-bar{width:100%;height:var(--bar);min-height:5px;border-radius:7px 7px 3px 3px;background:#65a9a1}.manual-step-bar.is-missing{height:5px!important;background:repeating-linear-gradient(90deg,#c9d7d5 0 4px,transparent 4px 8px)}.manual-step-bar-wrap small{color:var(--muted);font-size:.75rem;font-weight:700}.manual-step-note{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.manual-steps-card>header{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:13px}.manual-steps-card>header p{margin:4px 0 0;color:var(--muted)}.manual-steps-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--teal-soft);color:var(--teal)}.manual-steps-icon .app-icon{width:31px;height:31px}.manual-steps-card form{display:grid;gap:9px;margin-top:18px}.manual-steps-card label,.manual-date-picker label{font-weight:800}.manual-steps-card input[type=number],.manual-date-picker input[type=date]{width:100%;min-height:62px;padding:12px 15px;border:2px solid #abc9c5;border-radius:15px;background:#fff;color:var(--ink);font:inherit;font-size:1.35rem}.manual-steps-card input[type=number]:focus,.manual-date-picker input[type=date]:focus{border-color:var(--teal);outline:3px solid rgba(23,107,112,.16)}.manual-steps-card .button{min-height:58px;font-size:1.05rem}.manual-steps-feedback{min-height:24px;margin:0;color:var(--green);font-weight:800}.manual-step-history>h2{margin-bottom:13px}.manual-step-days{display:grid;gap:7px}.manual-step-days>button{width:100%;min-height:64px;display:grid;grid-template-columns:minmax(110px,1fr) minmax(105px,auto) 30px;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:#f8fbfa;color:var(--ink);text-align:left}.manual-step-days>button:hover,.manual-step-days>button:focus-visible{border-color:#7bb7b0;background:#f1faf8}.manual-step-days>button>span:first-child{display:grid;gap:3px}.manual-step-days small{color:var(--muted)}.manual-step-days>button>span:nth-child(2){text-align:right}.manual-step-days>button>span:last-child{color:var(--teal);font-size:1.35rem;text-align:center}.manual-other-day{width:100%;min-height:54px;margin-top:13px}.manual-date-picker{display:grid;gap:8px;margin-top:12px;padding:15px;border-radius:15px;background:#f2f8f7}.manual-date-picker p{margin:0;color:var(--muted);font-size:.82rem}.interpreted-health>.manual-step-summary{margin:2px 0}.interpreted-health .manual-step-summary .eyebrow{margin-bottom:5px}
@media(max-width:520px){.manual-health-notice{align-items:stretch;flex-direction:column}.manual-step-summary,.manual-steps-card,.manual-step-history{padding:17px 14px}.manual-step-stats{grid-template-columns:1fr}.manual-step-days>button{grid-template-columns:minmax(92px,1fr) minmax(90px,auto) 27px;padding-inline:10px}.manual-step-days>button>span:nth-child(2){font-size:.9rem}.manual-step-chart{gap:5px}.manual-steps-card>header{grid-template-columns:52px minmax(0,1fr)}.manual-steps-icon{width:50px;height:50px}}

/* Entrenamiento respiratorio interactivo durante la preparación. */
.preop-breathing-panel{width:min(100%,860px);margin-inline:auto;padding-bottom:calc(40px + env(safe-area-inset-bottom))}.preop-breathing-module{display:grid;gap:20px;margin-top:20px}.preop-breathing-module h2{margin:3px 0 8px;color:var(--teal-dark);font-size:clamp(1.28rem,4.5vw,1.7rem);line-height:1.25}.preop-breathing-module p{line-height:1.55}.preop-breathing-hero{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;padding:24px;border:1px solid #bfe0da;border-radius:24px;background:linear-gradient(145deg,#f8fffd,#e8f7f3)}.preop-breathing-hero>div:last-child>strong{display:block;margin-bottom:8px;color:var(--teal);font-size:1.3rem;line-height:1.3}.preop-breathing-hero p{margin:0;font-size:1.02rem}.preop-lung-visual{position:relative;width:138px;height:138px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#fff;color:var(--teal);box-shadow:0 10px 30px rgba(23,107,112,.13)}.preop-lung-visual>span{z-index:2;width:66px;height:66px;display:grid;place-items:center}.preop-lung-visual .app-icon{width:62px;height:62px}.preop-lung-visual>i{position:absolute;inset:10px;border:2px solid #9dd3ca;border-radius:50%;animation:preop-lung-wave 3s ease-out infinite}.preop-lung-visual>i:nth-of-type(2){animation-delay:1s}.preop-lung-visual>i:nth-of-type(3){animation-delay:2s}.preop-alba-message{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:14px 17px;border:1px solid #d6e5e2;border-radius:18px;background:#fff}.preop-alba-message img{width:62px;height:62px;border-radius:50%;object-fit:cover}.preop-alba-message p{margin:0}.preop-guided-card,.preop-deep-card,.preop-cough-card,.preop-progress-card,.preop-calm-card,.preop-daily-card{padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(22,75,78,.055)}.preop-guided-card>header,.preop-deep-card>header{text-align:center}.preop-guided-card>header>p:not(.eyebrow){max-width:580px;margin:0 auto;color:var(--muted)}.preop-breathing-stage{display:grid;justify-items:center;gap:8px;margin:28px auto}.preop-breathing-circle{width:190px;height:190px;display:grid;place-items:center;border:6px solid #b9e1da;border-radius:50%;background:radial-gradient(circle,#fff 0,#dff3ef 100%);color:var(--teal);box-shadow:0 12px 34px rgba(23,107,112,.15);transform:scale(1);transition-property:transform,background-color;transition-timing-function:linear}.preop-breathing-circle[data-phase="inhale"]{transform:scale(1.25);transition-duration:4s}.preop-breathing-circle[data-phase="hold"]{transform:scale(1.25);transition-duration:.2s}.preop-breathing-circle[data-phase="exhale"]{transform:scale(1);transition-duration:6s}.preop-breathing-circle[data-phase="complete"]{border-color:#83c8ab;background:var(--green-soft);color:var(--green)}.preop-breathing-circle span{padding:14px;font-size:1.28rem;font-weight:850;text-align:center}.preop-breathing-stage>strong{margin-top:22px;color:var(--teal-dark);font-size:1.18rem}.preop-breathing-stage>small{color:var(--muted);font-size:1rem;font-variant-numeric:tabular-nums}.preop-breathing-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.preop-breathing-controls .button{min-height:56px}.preop-breathing-result{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:12px;margin-top:18px;padding:16px;border:1px solid #b9ddc9;border-radius:17px;background:var(--green-soft)}.preop-breathing-result>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:1.5rem}.preop-breathing-result strong{color:var(--green);font-size:1.18rem}.preop-breathing-result p{margin:3px 0 0}.preop-deep-steps{display:grid;gap:9px;margin:20px 0;padding:0;list-style:none;counter-reset:none}.preop-deep-steps li{display:grid;grid-template-columns:34px 46px minmax(0,1fr);align-items:center;gap:11px;min-height:62px;padding:8px 12px;border-radius:15px;background:#f5f9f8}.preop-deep-steps li>span:first-child{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-weight:800}.preop-feature-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--teal-soft);color:var(--teal)}.preop-feature-icon .app-icon{width:24px;height:24px}.preop-ten-breaths{display:grid;justify-items:center;gap:14px;margin-top:20px;padding:18px;border-radius:18px;background:#f8fbfa}.preop-deep-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.preop-deep-dots span{width:20px;height:20px;border:2px solid #7aa7a2;border-radius:50%;background:#fff;transition:background .2s,transform .2s}.preop-deep-dots span.is-complete{background:var(--teal);transform:scale(1.08)}.preop-ten-breaths .button{min-width:min(100%,330px);min-height:56px}.preop-ten-breaths p{min-height:25px;margin:0;color:var(--muted);text-align:center}.preop-cough-card{display:grid;gap:18px;background:linear-gradient(145deg,#fff,#f5faf8)}.preop-cough-card>div:first-child>p:not(.eyebrow){margin:0;color:var(--muted)}.preop-cough-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.preop-cough-steps>div{display:grid;justify-items:center;align-content:start;gap:9px;min-height:132px;padding:13px 9px;border:1px solid #dce8e6;border-radius:15px;background:#fff;text-align:center}.preop-cough-steps span:last-child{font-size:.9rem;line-height:1.4}.preop-cough-card>strong{padding:13px 15px;border-radius:14px;background:var(--teal-soft);color:var(--teal-dark);line-height:1.5}.preop-daily-card,.preop-progress-card,.preop-calm-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:15px}.preop-daily-card>.preop-feature-icon,.preop-progress-card>.preop-feature-icon,.preop-calm-card>.preop-feature-icon{width:56px;height:56px}.preop-daily-card h2{margin-bottom:0;font-size:1.25rem}.preop-motivation-card{border-color:#cde3d7;background:#f5faf6}.preop-progress-card>div:last-child{grid-column:1/-1}.preop-weekly-progress{display:grid;gap:10px}.preop-weekly-progress>div:first-child{display:flex;justify-content:space-between;gap:12px}.preop-weekly-progress>div:first-child span{color:var(--muted);font-size:.86rem}.preop-progress-track{height:13px;overflow:hidden;border-radius:999px;background:#dbe6e4}.preop-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#73bca4,var(--teal));transition:width .35s}.preop-weekly-progress>p{display:flex;flex-wrap:wrap;gap:7px;margin:0;color:var(--muted);font-size:.88rem}.preop-weekly-progress>p span{padding:5px 8px;border-radius:999px;background:var(--green-soft);color:var(--green)}.preop-calm-card p{margin:0 0 14px;color:var(--muted)}.preop-calm-card .button{min-height:52px}.preop-breathing-disclaimer{margin:0;padding:15px 17px;border-radius:15px;background:#f2f5f4;color:var(--muted);font-size:.88rem}.preop-breathing-result[hidden]{display:none}
.preop-guided-card h2,.preop-deep-card h2,.preop-cough-card h2{display:flex;align-items:center;justify-content:center;gap:9px}.preop-title-icon{width:28px;height:28px;display:inline-grid;flex:0 0 28px;place-items:center;color:var(--teal)}.preop-title-icon .app-icon{width:24px;height:24px}
@keyframes preop-lung-wave{0%{opacity:.6;transform:scale(.7)}80%,100%{opacity:0;transform:scale(1.15)}}
@media(max-width:680px){.preop-breathing-panel{padding:18px 14px calc(44px + env(safe-area-inset-bottom))}.preop-breathing-hero{grid-template-columns:1fr;padding:19px;text-align:center}.preop-lung-visual{width:120px;height:120px}.preop-breathing-controls{grid-template-columns:1fr 1fr}.preop-breathing-controls .button:first-child{grid-column:1/-1}.preop-cough-steps{grid-template-columns:1fr 1fr}.preop-weekly-progress>div:first-child{align-items:flex-start;flex-direction:column}.preop-guided-card,.preop-deep-card,.preop-cough-card,.preop-progress-card,.preop-calm-card,.preop-daily-card{padding:18px 15px}.preop-breathing-circle{width:158px;height:158px}.preop-deep-steps li{grid-template-columns:32px 42px minmax(0,1fr);padding-inline:8px}.preop-daily-card,.preop-progress-card,.preop-calm-card{grid-template-columns:50px minmax(0,1fr)}.preop-daily-card>.preop-feature-icon,.preop-progress-card>.preop-feature-icon,.preop-calm-card>.preop-feature-icon{width:48px;height:48px}}
@media(max-width:390px){.preop-alba-message{grid-template-columns:52px minmax(0,1fr);padding:12px}.preop-alba-message img{width:50px;height:50px}.preop-cough-steps{grid-template-columns:1fr}.preop-cough-steps>div{min-height:0;grid-template-columns:44px minmax(0,1fr);align-items:center;justify-items:start;text-align:left}.preop-breathing-controls{grid-template-columns:1fr}.preop-breathing-controls .button:first-child{grid-column:auto}.preop-deep-steps li{grid-template-columns:30px minmax(0,1fr)}.preop-deep-steps .preop-feature-icon{display:none}.preop-daily-card,.preop-progress-card,.preop-calm-card{grid-template-columns:1fr}.preop-daily-card>.preop-feature-icon,.preop-progress-card>.preop-feature-icon,.preop-calm-card>.preop-feature-icon{margin:auto}.preop-daily-card>div,.preop-progress-card>div:not(.preop-feature-icon),.preop-calm-card>div{text-align:center}}
@media(prefers-reduced-motion:reduce){.preop-lung-visual>i{animation:none;opacity:.22}.preop-breathing-circle,.preop-deep-dots span,.preop-progress-track span{transition:none}.preop-breathing-module *{scroll-behavior:auto!important}}

/* Menú progresivo del entrenamiento: una sola actividad visible cada vez. */
.preop-training-menu{display:grid;gap:28px}.preop-menu-title{margin:4px 0 18px!important;font-size:clamp(1.7rem,5vw,2.1rem)!important}.preop-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.preop-menu-card{width:100%;min-height:112px;display:grid;grid-template-columns:56px minmax(0,1fr) 25px;align-items:center;gap:15px;padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);font:inherit;text-align:left;box-shadow:0 8px 24px rgba(22,75,78,.055);transition:border-color .18s,box-shadow .18s,transform .18s}.preop-menu-card:hover,.preop-menu-card:focus-visible{border-color:#76b7af;box-shadow:0 11px 27px rgba(22,75,78,.1);transform:translateY(-1px)}.preop-menu-card>.preop-feature-icon{width:56px;height:56px;border-radius:16px}.preop-menu-card>.preop-feature-icon .app-icon{width:29px;height:29px}.preop-menu-card>span:nth-child(2){display:grid;gap:5px}.preop-menu-card strong{color:var(--teal-dark);font-size:1.08rem;line-height:1.3}.preop-menu-card small{color:var(--muted);font-size:.88rem;line-height:1.4}.preop-menu-card>.app-icon{width:23px;height:23px;color:var(--teal)}.preop-compact-progress{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:5px}.preop-compact-progress>span{display:flex!important;gap:5px}.preop-compact-progress i{width:10px;height:10px;border:1.5px solid #78918f;border-radius:50%;background:#fff}.preop-compact-progress i.is-complete{border-color:var(--teal);background:var(--teal)}.preop-compact-progress>strong{color:var(--muted);font-size:.76rem;font-weight:700}.preop-activity-view{display:grid;gap:18px}.preop-menu-back{width:max-content;min-height:48px}.preop-progress-detail{display:grid;gap:18px}.preop-tip-detail{min-height:170px;align-items:center}.preop-cough-complete{width:min(100%,360px);min-height:56px;justify-self:center}.preop-training-success{min-height:430px;display:grid;justify-items:center;align-content:center;gap:10px;padding:34px 22px;border:1px solid #c6e2d3;border-radius:24px;background:linear-gradient(145deg,#fff,#f1faf5);text-align:center}.preop-training-success>span{width:76px;height:76px;display:grid;place-items:center;margin-bottom:7px;border-radius:50%;background:var(--green);color:#fff;font-size:2.25rem;box-shadow:0 10px 24px rgba(39,107,76,.18)}.preop-training-success h2{margin:0!important;color:var(--green);font-size:clamp(1.8rem,6vw,2.35rem)!important}.preop-training-success>p:not(.eyebrow){max-width:520px;margin:4px 0 14px;font-size:1.08rem}.preop-training-success .button{width:min(100%,340px);min-height:56px}
@media(max-width:680px){.preop-training-menu{gap:22px}.preop-menu-grid{grid-template-columns:1fr;gap:11px}.preop-menu-card{min-height:96px;padding:14px}.preop-training-success{min-height:360px;padding:28px 18px}}
@media(max-width:390px){.preop-menu-card{grid-template-columns:50px minmax(0,1fr) 22px;gap:11px}.preop-menu-card>.preop-feature-icon{width:50px;height:50px}.preop-menu-card small{font-size:.84rem}.preop-menu-back{width:100%}}
.preop-compact-progress>small{flex-basis:100%;color:var(--teal);font-size:.74rem;font-weight:800}
@media(prefers-reduced-motion:reduce){.preop-menu-card{transition:none}.preop-menu-card:hover,.preop-menu-card:focus-visible{transform:none}}

/* Explicación del inspirómetro incentivador. */
.preop-spirometer-card{display:grid;gap:20px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(22,75,78,.055)}.preop-spirometer-card>header{text-align:center}.preop-spirometer-card h2{display:flex;align-items:center;justify-content:center;gap:9px}.preop-spirometer-card>header>p:not(.eyebrow){max-width:630px;margin:0 auto;color:var(--muted)}.preop-spirometer-figure{display:grid;justify-items:center;gap:9px;margin:0;padding:18px;border-radius:20px;background:#f4faf8}.preop-spirometer-figure img{width:min(100%,420px);max-height:390px;object-fit:contain;border-radius:16px;background:#fff}.preop-spirometer-figure figcaption{color:var(--muted);font-size:.86rem;text-align:center}.preop-spirometer-steps{display:grid;grid-template-columns:1fr 1fr;gap:11px}.preop-spirometer-steps article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;padding:14px;border:1px solid #dce8e6;border-radius:16px;background:#f9fcfb}.preop-spirometer-steps article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-weight:850}.preop-spirometer-steps strong{display:block;color:var(--teal-dark);line-height:1.4}.preop-spirometer-steps p{margin:4px 0 0;color:var(--muted);font-size:.91rem}.preop-spirometer-note{padding:16px 18px;border-left:5px solid var(--green);border-radius:14px;background:var(--green-soft)}.preop-spirometer-note strong{color:var(--green);font-size:1.08rem}.preop-spirometer-note p{margin:4px 0 0}.preop-spirometer-audio{width:min(100%,380px);min-height:56px;justify-self:center}.preop-spirometer-safety{margin:0;padding:14px 16px;border-radius:14px;background:#f2f5f4;color:var(--muted);font-size:.9rem}
@media(max-width:680px){.preop-spirometer-card{padding:18px 15px}.preop-spirometer-steps{grid-template-columns:1fr}.preop-spirometer-figure{padding:12px}.preop-spirometer-figure img{max-height:330px}}

/* Tu reto de hoy: bienvenida diaria, tarjeta persistente y animaciones reutilizables. */
.daily-challenge-loading{width:min(100%,700px);min-height:65vh;display:grid;place-items:center;margin:auto}.daily-challenge-screen{width:min(100%,700px);min-height:76vh;display:grid;justify-items:center;align-content:center;gap:15px;margin:auto;padding:30px clamp(18px,5vw,42px);border:1px solid #c8e2dd;border-radius:30px;background:linear-gradient(155deg,#fff 0,#f2faf7 58%,#fbf8f1 100%);text-align:center;box-shadow:var(--shadow)}.daily-challenge-screen>header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.daily-challenge-screen>header img{width:118px;height:auto}.daily-challenge-screen>header span{padding:7px 11px;border-radius:999px;background:var(--teal-soft);color:var(--teal-dark);font-size:.84rem;font-weight:750}.daily-challenge-screen h1{max-width:600px;margin:0;color:var(--teal-dark);font-size:clamp(2rem,7vw,3.15rem);line-height:1.08}.daily-challenge-description{max-width:570px;margin:0;font-size:clamp(1.08rem,3vw,1.3rem);line-height:1.55}.daily-challenge-time{padding:7px 12px;border-radius:999px;background:#fff;color:var(--muted);font-size:.88rem;font-weight:700}.daily-challenge-motivation{max-width:580px;margin:0;padding:14px 17px;border-radius:16px;background:#fff;color:var(--teal-dark);font-weight:650;line-height:1.5}.daily-challenge-screen-actions{width:min(100%,390px);display:grid;gap:9px}.daily-challenge-screen-actions .button{width:100%;min-height:58px;font-size:1.06rem}.daily-challenge-safety{max-width:560px;margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.daily-challenge-screen.is-safety{border-color:#e6c78f;background:linear-gradient(155deg,#fff,#fff8e9)}
.daily-challenge-card{display:grid;gap:16px;padding:clamp(20px,4vw,28px);border:1px solid #bfded8;border-radius:24px;background:linear-gradient(145deg,#fff,#f3faf8);box-shadow:0 10px 28px rgba(22,75,78,.08)}.daily-challenge-card.is-complete{border-color:#b8d9c4;background:linear-gradient(145deg,#fff,var(--green-soft))}.daily-challenge-card.is-safety{border-color:#e0bd77;background:#fff9ec}.daily-challenge-card-heading{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:16px}.daily-challenge-card-heading h2{margin:2px 0 5px;color:var(--teal-dark);font-size:clamp(1.45rem,4vw,1.9rem);line-height:1.18}.daily-challenge-card-heading>div>span{color:var(--muted);font-size:.84rem;font-weight:700}.daily-challenge-card>p{margin:0;font-size:1.04rem;line-height:1.5}.daily-challenge-card-message{padding:13px 15px;border-radius:15px;background:#fff;color:var(--teal-dark);font-weight:650}.daily-challenge-support{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px;border-radius:16px;background:var(--teal-soft)}.daily-challenge-support img{width:46px;height:46px;object-fit:cover;border-radius:50%}.daily-challenge-support span{font-size:.92rem;line-height:1.45}.daily-challenge-card-actions{display:grid;grid-template-columns:1.2fr 1fr auto;gap:9px}.daily-challenge-card-actions .button{min-height:50px}.daily-challenge-card.is-complete .daily-challenge-card-actions{grid-template-columns:1fr}
.daily-challenge-animation{position:relative;width:230px;height:175px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:28px;background:linear-gradient(145deg,#eaf7f4,#fff);color:var(--teal)}.daily-challenge-animation.is-compact{width:78px;height:78px;border-radius:20px}.daily-animation-breathing>i{width:102px;height:102px;border:4px solid #8dcfc3;border-radius:50%;background:rgba(255,255,255,.8);animation:daily-breathe 8s ease-in-out infinite}.daily-animation-breathing>span{position:absolute;font-weight:800;line-height:1.2}.daily-animation-breathing small{color:var(--muted);font-size:.7rem}.daily-animation-breathing.is-compact>i{width:48px;height:48px;border-width:3px}.daily-animation-breathing.is-compact>span{font-size:0}.daily-animation-walking{gap:15px}.daily-animation-walking>span{width:18px;height:27px;border-radius:60% 45% 55% 40%;background:var(--teal);opacity:.25;transform:rotate(-25deg);animation:daily-step 4s ease-in-out infinite}.daily-animation-walking>span:nth-child(2){animation-delay:.7s;transform:translateY(-18px) rotate(25deg)}.daily-animation-walking>span:nth-child(3){animation-delay:1.4s}.daily-animation-walking>span:nth-child(4){animation-delay:2.1s;transform:translateY(-18px) rotate(25deg)}.daily-animation-walking.is-compact{gap:5px}.daily-animation-walking.is-compact>span{width:9px;height:14px}.daily-animation-mobility .daily-person{width:58px;height:58px;display:grid;place-items:center;border:4px solid var(--teal);border-radius:50%;font-size:0}.daily-animation-mobility>i{position:absolute;top:88px;width:70px;height:5px;border-radius:5px;background:var(--teal);transform-origin:center;animation:daily-arms 5s ease-in-out infinite}.daily-animation-mobility>i:nth-of-type(2){transform:rotate(90deg)}.daily-animation-mobility.is-compact .daily-person{width:30px;height:30px;border-width:3px}.daily-animation-mobility.is-compact>i{top:45px;width:36px;height:3px}.daily-animation-calm{flex-direction:column;gap:11px}.daily-animation-calm>i{width:150px;height:16px;border:3px solid #82bdb6;border-width:0 0 3px;border-radius:50%;animation:daily-calm-wave 6s ease-in-out infinite}.daily-animation-calm>i:nth-child(2){width:115px;animation-delay:1s}.daily-animation-calm>i:nth-child(3){width:80px;animation-delay:2s}.daily-animation-calm.is-compact{gap:5px}.daily-animation-calm.is-compact>i{width:52px;height:7px;border-width:0 0 2px}.daily-animation-calm.is-compact>i:nth-child(2){width:38px}.daily-animation-calm.is-compact>i:nth-child(3){width:25px}.daily-animation-checklist{flex-direction:column;gap:9px}.daily-animation-checklist>span{width:145px;display:flex;align-items:center;gap:10px;padding:7px 14px;border-radius:9px;background:#fff;color:var(--green);font-weight:900;animation:daily-check 5s ease-in-out infinite}.daily-animation-checklist>span::after{content:"";width:82px;border-top:3px solid #c9d9d6}.daily-animation-checklist>span:nth-child(2){animation-delay:1s}.daily-animation-checklist>span:nth-child(3){animation-delay:2s}.daily-animation-checklist.is-compact{gap:4px}.daily-animation-checklist.is-compact>span{width:52px;padding:3px 6px;font-size:.7rem}.daily-animation-checklist.is-compact>span::after{width:25px;border-width:2px}.daily-animation-rest>span{font-size:5rem;animation:daily-rest 7s ease-in-out infinite}.daily-animation-rest>i{position:absolute;bottom:38px;width:140px;border-top:3px solid #8bc4bc;border-radius:50%;animation:daily-calm-wave 7s ease-in-out infinite}.daily-animation-rest.is-compact>span{font-size:2.5rem}.daily-animation-rest.is-compact>i{bottom:17px;width:50px;border-width:2px}.daily-animation-spirometer{align-items:flex-end;gap:10px;padding-bottom:27px}.daily-animation-spirometer>i{position:relative;width:43px;height:115px;border:3px solid #8ec9c1;border-radius:14px;background:rgba(255,255,255,.8)}.daily-animation-spirometer>i>span{position:absolute;left:50%;bottom:8px;width:26px;height:26px;border-radius:50%;background:#55a8b6;transform:translateX(-50%);animation:daily-ball 5s ease-in-out infinite}.daily-animation-spirometer>i:nth-child(2)>span{animation-delay:.6s}.daily-animation-spirometer>i:nth-child(3)>span{animation-delay:1.2s}.daily-animation-spirometer.is-compact{gap:4px;padding-bottom:10px}.daily-animation-spirometer.is-compact>i{width:15px;height:45px;border-width:2px;border-radius:6px}.daily-animation-spirometer.is-compact>i>span{width:9px;height:9px}.daily-animation-progress{align-items:flex-end;gap:12px;padding-bottom:35px}.daily-animation-progress>span{width:34px;height:45px;border-radius:10px 10px 4px 4px;background:#9dd1c8;animation:daily-progress 5s ease-in-out infinite}.daily-animation-progress>span:nth-child(2){height:75px;animation-delay:.7s}.daily-animation-progress>span:nth-child(3){height:105px;animation-delay:1.4s}.daily-animation-progress.is-compact{gap:5px;padding-bottom:12px}.daily-animation-progress.is-compact>span{width:11px;height:18px}.daily-animation-progress.is-compact>span:nth-child(2){height:29px}.daily-animation-progress.is-compact>span:nth-child(3){height:40px}
.daily-challenge-completion{width:min(100%,650px);min-height:70vh;display:grid;justify-items:center;align-content:center;gap:11px;margin:auto;padding:32px;border:1px solid #c0dec9;border-radius:30px;background:linear-gradient(145deg,#fff,#eff9f3);text-align:center}.daily-completion-check{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:2.7rem;box-shadow:0 12px 28px rgba(39,107,76,.2);animation:daily-complete .65s ease-out both}.daily-challenge-completion h1{margin:0;color:var(--green);font-size:clamp(2rem,7vw,3rem)}.daily-challenge-completion>p:not(.eyebrow){max-width:500px;margin:0 0 12px;font-size:1.12rem;line-height:1.55}.daily-challenge-completion .button{width:min(100%,360px);min-height:58px}
@keyframes daily-breathe{0%,100%{transform:scale(.72);opacity:.7}48%{transform:scale(1.08);opacity:1}}@keyframes daily-step{0%,100%{opacity:.22}45%,65%{opacity:1;transform:translateY(-7px) rotate(-25deg)}}@keyframes daily-arms{0%,100%{transform:rotate(0)}50%{transform:rotate(-42deg)}}@keyframes daily-calm-wave{0%,100%{transform:scaleX(.72);opacity:.5}50%{transform:scaleX(1);opacity:1}}@keyframes daily-check{0%,20%{opacity:.35;transform:translateX(-6px)}45%,100%{opacity:1;transform:none}}@keyframes daily-rest{0%,100%{transform:translateY(3px);opacity:.72}50%{transform:translateY(-5px);opacity:1}}@keyframes daily-ball{0%,100%{bottom:8px}50%{bottom:78px}}@keyframes daily-progress{0%,100%{opacity:.55;transform:scaleY(.75);transform-origin:bottom}50%{opacity:1;transform:scaleY(1)}}@keyframes daily-complete{0%{opacity:0;transform:scale(.75)}75%{transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
.daily-challenge-paused .daily-challenge-animation *{animation-play-state:paused!important}
@media(max-width:600px){.daily-challenge-screen{min-height:calc(100dvh - 70px);padding:22px 16px;border-radius:24px}.daily-challenge-screen>header img{width:102px}.daily-challenge-animation:not(.is-compact){width:190px;height:145px}.daily-challenge-card{padding:18px 16px}.daily-challenge-card-heading{grid-template-columns:70px minmax(0,1fr);gap:12px}.daily-challenge-animation.is-compact{width:68px;height:68px}.daily-challenge-card-actions{grid-template-columns:1fr}.daily-challenge-card-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.daily-challenge-animation *,.daily-completion-check{animation:none!important;transition:none!important}.daily-animation-breathing>i{transform:scale(.9)}.daily-animation-walking>span,.daily-animation-checklist>span{opacity:1}.daily-animation-spirometer>i>span{bottom:45%}}

/* Información visual de Posoperatorio: drenaje y recuperación activa. */
.hospital-recovery-panel{width:min(100%,900px);margin-inline:auto;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.hospital-recovery-content{display:grid;gap:24px;margin-top:22px}.hospital-recovery-content h2{margin:0 0 9px;color:var(--teal-dark);font-size:clamp(1.3rem,4vw,1.7rem);line-height:1.25}.hospital-recovery-content h3{margin:0;color:var(--teal-dark);font-size:1.08rem}.hospital-recovery-content p{margin:0;line-height:1.58}.hospital-visual-card,.hospital-info-section{padding:clamp(19px,4vw,26px);border:1px solid #c9dfdb;border-radius:23px;background:#fff}.drain-introduction{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(340px,1.1fr);align-items:center;gap:24px;padding:clamp(20px,4vw,30px);border:1px solid #b8ddd7;border-radius:26px;background:linear-gradient(145deg,#f9fefc,#e8f6f2)}.drain-introduction>div>p:not(.eyebrow){font-size:1.06rem}.drain-hero-illustration{width:100%;max-height:330px}.drain-location-card{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:22px;background:#f8fcfb}.drain-location-card small{display:block;margin-top:13px;padding:9px 11px;border-radius:11px;background:var(--teal-soft);color:var(--teal-dark);font-weight:700;line-height:1.4}.drain-location-illustration{width:100%;max-height:190px}.drain-purpose-grid,.drain-criteria-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.drain-purpose-grid article{display:grid;align-content:start;gap:8px;min-height:190px;padding:18px;border-radius:18px;background:#f2f9f7}.drain-purpose-grid article>span,.drain-criteria-grid article>span,.hospital-icon-list li>span,.drain-closing-card>span,.active-recovery-intro>span{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--teal-soft);color:var(--teal)}.drain-purpose-grid .app-icon,.drain-criteria-grid .app-icon,.hospital-icon-list .app-icon,.drain-closing-card>.app-icon,.active-recovery-intro>.app-icon{width:28px;height:28px}.drain-purpose-grid p{color:var(--muted);font-size:.94rem}.pleurevac-section{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr);align-items:center;gap:25px;background:linear-gradient(145deg,#fff,#f1f9f7)}.pleurevac-section>div:first-child p{color:var(--muted)}.pleurevac-visual{display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,.9fr);align-items:center;gap:14px}.pleurevac-visual svg{width:100%;max-height:300px}.drain-callouts{display:grid;gap:10px;margin:0;padding:0;list-style:none}.drain-callouts li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:11px;border-radius:13px;background:#fff;line-height:1.4}.drain-callouts span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-weight:850}.drain-care-card{background:#f8fcfb}.hospital-icon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0;padding:0;list-style:none}.hospital-icon-list li{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border-radius:15px;background:#fff}.hospital-icon-list li>span{width:46px;height:46px}.hospital-icon-list p{font-size:.94rem}.hospital-reassurance,.team-decision-note{margin-top:15px!important;padding:14px 16px;border-left:5px solid var(--green);border-radius:13px;background:var(--green-soft);color:#235a43;font-weight:700}.removal-section>p{color:var(--muted)}.drain-criteria-grid article{display:grid;justify-items:center;align-content:start;gap:11px;min-height:135px;padding:17px;border:1px solid #d8e8e5;border-radius:17px;background:#f9fcfb;text-align:center;animation:hospital-reveal .55s ease both}.drain-criteria-grid article:nth-child(2){animation-delay:.12s}.drain-criteria-grid article:nth-child(3){animation-delay:.24s}.drain-criteria-grid strong{line-height:1.4}.drain-closing-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:15px;padding:21px;border:1px solid #b4daca;border-radius:21px;background:linear-gradient(145deg,#f8fdf9,var(--green-soft))}.drain-closing-card>span{width:56px;height:56px;background:#fff;color:var(--green)}.drain-closing-card .button{min-height:52px;margin-top:15px}.hospital-listen{width:min(100%,390px);min-height:54px;justify-self:center}.hospital-lung{transform-box:fill-box;transform-origin:center;animation:hospital-breathe 5.5s ease-in-out infinite}.hospital-lung:nth-of-type(2){animation-delay:.2s}.hospital-tube-flow{animation:hospital-flow 2.8s linear infinite}.active-recovery-content{gap:20px}.active-recovery-intro{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:15px;padding:20px;border:1px solid #b9ddd7;border-radius:21px;background:linear-gradient(145deg,#f8fdfb,#e9f7f3)}.active-recovery-intro>span{width:58px;height:58px;background:#fff}.active-recovery-intro p{color:var(--muted)}.active-recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.active-recovery-card{display:grid;align-content:start;gap:11px;min-height:285px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(22,75,78,.055)}.active-recovery-card h2{margin:0}.active-recovery-card>p{color:var(--muted)}.active-recovery-card>strong{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;margin-top:auto;padding:12px;border-radius:13px;background:#f3f8f7;line-height:1.45}.active-recovery-card>strong>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.active-recovery-card .button{width:100%;min-height:50px}.active-recovery-visual{width:76px;height:76px;display:grid;place-items:center;border-radius:22px;background:var(--teal-soft);color:var(--teal)}.active-recovery-visual .app-icon{width:42px;height:42px}.active-recovery-card.is-walk .active-recovery-visual{animation:hospital-gentle-step 4s ease-in-out infinite}.active-recovery-card.is-lungs .active-recovery-visual{animation:hospital-breathe 5.5s ease-in-out infinite}.active-recovery-note{padding:16px 18px;border-radius:15px;background:var(--orange-soft);color:#624815;font-weight:650}
@keyframes hospital-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}@keyframes hospital-flow{to{stroke-dashoffset:-42}}@keyframes hospital-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes hospital-gentle-step{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media(max-width:760px){.hospital-recovery-panel{padding:18px 14px calc(118px + env(safe-area-inset-bottom))}.drain-introduction,.drain-location-card,.pleurevac-section{grid-template-columns:1fr}.drain-hero-illustration{max-height:280px}.drain-location-illustration{max-width:280px;margin:auto}.pleurevac-visual{grid-template-columns:1fr}.pleurevac-visual svg{max-height:260px}.drain-purpose-grid,.drain-criteria-grid{grid-template-columns:1fr}.drain-purpose-grid article{min-height:0}.hospital-icon-list{grid-template-columns:1fr}.active-recovery-grid{grid-template-columns:1fr}.active-recovery-card{min-height:0}.drain-closing-card{grid-template-columns:50px minmax(0,1fr)}.drain-closing-card>span{width:48px;height:48px}}
@media(max-width:390px){.drain-introduction,.hospital-visual-card,.hospital-info-section{padding:17px 14px}.active-recovery-intro{grid-template-columns:1fr;text-align:center}.active-recovery-intro>span{margin:auto}.drain-closing-card{grid-template-columns:1fr}.drain-closing-card>span{margin:auto}.drain-closing-card>div{text-align:center}.hospital-icon-list li{grid-template-columns:42px minmax(0,1fr);padding:11px}.hospital-icon-list li>span{width:40px;height:40px}.active-recovery-card{padding:18px 15px}}
@media(prefers-reduced-motion:reduce){.hospital-lung,.hospital-tube-flow,.drain-criteria-grid article,.active-recovery-visual{animation:none!important;transition:none!important}}

/* Movilidad de hombro y brazo · Posoperatorio y Casa */
.arm-mobility-panel{width:min(100%,880px);margin-inline:auto;padding-bottom:calc(124px + env(safe-area-inset-bottom))}.arm-mobility-module{display:grid;gap:22px;color:var(--text)}.arm-mobility-module h1{margin:2px 0 0;color:var(--teal-dark);font-size:clamp(1.75rem,5vw,2.55rem);line-height:1.12}.arm-mobility-module h2{margin:0;color:var(--teal-dark);font-size:clamp(1.25rem,4vw,1.65rem);line-height:1.25}.arm-module-header{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:14px}.arm-back-button{width:50px;height:50px;border:1px solid #b9d8d4;border-radius:50%;background:#fff;color:var(--teal-dark);font:800 1.55rem/1 inherit;cursor:pointer}.arm-back-button:focus-visible,.arm-outcome button:focus-visible,.arm-exercise-list-card:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}.arm-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);align-items:center;gap:24px;padding:clamp(19px,4vw,28px);border:1px solid #b9ddd7;border-radius:25px;background:linear-gradient(145deg,#fff,#eaf7f3)}.arm-intro-grid>div>p{margin:0;font-size:1.05rem;line-height:1.6}.arm-intro-image{width:100%;max-height:335px;object-fit:contain;border-radius:20px;background:#fff}.arm-alba-message{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:13px;margin-top:18px;padding:14px;border:1px solid #d3e5e2;border-radius:17px;background:#fff}.arm-alba-message img{width:64px;height:64px;border-radius:50%;object-fit:cover}.arm-alba-message p{margin:0;font-weight:650;line-height:1.5}.arm-context-note,.arm-drain-note,.arm-before-card,.arm-safety-card{padding:20px;border-radius:20px}.arm-context-note{border-left:6px solid var(--green);background:var(--green-soft)}.arm-context-note.is-hospital{border-left-color:var(--teal);background:var(--teal-soft)}.arm-context-note strong,.arm-drain-note strong{display:block;margin-bottom:5px;color:var(--teal-dark);font-size:1.12rem}.arm-context-note p,.arm-drain-note p{margin:0;line-height:1.55}.arm-drain-note{border:1px solid #e6c781;background:#fff8e8}.arm-before-card{border:1px solid #c8dedb;background:#fff}.arm-before-card ul,.arm-safety-card ul{display:grid;gap:10px;margin:15px 0 0;padding:0;list-style:none}.arm-before-card li,.arm-safety-card li{position:relative;padding-left:30px;line-height:1.48}.arm-before-card li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.78rem;font-weight:850}.arm-safety-card{border:2px solid #e0b85f;background:#fffaf0}.arm-safety-card>p{line-height:1.55}.arm-safety-card li::before{content:"!";position:absolute;left:0;top:1px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#aa6a16;color:#fff;font-weight:850}.arm-safety-card .button{width:100%;margin-top:18px}.arm-intro-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:11px}.arm-intro-actions .button{min-height:56px}.arm-intro-actions .button:last-child{grid-column:1/-1}.arm-routine-overview{border:1px solid var(--line);border-radius:18px;background:#fff}.arm-routine-overview summary{min-height:56px;padding:16px 18px;color:var(--teal-dark);font-weight:800;cursor:pointer}.arm-routine-overview>div{display:grid;gap:8px;padding:0 12px 12px}.arm-exercise-list-card{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:11px;width:100%;min-height:62px;padding:9px 12px;border:0;border-radius:14px;background:#f4f8f7;color:var(--text);text-align:left;cursor:pointer}.arm-exercise-list-card>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-weight:850}.arm-exercise-list-card.is-complete>span:first-child{background:var(--green);color:#fff}.arm-exercise-list-card strong,.arm-exercise-list-card small{display:block}.arm-exercise-list-card small{margin-top:3px;color:var(--muted)}.arm-exercise-list-card>span:last-child{font-size:1.7rem}.arm-progress{display:grid;gap:8px}.arm-progress>div:first-child{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.9rem;font-weight:750}.arm-progress-track{height:11px;overflow:hidden;border-radius:999px;background:#dbe7e5}.arm-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#63b39c,var(--teal));transition:width .3s ease}.arm-exercise-figure{margin:0;padding:16px;border:1px solid #c9dfdb;border-radius:24px;background:#fff;text-align:center}.arm-exercise-figure img{display:block;width:100%;height:min(52vh,480px);object-fit:contain}.arm-exercise-figure.is-left img{transform:scaleX(-1)}.arm-exercise-figure figcaption{margin-top:10px;color:var(--muted);font-size:.86rem;line-height:1.4}.arm-instructions{padding:21px;border:1px solid var(--line);border-radius:21px;background:#fff}.arm-instructions ol{display:grid;gap:10px;margin:17px 0 0;padding:0;list-style:none}.arm-instructions li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px}.arm-instructions li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-weight:850}.arm-instructions li p{margin:4px 0 0;line-height:1.5}.arm-repetitions{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:16px 18px;border-radius:17px;background:var(--teal-soft)}.arm-repetitions>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--teal);font-size:1.5rem}.arm-repetitions small,.arm-repetitions strong{display:block}.arm-repetitions small{color:var(--muted)}.arm-repetitions strong{margin-top:3px;color:var(--teal-dark);font-size:1.08rem}.arm-reassurance{margin:0;padding:16px 18px;border-left:5px solid var(--green);border-radius:14px;background:var(--green-soft);font-weight:700;line-height:1.5}.arm-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.arm-detail-actions .button{min-height:56px}.arm-detail-actions .button:last-child{grid-column:1/-1}.arm-previous-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.arm-previous-row .button{min-height:48px}.arm-completion{justify-items:center;max-width:720px;margin:auto;text-align:center}.arm-success-mark{width:86px;height:86px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:2.8rem;box-shadow:0 12px 30px rgba(51,133,93,.2)}.arm-completion .arm-alba-message{text-align:left}.arm-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.arm-summary>div{display:grid;align-content:center;min-height:112px;padding:17px;border:1px solid #c8deda;border-radius:18px;background:#fff}.arm-summary strong{color:var(--teal-dark);font-size:1.28rem}.arm-summary span{margin-top:5px;color:var(--muted)}.arm-frequency{margin:0;padding:15px 18px;border-radius:15px;background:var(--teal-soft);line-height:1.5}.arm-outcome{display:grid;gap:9px;width:100%;margin:0;padding:19px;border:1px solid var(--line);border-radius:20px;background:#fff}.arm-outcome legend{padding:0 8px;color:var(--teal-dark);font-size:1.15rem;font-weight:850}.arm-outcome button{min-height:52px;padding:10px 14px;border:1px solid #a9cbc6;border-radius:13px;background:#fff;color:var(--text);font:700 1rem/1.3 inherit;cursor:pointer}.arm-outcome button.is-selected{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.arm-outcome-message{width:100%}.arm-outcome-message:empty{display:none}.arm-outcome-message p{margin:0;padding:15px;border-left:5px solid #ce8a27;border-radius:13px;background:#fff7e5;line-height:1.5;text-align:left}.arm-completion-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.arm-completion-actions .button{min-height:56px}
@media(max-width:680px){.arm-mobility-panel{padding:17px 14px calc(124px + env(safe-area-inset-bottom))}.arm-intro-grid{grid-template-columns:1fr}.arm-intro-image{max-height:260px;grid-row:1}.arm-intro-actions,.arm-detail-actions,.arm-completion-actions{grid-template-columns:1fr}.arm-intro-actions .button:last-child,.arm-detail-actions .button:last-child{grid-column:auto}.arm-exercise-figure{padding:10px}.arm-exercise-figure img{height:min(48vh,390px)}.arm-summary{grid-template-columns:1fr}.arm-summary>div{min-height:92px}.arm-previous-row{display:grid}.arm-previous-row .button{width:100%}}
@media(max-width:390px){.arm-module-header{grid-template-columns:46px minmax(0,1fr);gap:10px}.arm-back-button{width:44px;height:44px}.arm-intro-grid,.arm-before-card,.arm-safety-card,.arm-instructions{padding:16px 13px}.arm-alba-message{grid-template-columns:54px minmax(0,1fr);padding:11px}.arm-alba-message img{width:52px;height:52px}.arm-exercise-figure img{height:330px}.arm-outcome{padding:15px 11px}}
@media(prefers-reduced-motion:reduce){.arm-progress-track span{transition:none!important}}
.arm-movement-summary{display:grid;grid-template-columns:1fr 1fr;gap:11px}.arm-movement-summary>div{padding:15px;border-radius:16px;background:#f3f8f7}.arm-movement-summary small{display:block;margin-bottom:5px;color:var(--teal);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.arm-movement-summary p{margin:0;line-height:1.48}
@media(max-width:680px){.arm-movement-summary{grid-template-columns:1fr}}
.arm-menu-lead{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.55}.arm-exercise-list{display:grid;gap:14px}.arm-exercise-card{display:grid;grid-template-columns:150px minmax(0,1fr) 28px;align-items:center;gap:16px;width:100%;min-height:160px;padding:10px 14px 10px 10px;border:1px solid #cddfdd;border-radius:21px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}.arm-exercise-card:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}.arm-exercise-card-image{position:relative;display:grid;place-items:center;overflow:hidden;min-height:138px;border-radius:16px;background:#f4f9f7}.arm-exercise-card-image img{display:block;width:100%;height:138px;object-fit:contain}.arm-card-check{position:absolute;top:8px;right:8px;width:34px;height:34px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--green);color:#fff;font-size:1.1rem;font-weight:900;opacity:0;transform:scale(.75);transition:opacity .18s ease,transform .18s ease}.arm-exercise-card.is-complete .arm-card-check{opacity:1;transform:scale(1)}.arm-exercise-card-copy{display:grid;align-content:center;gap:6px}.arm-exercise-card-copy strong{color:var(--teal-dark);font-size:clamp(1.12rem,3.5vw,1.32rem);line-height:1.25}.arm-exercise-card-copy small{color:var(--muted);font-size:.96rem;line-height:1.35}.arm-card-status{width:max-content;padding:5px 9px;border-radius:999px;background:#e8f5ed;color:#276e4c;font-size:.86rem;font-weight:850}.arm-card-arrow{color:var(--teal);font-size:2rem;line-height:1}.arm-daily-summary{display:grid;gap:11px;padding:20px;border-radius:20px;background:var(--teal-soft)}.arm-daily-summary strong{color:var(--teal-dark);font-size:1.15rem;line-height:1.4}.arm-daily-summary p{margin:0;color:#315e57;line-height:1.5}.arm-daily-progress{height:10px;overflow:hidden;border-radius:999px;background:#cadeda}.arm-daily-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .2s ease}.arm-daily-summary.is-complete{background:#eaf6ed}.arm-daily-summary.is-complete .arm-daily-progress span{background:var(--green)}.arm-menu-safety{width:100%;min-height:50px}.arm-detail .arm-exercise-figure{padding:10px;background:#f8fbfa}.arm-detail .arm-exercise-figure img{height:min(50vh,470px);border-radius:17px;background:#fff}.arm-detail .arm-detail-actions{grid-template-columns:1fr}.arm-detail .arm-detail-actions .button{grid-column:auto;width:100%}
@media(max-width:680px){.arm-exercise-card{grid-template-columns:124px minmax(0,1fr) 22px;min-height:142px;gap:12px;padding:9px}.arm-exercise-card-image{min-height:122px}.arm-exercise-card-image img{height:122px}.arm-detail .arm-exercise-figure img{height:auto;max-height:420px}}
@media(max-width:390px){.arm-exercise-card{grid-template-columns:105px minmax(0,1fr) 20px;min-height:126px;gap:10px}.arm-exercise-card-image{min-height:108px}.arm-exercise-card-image img{height:108px}.arm-exercise-card-copy small{font-size:.88rem}.arm-card-check{width:31px;height:31px}.arm-daily-summary{padding:17px 15px}}
@media(prefers-reduced-motion:reduce){.arm-card-check,.arm-daily-progress span{transition:none!important}}

/* Pictogramas principales ALBA+: actividad, respiración, información y bienestar. */
.quick-icon .app-icon{width:37px;height:37px;stroke-width:1.6}

/* Recuperación activa: cabecera compacta y selector de actividades. */
.active-recovery-content{gap:16px;margin-top:16px}.active-recovery-content .active-recovery-intro{position:relative;display:block;min-height:132px;overflow:hidden;padding:20px 118px 20px 20px;border:0;border-radius:20px;background:linear-gradient(145deg,#f8fdfb,#e9f7f3)}.active-recovery-intro>div{position:relative;z-index:1}.active-recovery-intro>div p{max-width:540px;color:var(--text)}.active-recovery-intro>span{position:absolute;z-index:0;right:9px;bottom:-24px;width:132px;height:132px;border:0;background:transparent;color:var(--teal);opacity:.12;transform:rotate(-8deg)}.active-recovery-intro>span .app-icon{width:112px;height:112px}.active-recovery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.active-recovery-card{grid-column:span 2;display:grid;justify-items:center;align-content:center;gap:10px;min-width:0;min-height:128px;padding:14px 8px;border:1px solid #c9dfdb;border-radius:18px;background:#fff;color:var(--teal-dark);font:inherit;text-align:center;box-shadow:none;cursor:pointer}.active-recovery-card:nth-child(4){grid-column:2/span 2}.active-recovery-card:nth-child(5){grid-column:4/span 2}.active-recovery-card:hover,.active-recovery-card.is-selected{border-color:var(--teal);background:var(--teal-soft)}.active-recovery-card:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}.active-recovery-card>strong{display:block;margin:0;padding:0;background:transparent;color:inherit;font-size:.97rem;line-height:1.2}.active-recovery-visual{width:58px;height:58px;border-radius:17px}.active-recovery-visual .app-icon{width:34px;height:34px}.active-recovery-card.is-walk .active-recovery-visual,.active-recovery-card.is-lungs .active-recovery-visual{animation:none}.active-recovery-details:empty{display:none}.active-recovery-detail{display:grid;gap:11px;padding:18px;border:1px solid #c9dfdb;border-radius:18px;background:#fff}.active-recovery-detail[hidden]{display:none}.active-recovery-detail h2{margin:0}.active-recovery-detail>p{color:var(--muted)}.active-recovery-detail>strong{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:9px;padding:11px;border-radius:13px;background:#f3f8f7;line-height:1.45}.active-recovery-detail>strong>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.active-recovery-detail .button{width:100%;min-height:50px}.arm-intro-start{width:100%;min-height:56px;margin-top:18px}.arm-intro-actions{grid-template-columns:1fr 1fr}.arm-intro-actions .button:last-child{grid-column:auto}
@media(max-width:390px){.active-recovery-content .active-recovery-intro{min-height:128px;padding:17px 92px 17px 15px}.active-recovery-intro>span{right:-12px;width:112px;height:112px}.active-recovery-intro>span .app-icon{width:94px;height:94px}.active-recovery-grid{gap:8px}.active-recovery-card{min-height:122px;padding:12px 5px}.active-recovery-visual{width:52px;height:52px}.active-recovery-visual .app-icon{width:31px;height:31px}.active-recovery-card>strong{font-size:.9rem}}
@media(max-width:340px){.active-recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.active-recovery-card,.active-recovery-card:nth-child(4),.active-recovery-card:nth-child(5){grid-column:auto}.active-recovery-card:nth-child(5){grid-column:1/-1;width:calc(50% - 5px);justify-self:center}}

/* Casa · actividad y entrenamiento respiratorio compartido. */
.home-respiratory-menu{gap:14px}.home-respiratory-heading{padding:4px 2px 8px}.home-respiratory-heading h2{margin:3px 0 8px;color:var(--teal-dark);font-size:clamp(1.55rem,5vw,2rem)}.home-respiratory-heading>p:last-child{margin:0;color:var(--muted);font-size:1.03rem;line-height:1.5}.home-spirometer-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:15px;padding:21px;border:1px solid #acd5cf;border-radius:22px;background:linear-gradient(145deg,#fff,#edf8f5)}.home-respiratory-card-copy{display:grid;gap:11px}.home-respiratory-card-copy h2{margin:0;color:var(--teal-dark);font-size:1.28rem}.home-respiratory-card-copy>p{margin:0;color:var(--muted);line-height:1.5}.home-spirometer-count{font-size:1.05rem}.home-spirometer-progress{height:12px;overflow:hidden;border-radius:999px;background:#d8e6e3}.home-spirometer-progress span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .25s ease}.home-spirometer-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:9px}.home-spirometer-actions .button,.home-respiratory-card-copy>.button{min-height:50px}.home-respiratory-option{display:grid;grid-template-columns:54px minmax(0,1fr) 28px;align-items:center;gap:14px;width:100%;min-height:94px;padding:15px;border:1px solid #c7dedb;border-radius:20px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}.home-respiratory-option>span:nth-child(2){display:grid;gap:5px}.home-respiratory-option strong{color:var(--teal-dark);font-size:1.12rem}.home-respiratory-option small{color:var(--muted);font-size:.94rem;line-height:1.4}.home-respiratory-option>.app-icon{width:25px;height:25px;color:var(--teal)}.home-respiratory-option:hover{border-color:var(--teal);background:#f8fcfb}.home-respiratory-option:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}.home-respiratory-secondary{display:grid;gap:10px;margin-top:8px;padding-top:17px;border-top:1px solid var(--line)}.home-respiratory-secondary h2{margin:0;color:var(--teal-dark);font-size:1.12rem}.home-respiratory-detail{display:grid;gap:16px}.home-respiratory-back{justify-self:start}.manual-activity-mode .home-activity-goal,.interpreted-health .home-activity-goal{margin-top:0}.manual-activity-mode .home-info-section,.interpreted-health .home-info-section{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}
@media(max-width:520px){.home-spirometer-card{grid-template-columns:1fr;padding:18px 15px}.home-spirometer-card>.home-card-icon{margin:auto}.home-spirometer-actions{grid-template-columns:1fr}.home-respiratory-option{grid-template-columns:50px minmax(0,1fr) 24px;min-height:88px;padding:13px 11px;gap:10px}.home-respiratory-option strong{font-size:1.04rem}}
@media(prefers-reduced-motion:reduce){.home-spirometer-progress span{transition:none!important}}

/* Ficha profesional: resumen clínico y de adherencia basado en datos registrados. */
.researcher-controls{grid-template-columns:minmax(230px,1fr) repeat(3,minmax(170px,.55fr))}.researcher-stat.red{border-color:#e9b7b7;background:#fff4f3}.researcher-stat.red strong{color:var(--red)}.researcher-patient-card.has-alert{border-color:#dda8a8}.researcher-card-alert{margin:0;padding:9px 11px;border-radius:10px;background:var(--red-soft);color:var(--red);font-weight:800}.researcher-mini-matrix{display:grid;grid-template-columns:76px repeat(3,1fr);align-items:center;gap:5px;padding:11px;border-radius:13px;background:#f7f9f8}.researcher-mini-matrix strong,.researcher-mini-matrix span{font-size:.72rem}.researcher-mini-matrix i{width:28px;height:28px;display:grid;place-items:center;justify-self:center;border-radius:50%;background:#edf2f1;color:var(--muted);font-style:normal;font-weight:900}.researcher-mini-matrix i.is-completed{background:var(--green-soft);color:var(--green)}.researcher-mini-matrix i.is-in_progress{background:var(--orange-soft);color:var(--orange)}.researcher-mini-matrix i.is-out_of_window{background:var(--red-soft);color:var(--red)}.researcher-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.researcher-card-metrics>span{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f6f9f8;color:var(--muted);font-size:.72rem}.researcher-card-metrics strong{color:var(--ink);font-size:.82rem}.researcher-alert-section{margin:20px 0;padding:22px;border:1px solid #e0c4c4;border-radius:20px;background:#fff}.researcher-alert-section.is-pending{border:2px solid #c85f5f;background:#fff5f4;box-shadow:0 10px 28px rgba(157,49,49,.1)}.researcher-alert-section h2{margin:2px 0;color:var(--red)}.researcher-alert-list{display:grid;gap:12px}.researcher-alert-list article{padding:16px;border:1px solid #e4caca;border-radius:15px;background:#fff}.researcher-alert-list article>header{display:flex;justify-content:space-between;gap:12px}.researcher-alert-list header>div{display:grid;gap:5px}.researcher-alert-list header span{width:max-content;padding:3px 7px;border-radius:999px;background:var(--red-soft);color:var(--red);font-size:.72rem;font-weight:800}.researcher-alert-list time{color:var(--muted);font-size:.76rem;white-space:nowrap}.researcher-alert-list article>p{line-height:1.55}.researcher-alert-list dl{display:flex;gap:18px;margin:0}.researcher-alert-list dl>div{display:grid;gap:2px}.researcher-alert-list dt{color:var(--muted);font-size:.72rem}.researcher-alert-list dd{margin:0;font-weight:750}.researcher-alert-actions{display:flex;gap:8px;margin-top:14px}.researcher-status{display:inline-flex;align-items:center;gap:7px;font-weight:800}.researcher-status b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#edf2f1}.researcher-status.is-completed{color:var(--green)}.researcher-status.is-completed b{background:var(--green-soft)}.researcher-status.is-in_progress{color:var(--orange)}.researcher-status.is-in_progress b{background:var(--orange-soft)}.researcher-status.is-out_of_window{color:var(--red)}.researcher-status.is-out_of_window b{background:var(--red-soft)}.researcher-questionnaire-matrix th small,.researcher-questionnaire-matrix td>small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;text-transform:none}.researcher-result-details{margin-top:8px}.researcher-result-details summary{color:var(--teal);font-size:.78rem;font-weight:750;cursor:pointer}.researcher-result-details dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0 0}.researcher-result-details dl>div{display:grid}.researcher-result-details dt{color:var(--muted);font-size:.68rem}.researcher-result-details dd{margin:0;font-size:.78rem}.researcher-access-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.researcher-access-grid article{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#f8faf9}.researcher-access-grid article>b{color:var(--teal);font-size:1.25rem}.researcher-access-grid article>p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.researcher-access-grid dl{display:grid;gap:5px;margin:0}.researcher-access-grid dl>div{display:grid;gap:1px}.researcher-access-grid dt{color:var(--muted);font-size:.68rem}.researcher-access-grid dd{margin:0;font-size:.78rem}.researcher-adherence-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.researcher-adherence-summary>div{display:grid;gap:5px;padding:17px;border-radius:15px;background:var(--teal-soft)}.researcher-adherence-summary strong{color:var(--teal);font-size:1.65rem}.researcher-adherence-summary span{font-size:.82rem}.researcher-history-details{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}.researcher-history-details>summary{padding:15px;color:var(--teal);font-weight:800;cursor:pointer}.researcher-history-details>.researcher-timeline,.researcher-history-details>.researcher-alert-section{margin:0;padding:15px;border:0;background:transparent}
@media(max-width:960px){.researcher-controls{grid-template-columns:1fr 1fr}.researcher-access-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.researcher-controls,.researcher-access-grid,.researcher-adherence-summary,.researcher-card-metrics{grid-template-columns:1fr}.researcher-alert-list article>header{flex-direction:column}.researcher-alert-actions{display:grid}.researcher-questionnaire-matrix table{min-width:680px}}
