:root{--navy:#12395c;--blue:#167eaa;--teal:#16a7a1;--green:#2ca348;--yellow:#f4b51e;--red:#ec5457;--purple:#8255c7;--ink:#142b43;--muted:#5c7184;--line:#d8e5ec;--bg:#f4f8fa;--surface:#fff;--shadow:0 10px 30px rgba(19,57,92,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#fff 0,#f3f9fb 48%,#eef7f6 100%)}button,select,input{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem;z-index:99}.skip:focus{top:1rem}.topbar{height:88px;display:flex;align-items:center;gap:2rem;padding:0 clamp(1rem,4vw,4rem);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.7rem;color:var(--navy);text-decoration:none;min-width:245px}.brand-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;font-size:1.7rem}.brand strong{display:block;font-size:1.55rem;line-height:1}.brand small{display:block;color:var(--teal);text-transform:uppercase;letter-spacing:.14em;margin-top:.3rem}.motto{font-weight:800;font-style:italic;font-size:1.15rem;flex:1;text-align:center}.header-actions{display:flex;gap:.4rem}.icon-btn{border:0;background:#edf5f7;color:var(--navy);padding:.7rem .8rem;border-radius:12px;font-weight:700;cursor:pointer}.demo-strip{background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:.65rem clamp(1rem,4vw,4rem);font-size:.9rem}.view-switch{display:flex;background:rgba(255,255,255,.12);padding:3px;border-radius:10px}.switch{border:0;background:transparent;color:#fff;border-radius:8px;padding:.45rem .9rem;cursor:pointer}.switch.active{background:#fff;color:var(--navy);font-weight:800}.app-shell{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:230px 1fr;gap:2rem;padding:2rem}.sidebar{background:var(--navy);border-radius:22px;padding:1rem;display:flex;flex-direction:column;gap:.35rem;align-self:start;position:sticky;top:142px;box-shadow:var(--shadow)}.nav-item{border:0;background:transparent;color:#dcecf4;border-radius:12px;padding:.9rem 1rem;text-align:left;font-weight:700;cursor:pointer}.nav-item span{display:inline-block;width:28px}.nav-item:hover,.nav-item.active{background:var(--teal);color:#fff}.page{display:none;max-width:960px}.page.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.3;transform:translateY(5px)}}h1{font-size:clamp(2rem,4vw,3rem);margin:.15rem 0 .5rem;color:var(--navy);line-height:1.1}h2{color:var(--navy)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--teal);font-size:.8rem;margin:0}.lead{font-size:1.05rem;color:var(--muted)}.welcome{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.welcome p:last-child{color:var(--muted)}.date-chip,.tag{display:inline-block;border-radius:999px;background:#e8f5f5;color:#087d78;padding:.4rem .75rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.hero-card{background:linear-gradient(120deg,var(--navy),#205f80);color:#fff;border-radius:24px;padding:2rem;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:end}.hero-card h2{color:#fff;font-size:1.65rem;margin:.9rem 0 .2rem}.hero-card p{margin:.3rem 0}.appointment{font-size:1.15rem;font-weight:800}.primary,.secondary,.danger,.table-btn{border:0;border-radius:11px;padding:.8rem 1.1rem;font-weight:800;cursor:pointer}.primary{background:var(--teal);color:#fff}.secondary{background:#eaf3f7;color:var(--navy)}.danger{background:#ffebeb;color:#bb292e}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.3rem 0}.quick-card{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:1rem;box-shadow:0 5px 16px rgba(19,57,92,.04);cursor:pointer}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-card strong,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:.25rem}.quick-card b{font-size:1.5rem}.quick-icon,.metric-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff}.green{background:var(--green)}.coral{background:var(--red)}.purple{background:var(--purple)}.blue{background:var(--blue)}.yellow{background:var(--yellow);color:#4d3900}.weekly-check,.info-note{background:#fff8df;border:1px solid #f4dfa2;border-radius:18px;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.weekly-check h2{margin:.6rem 0 .2rem}.content-card,.metric,.goal-card,.learning-list article{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 18px rgba(19,57,92,.04)}.appointment-card{padding:1.5rem}.appointment-head{display:flex;justify-content:space-between}.calendar-tile{width:72px;height:76px;border-radius:14px;background:#e9f6f5;display:grid;place-items:center;color:var(--teal)}.calendar-tile strong{font-size:1.8rem;line-height:1}.calendar-tile small{margin-top:-12px}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-block:1px solid var(--line);padding:1rem 0}.details dt{color:var(--muted);font-size:.8rem}.details dd{margin:.25rem 0;font-weight:700}.checklist{display:grid;gap:.65rem;margin:1.2rem 0}.checklist h3{margin:.2rem 0}.checklist label{padding:.5rem .7rem;background:#f8fbfc;border-radius:9px}.conditional{border-left:4px solid var(--purple)}.button-row{display:flex;gap:.8rem}.status-message{font-weight:700;color:var(--teal)}.segmented{display:inline-flex;background:#eaf2f5;border-radius:12px;padding:4px;margin:1rem 0}.segmented button{border:0;background:transparent;padding:.6rem 1.2rem;border-radius:9px;cursor:pointer}.segmented button.active{background:#fff;color:var(--navy);font-weight:800}.med-list{display:grid;gap:.9rem}.med-card{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;border:1px solid var(--line);background:#fff;border-radius:16px}.med-card h2{font-size:1.1rem;margin:0 0 .25rem}.med-card p{margin:0;color:var(--muted)}.taken{background:#e7f7ed;color:#177139}.info-note{margin-top:1.3rem;display:block}.info-note p{margin:.3rem 0;color:var(--muted)}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.3rem 0}.metric{padding:1.2rem}.metric h2{font-size:1rem}.metric strong{font-size:1.75rem}.metric small{font-size:.85rem}.state{font-size:.85rem;font-weight:700}.good{color:#168438}.watch{color:#9b6b00}.alert{color:#c53338}.neutral{color:var(--blue)}.glucose-card{padding:1.4rem;display:grid;grid-template-columns:1fr 1.1fr;gap:1rem}.orange{background:#fff0df;color:#ae5a00}.glucose-inputs{display:grid;gap:.7rem}.glucose-inputs label{display:flex;justify-content:space-between;align-items:center}.glucose-inputs input{width:74px;padding:.55rem;border:1px solid var(--line);border-radius:9px;text-align:right}.goal-card{padding:1.5rem}.goal-top{display:flex;justify-content:space-between}.goal-top>strong{font-size:1.5rem;color:var(--purple)}.purple-tag{background:#f0eafd;color:#6840aa}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem;margin:1.5rem 0}.day{display:grid;place-items:center;gap:.4rem}.day button{width:38px;height:38px;border-radius:50%;border:2px solid #bcc8d0;background:#fff;cursor:pointer}.day.done button{background:var(--green);color:#fff;border-color:var(--green)}.progress{height:12px;background:#e7ebee;border-radius:99px;overflow:hidden;margin:1rem 0}.progress span{display:block;height:100%;background:var(--green);border-radius:99px}.purple-btn{background:var(--purple)}.learning-list{display:grid;gap:1rem;margin-top:1.3rem}.learning-list article{display:grid;grid-template-columns:90px 1fr 48px;gap:1rem;align-items:center;padding:1rem}.learning-list h2{font-size:1.05rem;margin:.3rem 0}.learning-list span{font-size:.82rem;color:var(--muted)}.thumb{height:72px;border-radius:13px;display:grid;place-items:center;font-size:2rem;background:#e9f6f5}.play{width:42px;height:42px;border:0;border-radius:50%;background:var(--teal);color:#fff;cursor:pointer}.team-shell{max-width:1320px;margin:auto;padding:2rem}.team-head{display:flex;justify-content:space-between;align-items:end}.team-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}.team-metrics article{background:#eaf5f9;border:1px solid var(--line);border-radius:17px;padding:1.2rem}.team-metrics span,.team-metrics strong{display:block}.team-metrics strong{font-size:2rem;margin-top:.45rem}.team-metrics small{font-size:.85rem}.good-bg{background:#e5f7eb!important}.watch-bg{background:#fff4d7!important}.alert-bg{background:#ffebeb!important}.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1rem}.dashboard-grid .content-card,.patient-table{padding:1.2rem}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{font-size:1.15rem}.alert-list{display:grid;gap:.6rem}.alert-list button{display:flex;justify-content:space-between;border:1px solid var(--line);background:#fff;padding:.8rem;border-radius:10px;cursor:pointer}.donut{width:180px;height:180px;border-radius:50%;margin:1rem auto;background:conic-gradient(var(--green) 0 72%,var(--yellow) 72% 92%,var(--red) 92%);display:grid;place-items:center}.donut:before{content:"";width:108px;height:108px;background:#fff;border-radius:50%;position:absolute}.donut div{z-index:1;text-align:center}.donut strong,.donut span{display:block}.legend{display:flex;justify-content:center;gap:1rem;font-size:.8rem}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%}.green-bg{background:var(--green)}.yellow-bg{background:var(--yellow)}.red-bg{background:var(--red)}.patient-table{margin-top:1rem}.filters{display:flex;gap:.5rem}.filters select{padding:.5rem;border:1px solid var(--line);border-radius:9px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.9rem;border-top:1px solid var(--line)}th{color:var(--muted);font-size:.8rem}.status{padding:.35rem .6rem;border-radius:999px;font-size:.78rem;font-weight:800}.red-status{background:#ffebeb;color:#b92d32}.yellow-status{background:#fff3cf;color:#856000}.table-btn{padding:.45rem .7rem;background:#eaf3f7;color:var(--navy)}dialog{border:0;border-radius:22px;padding:0;max-width:540px;width:calc(100% - 2rem);box-shadow:0 30px 90px rgba(10,36,55,.3)}dialog::backdrop{background:rgba(9,30,47,.62)}dialog form{padding:2rem;position:relative}dialog h2{font-size:1.5rem}.close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;font-size:1.8rem}.choice-list,#barriers{display:grid;gap:.7rem;margin:1.2rem 0}.choice-list label,#barriers label{border:1px solid var(--line);border-radius:11px;padding:.8rem}.dot{display:inline-block;width:13px;height:13px;border-radius:50%}.toast{position:fixed;right:1.5rem;bottom:1.5rem;background:var(--navy);color:#fff;padding:1rem 1.2rem;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}body.large-text{font-size:120%}body.high-contrast{--navy:#001a33;--teal:#007c75;--muted:#263746;--line:#71808b;--bg:#fff;--surface:#fff}body.high-contrast *:focus{outline:4px solid #ffbf00!important;outline-offset:3px}@media(max-width:900px){.motto{display:none}.header-actions span{display:none}.app-shell{grid-template-columns:1fr;padding:1rem;padding-bottom:88px}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;border-radius:18px 18px 0 0;flex-direction:row;overflow-x:auto;padding:.5rem}.nav-item{min-width:78px;text-align:center;font-size:.72rem;padding:.6rem .3rem}.nav-item span{display:block;margin:auto;font-size:1.1rem}.quick-grid,.health-grid,.team-metrics,.dashboard-grid{grid-template-columns:1fr 1fr}.glucose-card{grid-template-columns:1fr}.team-shell{padding:1rem}.demo-strip{align-items:flex-start;gap:.5rem;flex-direction:column}}@media(max-width:600px){.topbar{height:72px;padding:.6rem 1rem}.brand{min-width:0}.brand-icon{width:40px;height:40px}.brand strong{font-size:1.15rem}.brand small{font-size:.62rem}.quick-grid,.health-grid,.team-metrics,.dashboard-grid{grid-template-columns:1fr}.hero-card,.weekly-check,.team-head{align-items:stretch;flex-direction:column}.date-chip{display:none}.details{grid-template-columns:1fr}.button-row{flex-direction:column}.learning-list article{grid-template-columns:64px 1fr 40px}.thumb{height:58px}.week-days{gap:.2rem}.day button{width:34px;height:34px}.team-metrics{grid-template-columns:1fr 1fr}}
/* Ajuste de accesibilidad solicitado: aumento más visible y controles táctiles amplios. */
body.large-text{font-size:135%}
body.large-text input,body.large-text select,body.large-text button{min-height:48px}
@media(max-width:900px){body.large-text .nav-item{font-size:.82rem;min-width:92px}}
.add-goal-btn{margin:1rem 0;width:100%;border:2px dashed #bba8df;background:#f7f3ff;color:#6840aa}
#activeGoals{display:grid;gap:1rem}.secondary-goal{position:relative;border-left:5px solid var(--purple)}
.access-welcome{padding:2rem}.access-welcome>p{color:var(--muted)}.access-choices{display:grid;gap:.75rem;margin:1.2rem 0}.access-choice{display:flex;flex-direction:column;gap:.3rem;text-align:left;border:2px solid var(--line);background:#fff;border-radius:14px;padding:1rem;cursor:pointer;min-height:78px}.access-choice:hover,.access-choice:focus{border-color:var(--teal);background:#eefafa}.access-choice strong{font-size:1rem;color:var(--navy)}.access-choice span{color:var(--muted);font-size:.88rem;line-height:1.35}#continueStandard{width:100%}
.remove-goal{border:0;background:transparent;color:#a33;margin-top:.8rem;text-decoration:underline;cursor:pointer}
.goal-options{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.2rem 0}.goal-options button{display:flex;gap:.8rem;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.8rem;cursor:pointer;font-size:1.2rem}.goal-options button:hover{border-color:var(--purple);background:#f7f3ff}.goal-options strong,.goal-options small{display:block}.goal-options strong{font-size:.9rem;color:var(--navy)}.goal-options small{font-size:.75rem;color:var(--muted);margin-top:.2rem}@media(max-width:600px){.goal-options{grid-template-columns:1fr}}
