.button-compact{padding:8px 11px;font-size:12px}
.import-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}
.dropzone{background:#f0f9f3;border:1px dashed #75bd98;border-radius:14px;min-height:208px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:25px;cursor:pointer;color:var(--ink-soft)}
.dropzone:hover,.dropzone.dragging{background:#e3f6eb;border-color:#39966d}
.dropzone input{display:none}.dropzone strong{font-size:15px;color:var(--ink)}.dropzone span{font-size:13px}.dropzone small{font-size:11px;color:var(--muted);max-width:410px;margin-top:11px}.upload-icon{font-size:28px;color:#3e9b72;margin-bottom:6px}
.import-details{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.detail-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #eef4f0;font-size:12px}.detail-row span{color:var(--muted)}.detail-row strong{font-size:12px;text-align:right;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-text{color:#3e9b72}.progress-track{height:4px;background:#edf4ef;border-radius:99px;margin:17px 0 12px;overflow:hidden}.progress-track div{width:0;height:100%;background:var(--mint);border-radius:99px;transition:width .2s ease}.detail-help{color:var(--muted);font-size:11px;line-height:1.45;margin:0}.import-result{margin-top:14px;background:var(--mint-soft);border:1px solid #c2ead4;color:#2c7255;padding:13px 16px;border-radius:10px;font-size:13px}
@media(max-width:1050px){.import-layout{grid-template-columns:1fr}}
@media(max-width:720px){.dropzone{min-height:190px}.import-details{padding:14px}.detail-row{font-size:11px}.detail-row strong{max-width:150px}}
.detail-section{margin-top:42px;scroll-margin-top:20px}.section-controls{display:flex;gap:8px;align-items:flex-start}.range-select{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink-soft);padding:8px 10px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px}.stat-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:15px 16px}.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;color:var(--ink);font-size:20px;margin:8px 0 3px}.stat-card small{display:block;color:var(--muted);font-size:11px}.detail-chart-panel{margin-top:0}.data-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px}.data-stat{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.data-stat span{display:block;color:var(--muted);font-size:11px}.data-stat strong{display:block;color:var(--ink);font-size:15px;margin-top:4px}.data-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.button-danger{background:#fff1ee;border:1px solid #f0c8bf;color:#9a4a3d}.data-table{display:grid;gap:8px}.data-row{display:flex;justify-content:space-between;gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink-soft);font-size:12px}.data-row strong{color:var(--ink)}.settings-card{display:grid;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:19px}.settings-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:6px 0 0}.settings-note{display:flex;gap:9px;background:var(--gold-soft);border-radius:9px;padding:11px 13px}.settings-note p{margin:0;color:#755d27;font-size:12px}.chart-tooltip{position:absolute;z-index:2;pointer-events:none;background:var(--ink);color:#fff;border-radius:7px;padding:6px 8px;font-size:11px;opacity:0;transform:translate(-50%,-115%);transition:opacity .12s ease;white-space:nowrap}.chart-tooltip.visible{opacity:1}.chart-wrap{position:relative;overflow:visible}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.stat-grid{gap:9px}.stat-card{padding:13px}.stat-card strong{font-size:18px}.section-heading{align-items:flex-start;gap:10px;flex-direction:column}.section-controls{width:100%}.section-controls .range-select{flex:1}.range-select{margin-top:0}.data-stats{grid-template-columns:repeat(2,1fr)}.data-row{align-items:flex-start;flex-direction:column}.data-actions .button{width:100%;justify-content:center}}
.topbar-actions{flex-wrap:wrap}
.sync-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#edf7f0;border:1px solid #d7eee0;border-radius:10px;margin:14px 0 20px;padding:10px 14px;color:#58736a;font-size:12px}
.sync-strip b{color:#36534c}
.sync-state{color:#9c7b2d;font-weight:750}
.sync-state i{width:6px;height:6px;background:var(--gold);border-radius:50%;display:inline-block;margin-right:6px}
[hidden]{display:none!important}
.auth-panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px;margin:0 0 20px;box-shadow:var(--shadow)}
.auth-panel h2{font-size:24px;letter-spacing:-.04em;margin:0 0 8px}.auth-panel>p:not(.eyebrow):not(.auth-error){color:var(--muted);font-size:13px;margin:0 0 18px}
.auth-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-form{display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;padding:16px}.auth-form label{font-size:12px;color:var(--ink-soft);font-weight:750;margin-top:4px}.auth-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fbfdfb;color:var(--ink);font:inherit}.auth-form button{margin-top:8px;justify-content:center}
.device-list{display:grid;gap:9px;margin:18px 0}.device-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.device-row small{display:block;color:var(--muted);font-size:11px}.device-row button{border:1px solid #f0c8bf;background:#fff2ef;color:#9a4a3d;border-radius:7px;padding:7px 9px;cursor:pointer;font:inherit;font-size:11px}
.pairing-code{font-size:25px;letter-spacing:.14em;font-weight:850;color:var(--ink);background:var(--mint-soft);border-radius:9px;padding:14px;text-align:center;margin:14px 0}.dialog-action{border:1px solid var(--line);background:var(--white);color:var(--ink-soft);border-radius:8px;padding:9px 12px;cursor:pointer;font:inherit;font-size:12px}
@media(max-width:720px){.auth-choices{grid-template-columns:1fr}.auth-panel{padding:18px}.device-row{align-items:flex-start;flex-direction:column}.device-row button{width:100%}}
.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 20% 10%,#e6f6ec 0,#f7fbf8 42%,#eef6f0 100%)}
.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 20px 70px rgba(16,35,31,.12)}
.auth-card h1{font-size:32px;letter-spacing:-.05em;line-height:1.05;margin:0 0 12px;color:var(--ink)}
.auth-card>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 24px}
.auth-card form{display:grid;gap:8px}.auth-card label{font-size:12px;color:var(--ink-soft);font-weight:750;margin-top:8px}.auth-card input{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:#fbfdfb;color:var(--ink);font:inherit}.auth-card input:focus{outline:3px solid rgba(62,155,114,.18);border-color:#3e9b72}.auth-submit{width:100%;margin-top:14px;justify-content:center}.auth-error{background:#fff2ef;border:1px solid #f0c8bf;color:#9a4a3d;border-radius:8px;padding:10px 12px;font-size:12px!important;margin:6px 0 0!important}
.chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.chart-grid .panel{min-width:0}.small-chart{height:190px;margin-top:18px}.blue-dot{background:#3c7fd6!important}.purple-dot{background:#8d74cf!important}.coral-dot{background:#df806c!important}.current-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.current-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfdfb}.current-item span,.read-item span{display:block;color:var(--muted);font-size:12px}.current-item strong{display:block;margin-top:4px;font-size:18px;letter-spacing:-.03em}.read-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 18px}.read-item{border-top:1px solid var(--line);padding-top:12px}.read-item strong{display:block;font-size:23px;letter-spacing:-.04em;margin:3px 0}.read-item small{color:var(--muted);font-size:11px}.data-error .main-content:after{content:'No se pudo leer el archivo maestro. Conserva el proyecto y vuelve a intentarlo.';display:block;background:#fff2ef;border:1px solid #f0c8bf;color:#9a4a3d;border-radius:10px;padding:14px;margin-top:18px;font-size:13px}
@media(max-width:1050px){.chart-grid{grid-template-columns:1fr 1fr}.read-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.chart-grid{grid-template-columns:1fr}.read-grid{grid-template-columns:repeat(2,1fr)}.current-grid{gap:8px}.current-item strong{font-size:16px}}
/* Analisis local y objetivos */
.nav-group-label{margin:1.1rem 1rem .35rem;color:#8a9a94;font-size:.68rem;font-weight:800;letter-spacing:.14em}.nav-group-config{margin-top:1.5rem}.clinical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.clinical-card{min-width:0}.clinical-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:.7rem;color:#71817c;font-size:.8rem}.clinical-stats strong{display:block;color:#17372d;font-size:1rem;margin-top:.15rem}@media(max-width:800px){.clinical-grid{grid-template-columns:1fr}.clinical-stats{grid-template-columns:1fr 1fr}}
.insight-section{margin:2rem 0}.range-label{display:flex;align-items:center;gap:.6rem;color:#667872;font-size:.82rem;font-weight:700}.evolution-progress{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:1rem;align-items:center;padding:1.2rem;border:1px solid #dfeae4;border-radius:1.1rem;background:#fff;margin:1rem 0 1.2rem}.evolution-number,.evolution-change{display:grid;gap:.25rem}.evolution-number span,.evolution-change span,.before-now-item span{color:#71817c;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.evolution-number strong,.evolution-change strong{font-size:1.45rem;color:#17372d}.evolution-number small,.evolution-change small{color:#71817c}.evolution-arrow{font-size:1.6rem;color:#3e9b72}.goal-progress{grid-column:1/-1;border-top:1px solid #e9f0ec;padding-top:.8rem}.goal-progress>div{height:.55rem;border-radius:99px;background:#edf2ee;overflow:hidden;margin:.35rem 0}.goal-progress i{display:block;height:100%;border-radius:inherit;background:#3e9b72}.goal-progress span,.goal-progress small{color:#71817c;font-size:.8rem}.insight-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.before-now{display:grid;gap:.75rem}.before-now-item{display:grid;gap:.15rem;padding:.65rem 0;border-bottom:1px solid #edf2ee}.before-now-item:last-child{border-bottom:0}.before-now-item strong{font-size:1rem;color:#17372d}.before-now-item b{color:#3e9b72;margin:0 .35rem}.before-now-item small{color:#71817c}.important-list{margin:0;padding-left:1.2rem;color:#405b52;line-height:1.7}.important-list li::marker{color:#3e9b72}.indicator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.indicator-card{display:grid;gap:.25rem;padding:1rem;border:1px solid #e1ebe5;border-radius:.9rem;background:#fff}.indicator-card>span{color:#71817c;font-size:.8rem;font-weight:700}.indicator-card strong{font-size:1.25rem;color:#17372d}.indicator-card small{color:#71817c;font-size:.78rem}.analytic-grid line{stroke:#e8efeb;stroke-width:1}.analytic-legend{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end;color:#71817c;font-size:.75rem}.analytic-legend i{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.3rem}.import-in-data{margin:0 0 1.4rem;padding:1.1rem;border:1px solid #e1ebe5;border-radius:1rem;background:#fbfefc}.goals-panel{margin-top:1rem}.goal-form{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0}.goal-form label{display:grid;gap:.35rem;color:#536861;font-size:.82rem;font-weight:700}.goal-form input{width:100%;box-sizing:border-box;padding:.7rem;border:1px solid #cddbd3;border-radius:.55rem;font:inherit;color:#17372d;background:#fff}.data-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.detail-help{color:#71817c}.empty-note{color:#71817c;padding:.5rem 0}@media(max-width:800px){.evolution-progress{grid-template-columns:1fr 1fr}.evolution-arrow{display:none}.evolution-change{grid-column:1/-1}.insight-columns{grid-template-columns:1fr}.indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-form{grid-template-columns:repeat(2,1fr)}.data-stats{grid-template-columns:repeat(2,1fr)}.range-label{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.indicator-grid{grid-template-columns:1fr}.goal-form{grid-template-columns:1fr}.evolution-progress{padding:.9rem}}
