@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#182321;background:#f4f6f1;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#182321;--muted:#697672;--line:#dce4dc;--paper:#fff;--green:#167253;--green-dark:#0d4936;--lime:#c8ed76;--coral:#df6c55;--amber:#e6ad3e;--soft-green:#e8f4ec;--soft-red:#fff0eb;--soft-amber:#fff6e2}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.13em;font-weight:700;color:var(--green);margin:0 0 12px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:'Space Grotesk',sans-serif;font-size:1.13rem;font-weight:600;white-space:nowrap}.brand b{color:var(--green)}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--green);color:white;border-radius:11px;font-size:.83rem;font-weight:700}.button{border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 16px;font-weight:700;cursor:pointer;transition:background .16s,transform .16s,color .16s}.button:active{transform:translateY(1px)}.button-primary{color:white;background:var(--green)}.button-primary:hover{background:var(--green-dark)}.button-outline{background:transparent;border:1px solid #b9c9bf;color:var(--ink)}.button-quiet{background:transparent;color:var(--muted)}.button-quiet:hover{background:#edf1eb;color:var(--ink)}.button-small{padding:8px 10px;font-size:.78rem;border:1px solid var(--line);background:white;white-space:nowrap}.button-large{min-height:60px;padding:15px 25px;font-size:1.05rem}.full-button{width:100%;margin-top:10px}.form-error{min-height:1.25em;color:#a33f31;font-size:.88rem;margin:6px 0}.login-page{min-height:100vh;background:#e8eee8}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) 1.1fr;background:white}.login-aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px clamp(28px,6vw,88px);overflow:hidden;background:#143d32;color:white}.login-aside:after{content:'';position:absolute;width:420px;height:420px;border:1px solid #ffffff25;border-radius:50%;right:-200px;bottom:40px;box-shadow:0 0 0 50px #ffffff09,0 0 0 100px #ffffff06}.brand-light{color:white;position:relative;z-index:1}.brand-light b{color:var(--lime)}.brand-light .brand-mark{background:var(--lime);color:var(--green-dark)}.login-message{position:relative;z-index:1;max-width:560px;margin:80px 0}.login-message .eyebrow{color:var(--lime)}.login-message h1{font:600 clamp(2.4rem,4vw,4.2rem)/1.08 'Space Grotesk',sans-serif;letter-spacing:0;margin:0 0 20px}.login-message h1 em{font-style:normal;color:var(--lime)}.login-message>p:last-child{max-width:390px;color:#c6d6cf;line-height:1.7}.aside-foot{position:relative;z-index:1;color:#c6d6cf;font-size:.85rem}.status-dot{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%;margin-right:8px}.login-main{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(28px,9vw,150px)}.login-form{width:min(100%,400px);margin:auto}.login-form h2{font:600 2rem 'Space Grotesk',sans-serif;margin:0}.login-form>.muted{margin:8px 0 34px}.login-form>label,.registration-form>label{display:block;font-size:.88rem;font-weight:700;margin:18px 0 7px}.login-form input,.registration-form input:not([type=checkbox]):not([type=radio]),.registration-form select{width:100%;height:49px;border:1px solid var(--line);border-radius:7px;padding:0 13px;background:#fff;outline:none}.login-form input:focus,.registration-form input:focus,.registration-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px #16725317}.kiosk-link{display:block;text-align:center;padding:24px;color:var(--green);font-weight:700;font-size:.9rem}.login-footer{margin:40px auto 0;color:#82908b;font-size:.8rem}.login-footer span{padding:0 8px}.app-page{min-height:100vh;background:#f4f6f1}.topbar{height:72px;padding:0 clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line)}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-label{color:var(--muted);font-size:.9rem}.admin-wrap{max-width:1440px;margin:0 auto;padding:42px clamp(20px,5vw,72px) 80px}.page-heading,.panel-intro,.results-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.page-heading h1,.kiosk-title h1{font:600 2.45rem 'Space Grotesk',sans-serif;letter-spacing:0;margin:0}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-top:34px}.tab{border:0;background:transparent;padding:14px 3px;color:var(--muted);font-weight:700;border-bottom:3px solid transparent;cursor:pointer}.tab.active{color:var(--green);border-color:var(--green)}.tab-panel{padding-top:27px}.panel-intro h2,.results-heading h2{font:600 1.4rem 'Space Grotesk',sans-serif;margin:0}.panel-intro p{color:var(--muted);margin:7px 0 0}.count-label{padding:7px 11px;background:#e7eee8;border-radius:20px;font-size:.78rem;color:var(--green-dark);font-weight:700}.exercise-group{margin-top:27px;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.exercise-group>h3{margin:0;padding:16px 19px;font:600 1.02rem 'Space Grotesk',sans-serif;border-bottom:1px solid var(--line)}.exercise-group>h3 span{color:var(--muted);font:500 .8rem 'DM Sans',sans-serif;margin-left:6px}.table-scroll{overflow:auto}.config-table{width:100%;border-collapse:collapse;min-width:920px}.config-table th{text-align:left;padding:11px 14px;background:#f7f9f6;color:#78837f;font-size:.69rem;text-transform:uppercase;letter-spacing:.06em}.config-table td{padding:11px 14px;border-top:1px solid #edf0ec;font-size:.84rem}.config-table td:first-child{min-width:240px}.config-table td strong,.config-table td small{display:block}.config-table td small{color:var(--muted);margin-top:4px;font-size:.74rem}.config-table .cut{width:91px;height:38px;border:1px solid var(--line);border-radius:6px;padding:0 8px}.actions-cell{display:flex;gap:5px}.switch input{position:absolute;opacity:0}.switch span{display:block;width:40px;height:24px;border-radius:20px;background:#cfd8d1;position:relative;cursor:pointer}.switch span:after{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:white;transition:transform .16s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(16px)}.disclaimer,.report-disclaimer{margin-top:22px;color:#78837f;font-size:.79rem;line-height:1.6}.history-list{margin-top:22px;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.history-head,.history-row{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(170px,1.2fr) .5fr .8fr auto;align-items:center;gap:18px;padding:14px 18px}.history-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f7f9f6}.history-row{border-top:1px solid #edf0ec;font-size:.88rem}.badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:20px;font-weight:700;font-size:.68rem;letter-spacing:.035em;width:max-content}.badge-verde{color:#17643e;background:#dff1e4}.badge-amarillo{color:#8e5c00;background:#fff0c8}.badge-rojo{color:#9e3e2d;background:#ffe1d8}.badge-pendiente{color:#5d6863;background:#e8ece8}.empty-state{padding:40px;text-align:center;color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;background:#183c32;color:white;border-radius:8px;padding:13px 18px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.toast.visible{opacity:1;transform:translateY(0)}.kiosk-page{min-height:100vh;background:#f1f5ef}.kiosk-header{height:70px;padding:0 clamp(16px,4vw,54px);display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.kiosk-progress{font-size:.72rem;letter-spacing:.1em;color:var(--green);font-weight:700}.kiosk-exit{font-size:.85rem;color:var(--muted)}.kiosk-main{max-width:1060px;margin:0 auto;padding:34px clamp(16px,4vw,48px) 70px}.kiosk-screen{animation:appear .24s ease-out}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.kiosk-title{margin:0 0 25px}.kiosk-title>p:last-child{color:var(--muted);margin:9px 0 0}.pin-screen{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pin-screen .kiosk-title h1{font-size:3rem}.pin-form{width:min(100%,410px)}.pin-input{height:70px;width:100%;text-align:center;letter-spacing:.45em;font-size:1.75rem;border:1px solid var(--line);border-radius:8px;background:white;margin:20px 0 8px}.pin-form .button{width:100%}.registration-form{background:white;border:1px solid var(--line);border-radius:8px;padding:clamp(18px,3vw,32px)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid>label{font-weight:700;font-size:.82rem}.form-grid input,.form-grid select{display:block;margin-top:7px}.bmi-readout{align-self:end;border-radius:7px;background:#eff5ed;padding:10px 14px;height:64px}.bmi-readout span,.bmi-readout strong{display:block}.bmi-readout span{font-size:.7rem;color:var(--muted)}.bmi-readout strong{font:600 1.25rem 'Space Grotesk',sans-serif;margin-top:3px}.registration-form fieldset{border:0;border-top:1px solid var(--line);padding:19px 0 0;margin:24px 0 0}.registration-form legend{font-weight:700;font-size:.94rem;padding:0 12px 0 0}.registration-form fieldset>.muted{font-size:.84rem;margin:0 0 9px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;font-size:.85rem;cursor:pointer}.check-row input,.consent-row input{width:19px;height:19px;accent-color:var(--green);flex:none}.screening small{display:block;color:var(--muted);margin-top:8px}.medical-stop{padding:13px 16px;background:#fff0e8;border-left:3px solid var(--coral);color:#893a2e;font-weight:700;margin-top:12px}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice input{position:absolute;opacity:0}.choice span{display:block;padding:11px 16px;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer;min-height:44px}.choice input:checked+span{border-color:var(--green);background:#e8f4ec;color:var(--green-dark);box-shadow:inset 0 0 0 1px var(--green)}.consent-row{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;font-size:.82rem!important;line-height:1.55;margin-top:25px!important}.consent-row span{max-width:880px}.registration-form>.button{margin-top:12px}.recommendation-note{padding:14px 17px;border-radius:7px;background:#e7f2e7;border-left:3px solid var(--green);margin-bottom:20px;color:#315d45;font-size:.88rem}.kiosk-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kiosk-card{min-height:102px;display:flex;align-items:center;gap:16px;text-align:left;background:white;border:1px solid var(--line);border-radius:8px;padding:14px 18px;cursor:pointer;transition:border-color .15s,background .15s}.kiosk-card:hover{border-color:#82b49a}.kiosk-card.completed{background:#edf6ed;border-color:#bdd9c2}.card-index{align-self:flex-start;color:#96a49b;font:600 .85rem 'Space Grotesk',sans-serif}.card-main{display:flex;flex:1;flex-direction:column;gap:4px}.card-main small{color:var(--green);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.card-main strong{font:600 1rem 'Space Grotesk',sans-serif}.card-main>span{font-size:.75rem;color:var(--muted)}.card-check{display:grid;place-items:center;border:1px solid var(--line);width:29px;height:29px;border-radius:50%;color:transparent}.completed .card-check{background:var(--green);border-color:var(--green);color:white}.complete-screen{text-align:center;padding:54px 15px 25px}.complete-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:auto auto 17px;background:#dff1e4;color:var(--green);font-size:1.8rem}.complete-screen h2{font:600 2rem 'Space Grotesk',sans-serif;margin:5px 0}.complete-screen p:not(.eyebrow){color:var(--muted);margin:10px 0 22px}.back-button{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer;padding:7px 0;margin-bottom:16px}.exercise-stage{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;padding:clamp(20px,4vw,44px)}.exercise-info h1{font:600 2rem 'Space Grotesk',sans-serif;margin:0 0 13px}.exercise-instructions{font-size:1rem;line-height:1.6;max-width:500px;color:#52615a}.safety-note{margin-top:22px;padding:12px 14px;background:#fff5df;color:#785b21;border-radius:6px;font-size:.82rem;line-height:1.5}.silhouette-wrap{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edf3ed;border-radius:7px;color:#75877a}.silhouette-wrap svg{height:190px;width:150px;fill:#6b8c76}.silhouette-wrap span{font-size:.63rem;letter-spacing:.1em;font-weight:700}.record-panel{text-align:center;padding:24px 10px}.record-status{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);margin:8px}.record-dot{width:10px;height:10px;border-radius:50%;background:var(--coral)}.button-record{min-width:min(100%,350px);margin-top:15px;background:var(--coral);color:white}.button-record:hover{background:#c75440}.button-record:disabled{opacity:.7}.camera-preview{width:min(100%,440px);aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin:0 auto 15px;background:#17231e}.countdown{font:700 4rem 'Space Grotesk',sans-serif;color:var(--green)}.record-progress{max-width:460px;margin:15px auto;display:flex;gap:12px;align-items:center}.progress-track{height:10px;flex:1;background:#e0e8e0;border-radius:10px;overflow:hidden}.progress-track span{height:100%;width:0;display:block;background:var(--green);transition:width .1s linear}.record-progress strong{font-variant-numeric:tabular-nums}.spinner{width:16px;height:16px;border:2px solid #ffffff75;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.report-wrap{max-width:1080px;margin:0 auto;padding:48px 28px 80px}.report-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:2px solid var(--ink)}.report-heading h1{font:600 2rem 'Space Grotesk',sans-serif;margin:0}.report-heading p:last-child{color:var(--muted);margin:8px 0 0}.report-brand-mark{display:grid;place-items:center;width:64px;height:64px;background:var(--green);border-radius:12px;color:white;font:700 1.1rem 'Space Grotesk',sans-serif;position:relative}.report-brand-mark span{font-size:.55rem;color:var(--lime);position:absolute;bottom:9px;right:9px}.member-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.member-summary div span,.member-summary div strong{display:block}.member-summary div span{font-size:.65rem;letter-spacing:.06em;color:var(--muted);font-weight:700}.member-summary div strong{font-size:.91rem;margin-top:7px}.clinical-summary{display:flex;justify-content:space-between;align-items:center;padding:23px;margin:25px 0;background:#e9f1e8;border-radius:8px}.clinical-summary h2{font:600 1.15rem 'Space Grotesk',sans-serif;margin:0}.clinical-summary p:last-child{color:#53685b;margin:7px 0 0;font-size:.87rem}.summary-mark{font:500 2rem 'Space Grotesk',sans-serif;color:var(--green);width:48px;height:48px;border:1px solid #b4cfb9;border-radius:50%;display:grid;place-items:center}.results-heading{margin:35px 0 18px}.results-heading>span{font-size:.8rem;color:var(--muted)}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.result-card{background:white;border:1px solid var(--line);border-top:4px solid #7ab187;border-radius:7px;padding:18px}.result-amarillo{border-top-color:var(--amber)}.result-rojo{border-top-color:var(--coral)}.result-card-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.72rem}.result-card h3{font:600 1.02rem 'Space Grotesk',sans-serif;margin:15px 0 7px}.result-value{font:600 2rem 'Space Grotesk',sans-serif}.result-value span{font:500 .84rem 'DM Sans',sans-serif;color:var(--muted);margin-left:7px}.result-card>p{font-size:.84rem;line-height:1.55;color:#5d6963;margin:10px 0}.result-card>small{font-size:.7rem;color:#87918c}.report-disclaimer{margin-top:30px;padding-top:15px;border-top:1px solid var(--line)}.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:760px){.login-shell{grid-template-columns:1fr}.login-aside{min-height:250px;padding:24px}.login-message{margin:38px 0 10px}.login-message h1{font-size:2rem}.aside-foot{font-size:.75rem}.login-main{min-height:55vh;padding:32px 24px}.login-footer{margin-top:26px}.topbar{height:62px;padding:0 15px}.topbar-label{display:none}.topbar-right{gap:4px}.admin-wrap{padding:28px 15px 60px}.page-heading h1,.kiosk-title h1{font-size:2rem}.page-heading{align-items:flex-start}.page-heading>.button{font-size:.78rem;padding:9px}.history-head{display:none}.history-row{grid-template-columns:1fr auto;gap:7px 12px;padding:14px}.history-row>*:nth-child(2){grid-column:1}.history-row>*:nth-child(3){display:none}.history-row>*:nth-child(4){grid-column:2;grid-row:1}.history-row>*:nth-child(5){grid-column:2;grid-row:2}.kiosk-header{height:60px;padding:0 13px}.kiosk-header .brand{font-size:.94rem;gap:7px}.kiosk-header .brand-mark{width:33px;height:33px}.kiosk-progress{font-size:.58rem}.kiosk-exit{font-size:.72rem}.kiosk-main{padding:26px 14px 55px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.registration-form{padding:17px}.kiosk-cards{grid-template-columns:1fr}.kiosk-card{min-height:94px}.exercise-stage{grid-template-columns:1fr;padding:20px}.silhouette-wrap{min-height:210px}.silhouette-wrap svg{height:160px}.record-panel{padding:17px 0}.member-summary{grid-template-columns:repeat(2,1fr)}.member-summary div:last-child{grid-column:span 2}.report-wrap{padding:26px 16px 55px}.report-heading h1{font-size:1.5rem}.result-grid{grid-template-columns:1fr}.tabs{gap:18px}.tab{font-size:.83rem}.panel-intro h2{font-size:1.18rem}}
@media(max-width:390px){.kiosk-exit{font-size:.65rem}.kiosk-progress{max-width:100px;text-align:center;line-height:1.4}.form-grid{grid-template-columns:1fr 1fr}.choice-row{gap:7px}.choice span{padding:10px 11px;font-size:.8rem}.page-heading{display:block}.page-heading>.button{margin-top:12px}.report-heading{align-items:flex-start}.report-brand-mark{width:49px;height:49px}}
@media print{body,.app-page{background:white}.print-hide{display:none!important}.report-wrap{max-width:none;padding:0}.report-heading,.member-summary,.clinical-summary,.result-card{break-inside:avoid}.clinical-summary{background:#edf3ed!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.result-card{box-shadow:none}.report-disclaimer{font-size:9pt}}
.config-table{min-width:1120px}.protocol-details{min-width:175px}.protocol-details>summary{color:var(--green);font-weight:700;cursor:pointer}.protocol-details>label,.protocol-fields label{display:block;margin-top:9px;color:var(--muted);font-size:.72rem}.protocol-details input{display:block;width:100%;min-width:90px;height:34px;margin-top:4px;padding:0 7px;border:1px solid var(--line);border-radius:5px;font-size:.75rem}.protocol-fields{max-width:240px;max-height:210px;overflow:auto}.protocol-details>small{display:block;margin-top:7px;color:var(--muted);font-size:.66rem}.kiosk-card.recommended{border-left:4px solid var(--green)}.recommend-tag{padding:5px 8px;background:#e8f4ec;color:var(--green-dark);border-radius:20px;font-size:.66rem;font-weight:700;white-space:nowrap}.ruffier-panel{max-width:620px;margin:20px auto;background:white;border:1px solid var(--line);border-radius:8px;padding:24px}.ruffier-panel h2{font:600 1.35rem 'Space Grotesk',sans-serif;margin:0}.ruffier-panel>p:not(.eyebrow){color:var(--muted)}.pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.pulse-grid label{font-size:.78rem;font-weight:700}.pulse-grid input{display:block;width:100%;height:48px;margin-top:7px;border:1px solid var(--line);border-radius:6px;padding:0 10px}.ruffier-panel .button{width:100%}.badge-alerta{color:#9e3e2d;background:#ffe1d8}.badge-pendiente{color:#5d6863;background:#e8ece8}.result-pendiente{border-top-color:#8b9690}.benchmark-line{padding:8px 10px;background:#f3f6f2;border-radius:5px;font-size:.74rem!important}.history-alert{display:block;color:#9e3e2d;font-size:.72rem;font-weight:500;margin-top:5px;line-height:1.4}@media(max-width:760px){.recommend-tag{display:none}.pulse-grid{gap:7px}.pulse-grid input{padding:0 6px}}