:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#19324b;background:#f3f6f9;line-height:1.47;font-size:16px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%}[hidden]{display:none!important}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #63bbeb;outline-offset:2px}.hidden{display:none!important}.app-shell{max-width:860px;min-height:100vh;margin:0 auto;background:#f9fbfd;box-shadow:0 3px 40px #19324b12;padding-bottom:104px}.topbar{background:#173858;color:white;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;gap:12px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-size:28px;font-weight:800;display:grid;place-items:center;width:43px;height:43px;background:#2fa99f;border-radius:13px;line-height:1}.brand strong{display:block;font-size:20px;line-height:1.2;letter-spacing:-.5px}.brand small{display:block;font-size:11px;opacity:.75;margin-top:4px}.privacy-dot{font-size:11px;white-space:nowrap;color:#d9edf5}.dot{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#66d7c3}main{padding:26px 24px 42px}.eyebrow{color:#22858d;letter-spacing:.11em;font-size:11px;font-weight:850;margin-bottom:6px}.view h1{font-size:clamp(27px,5vw,37px);letter-spacing:-1.2px;line-height:1.2;margin:0 0 20px}.view h2{font-size:19px;letter-spacing:-.35px;margin:0}.intro-text{color:#63758a;margin:-8px 0 22px;max-width:650px}.date-switcher{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #d9e3eb;border-radius:19px;background:white;padding:12px;box-shadow:0 3px 12px #0e294407}.icon-btn{background:#eff5f8;color:#193957;border:0;min-width:44px;min-height:44px;border-radius:12px;font-size:32px;line-height:1}.date-center{text-align:center}.date-center strong{display:block;font-size:18px}.date-center span{display:block;color:#698092;font-size:12px}.subtle-link{display:block;margin:11px 0 18px auto;background:none;color:#207c89;border:0;font-weight:700;font-size:13px;padding:4px}.summary{background:#173858;color:white;padding:22px;border-radius:22px;margin-bottom:28px;box-shadow:0 12px 35px #17385820}.summary-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary h2{font-size:16px;font-weight:550;color:#cde1ee;margin:0 0 4px}.big-stat{font-size:35px;font-weight:800;letter-spacing:-1.5px;line-height:1.2}.big-stat small{font-size:16px;font-weight:450;opacity:.7}.progress-track{height:10px;background:#46627d;overflow:hidden;border-radius:99px;margin:17px 0}.progress-bar{height:100%;background:#5cd6bd;border-radius:99px;transition:width .2s}.metric-row{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#e2eef4}.metric-row b{color:white;font-weight:800}.chip{border:1px solid #7c97ac90;border-radius:99px;padding:5px 10px;white-space:nowrap}.section-intro{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px;gap:10px}.section-intro p{font-size:12px;color:#6d7f90;margin:3px 0}.count-pill{background:#e6eff3;border-radius:99px;padding:5px 11px;font-size:12px;color:#4b6477;white-space:nowrap;font-weight:700}.time-group{border:1px solid #dfE6ec;border-radius:19px;background:white;margin-bottom:16px;box-shadow:0 4px 17px #16365209;overflow:hidden}.time-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:16px 18px;background:#f6f9fb;border-bottom:1px solid #e3eaf0}.time-label{display:flex;gap:12px;align-items:center}.time-icon{width:38px;height:38px;border-radius:12px;background:#e6f0f5;display:grid;place-items:center;font-size:19px;color:#347083}.time-label strong{display:block;font-size:17px}.time-label small{display:block;color:#7890a2;font-size:12px}.time-count{font-size:12px;color:#608092;white-space:nowrap}.time-group.all-done{border-color:#b6ddce}.time-group.all-done .time-head{background:#f0fbf6}.item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:15px 16px;border-bottom:1px solid #ebf0f3;align-items:start}.item:last-child{border-bottom:0}.item.complete{background:#fbfefc}.check-btn{width:44px;height:44px;border:2px solid #abbcc8;border-radius:14px;background:white;color:#fff;display:grid;place-items:center;position:relative;font-size:25px;font-weight:850;transition:all .18s}.check-btn.checked{background:#18876f;border-color:#18876f}.check-btn.checked::after{content:"✓"}.check-btn:disabled{opacity:.4}.item-title{font-weight:740;color:#1e3347;font-size:15px;line-height:1.4}.item-note{font-size:12px;color:#6d8193;margin-top:4px}.item-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}.tiny-action{background:#f2f6f8;border:1px solid #dfe8ee;color:#46667e;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:700}.tiny-action.selected{background:#e3f7f2;color:#10634f;border-color:#8fdbc6}.state-text{display:inline-block;margin-top:7px;font-size:11px;font-weight:800;letter-spacing:.01em}.state-text.good{color:#18876f}.state-text.neutral{color:#818998}.state-text.alert{color:#a3583f}.flag{display:inline-block;color:#8c5d18;background:#fff3d8;border-radius:7px;padding:3px 7px;font-weight:700;font-size:11px;margin-top:5px}.alert-box{background:#fff8e9;color:#704d18;border:1px solid #f4dca7;border-radius:15px;padding:15px 17px;margin-bottom:15px;font-size:13px}.alert-box strong{display:block;margin-bottom:4px}.alert-box p{margin:0}.info-box{border-radius:16px;background:#edf7fb;border:1px solid #c9e4ef;padding:18px;color:#254f62;margin-bottom:16px}.info-box p{margin:6px 0 12px;font-size:14px}.info-box button{margin-top:4px}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;background:#176f79;border:1px solid #176f79;color:#fff;font-weight:750;border-radius:12px;min-height:44px;padding:10px 15px;line-height:1.2;text-align:center}.secondary-btn{background:#fff;color:#2c6572;border-color:#d5e2e6}.settings-card .primary-btn,.settings-card .secondary-btn{width:100%;margin-top:10px}.primary-btn:hover{background:#0d5962}.secondary-btn:hover{background:#f5fafb}.settings-card{background:white;border:1px solid #dfe7ed;border-radius:20px;padding:22px;margin-bottom:16px}.section-heading{display:flex;align-items:start;gap:12px;margin-bottom:18px}.section-heading h2{margin-top:0}.section-heading p{font-size:13px;color:#6c8091;margin:3px 0 0}.circle-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:#e8f4f6;font-size:21px;color:#2b8490}.time-input-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f4;padding:13px 0}.time-input-row label{font-size:14px;font-weight:650}.time-input-row input{padding:9px 8px;max-width:128px;border:1px solid #cbd9e2;border-radius:9px}.help-text{color:#748698;font-size:12px;line-height:1.5}.warning-row{padding:9px 0;border-top:1px solid #eef1f4;font-size:13px}.warning-row strong{display:block;margin-bottom:3px}.warning-row span{color:#806126}.plan-row{display:flex;gap:10px;border-top:1px solid #edf1f4;padding:10px 0;font-size:13px}.plan-row .plan-hour{font-weight:750;min-width:75px;color:#317789}.plan-row .plan-days{color:#7b8c9b;font-size:11px;margin-top:2px}.tiny-note{font-size:12px;color:#738498;margin:22px 0}.history-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:25px}.day-bar-col{text-align:center;font-size:11px;color:#677e91}.bar-bg{height:104px;background:#e7edf2;border-radius:11px;position:relative;overflow:hidden;margin:9px 0}.bar-fill{position:absolute;bottom:0;left:0;right:0;background:#32af9a;min-height:0;transition:height .25s}.day-bar-col b{color:#1b4763}.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:28px}.day-card{border:1px solid #dbe5ea;background:white;border-radius:14px;padding:13px;text-align:left;color:#23455d}.day-card.active{border:2px solid #2c9d9a;background:#f1fbf8;padding:12px}.day-card strong{display:block;font-size:14px}.day-card span{display:block;color:#728797;font-size:12px;margin-top:4px}.day-card .meter{height:5px;background:#e3eaf0;border-radius:8px;overflow:hidden;margin-top:8px}.day-card .meter i{display:block;background:#30aa91;height:100%}.detail-table{background:white;border:1px solid #e2eaf0;border-radius:14px;overflow:hidden}.detail-table-row{display:grid;grid-template-columns:70px 1fr 94px;gap:8px;padding:12px 13px;border-bottom:1px solid #ecf0f3;font-size:12px;align-items:start}.detail-table-row:last-child{border:0}.detail-table-row b{color:#306c77}.detail-table-row small{display:block;font-size:11px;color:#738697;margin-top:4px;overflow-wrap:anywhere}.status-label{font-weight:760;text-align:right}.status-label.done{color:#167960}.status-label.not_needed{color:#607c92}.status-label.skipped{color:#a05635}.status-label.pending{color:#8a949e}.bottom-nav{max-width:860px;position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:100%;background:#fff;display:flex;justify-content:space-around;align-items:stretch;min-height:76px;box-shadow:0 -5px 28px #17385812;border-top:1px solid #e4ecf1;padding-bottom:env(safe-area-inset-bottom)}.tab{color:#73869b;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;justify-content:center;flex:1;padding:8px;font-size:12px;font-weight:760}.tab-icon{font-size:23px;line-height:1.5}.tab.is-active{color:#157a80}.tab.is-active .tab-icon{background:#e4f7f4;border-radius:12px;min-width:48px}#toast{position:fixed;z-index:30;bottom:100px;left:50%;transform:translateX(-50%) translateY(20px);background:#1e3a52;color:white;border-radius:12px;padding:12px 18px;opacity:0;pointer-events:none;font-size:13px;box-shadow:0 10px 24px #142e4940;max-width:min(90vw,500px);transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}dialog{border:0;border-radius:22px;padding:24px;width:min(94vw,480px);box-shadow:0 24px 95px #1c30494a;color:#20364a}dialog::backdrop{background:#0e2a43a8}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:6px;margin-bottom:8px}.dialog-head h2{font-size:19px;line-height:1.25;margin:0}.dialog-head .icon-btn{font-size:22px}dialog label{display:block;font-size:13px;font-weight:750;margin:18px 0 6px}dialog input,dialog textarea{width:100%;border-radius:11px;padding:11px;border:1px solid #c9d7e0}dialog textarea{resize:vertical}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.dialog-actions .primary-btn,.dialog-actions .secondary-btn{font-size:12px}.empty-state{background:white;border:2px dashed #c4d7dd;padding:34px 20px;text-align:center;border-radius:21px;margin:20px 0}.empty-state .empty-icon{font-size:38px}.empty-state h2{margin:9px 0}.empty-state p{color:#718597;font-size:14px;max-width:430px;margin:12px auto 20px}.empty-state .primary-btn{width:100%;max-width:350px}.source-notes{font-size:12px;color:#607e8e;margin-top:12px}@media(max-width:590px){.topbar{padding:13px 15px}.brand strong{font-size:18px}.privacy-dot{font-size:10px}.brand-mark{width:39px;height:39px}main{padding:23px 15px 34px}.date-center strong{font-size:15px}.summary{padding:18px}.item{padding:14px 12px;gap:9px;grid-template-columns:44px minmax(0,1fr)}.item-title{font-size:15px}.settings-card{padding:18px}.detail-table-row{grid-template-columns:55px 1fr 73px;gap:5px;font-size:11px;padding:11px 8px}.history-list{gap:7px}.day-card{padding:10px}.day-card.active{padding:9px}.privacy-dot{white-space:normal;text-align:right}.dialog-actions{grid-template-columns:1fr}}

/* Versión 2: una confirmación por cada uno de los seis controles */
:root {--deep:#183755;--teal:#05877f;--gray:#52697e;--border:#d9e5eb}
.view h1 {margin-bottom:18px}
.section-intro {margin-top:22px}
.block-card {background:white;border:1px solid #dbe5ed;border-radius:19px;padding:18px;margin:0 0 15px;box-shadow:0 4px 18px #1738580b;}
.block-card.is-done {background:#f2fcf8;border-color:#7acdb1}
.block-card.has-issue {background:#fff8f4;border-color:#e8a78f}
.block-top {display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:9px}
.block-heading {display:flex;align-items:center;gap:10px;min-width:0}
.block-clock {background:#eaf1f7;border-radius:12px;color:#143a5e;padding:11px 8px;font-size:21px;min-width:88px;text-align:center;font-weight:900;letter-spacing:-.7px;flex-shrink:0}
.block-title {font-weight:800;font-size:16px;line-height:1.25}
.block-hint {font-size:12px;color:#72859a;line-height:1.35;margin-top:4px}
.block-stamp {font-weight:700;font-size:11px;color:#06785b;margin-top:5px}
.block-check {appearance:none;border:2px solid #9cb1bd;background:#fff;width:44px;height:44px;min-width:44px;border-radius:13px;color:#fff;font-size:25px;font-weight:800;display:grid;place-items:center;}
.block-check.is-checked {background:#13856d;border-color:#13856d}
.block-check:focus-visible{outline:3px solid #57a6d2;outline-offset:3px}
.med-bullets {list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:10px 0 13px}
.med-bullets li {font-size:12px;line-height:1.35;border:1px solid #dfebf0;background:#f5f8fa;color:#203c52;padding:6px 10px;border-radius:9px;max-width:100%}
.med-bullets li.med-flag {background:#fff7e8;border-color:#efd5a6}
.block-footer {display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #e5edf2;padding-top:12px;margin-top:10px}
.status-text {color:#546c82;font-size:12px;font-weight:750}.status-text.ok {color:#086e59}.status-text.issue {color:#a74b29}
.block-actions {display:flex;gap:7px;flex-wrap:wrap}.mini-btn {background:#eaf3f6;color:#1c5675;border:0;border-radius:9px;font-size:12px;font-weight:750;min-height:35px;padding:7px 11px}
.block-details {border-top:1px dashed #cbdde7;margin-top:12px;padding-top:11px}
.block-details[hidden]{display:none}
.med-detail {display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f4;font-size:13px}
.med-detail>div {min-width:0;flex:1}.med-detail strong {display:block;line-height:1.3}.med-detail small {display:block;color:#697d8d;margin-top:3px;line-height:1.35}
.med-detail .mini-btn {flex-shrink:0}
.note-panel {margin:10px 0;background:#eff7fa;border:1px solid #d1e5eb;border-radius:11px;padding:10px 12px;font-size:12px;color:#24576b;line-height:1.5}
.optional-section-title {margin-top:28px}
.optional-card {background:#fff;border:1px dashed #cbdde5;border-radius:16px;padding:16px;margin-bottom:12px}
.optional-top {display:flex;justify-content:space-between;align-items:start;gap:8px}
.optional-card .block-clock {font-size:14px;min-width:82px}
.optional-actions {display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.optional-actions button {flex:1;min-width:125px;border-radius:11px;border:1px solid #d4e2e8;background:#f2f7f9;color:#29475b;padding:11px 8px;font-size:13px;font-weight:750}
.optional-actions button.selected {border-color:#08846c;background:#e2f7ec;color:#075e4c}
.optional-actions button.alt-selected {border-color:#8a9ba5;background:#f1f3f4;color:#4e5f6c}
.small-alert {font-size:12px;color:#9a4828;margin-top:5px}
.glucose-lookup {background:#eef6fb;border:1px solid #d4e6ef;padding:11px 12px;margin-top:8px;border-radius:12px;font-size:13px;color:#24536d}
.scale-table {border-collapse:collapse;width:100%;margin:12px 0}.scale-table td,.scale-table th {border-bottom:1px solid #e1e9ef;padding:7px 10px;text-align:left;font-size:13px}.scale-table th {background:#eff6fa;color:#1f526a}
.summary-caption {font-size:12px;color:#cde6e7;line-height:1.4;margin-top:8px}
.day-card {text-align:left}
@media (max-width:530px) {.block-card{padding:14px}.block-clock{font-size:19px;min-width:73px}.block-heading{gap:8px}.block-title{font-size:15px}.block-check{min-width:42px;width:42px;height:42px}.med-bullets li {font-size:12px}.block-footer{align-items:start}.optional-top{align-items:center}}

/* V3 · seis controles grandes + dos registros condicionales */
.block-card .block-top{align-items:flex-start}
.med-bullets{display:block;margin:12px 0 15px}
.med-bullets li{display:flex;align-items:center;gap:8px;padding:9px 4px;background:transparent;border:0;border-bottom:1px solid #eaf0f4;border-radius:0;font-size:14px;line-height:1.4}
.med-bullets li>span:first-child{flex:1}
.med-bullets li::before{content:'•';color:#238e8e;font-weight:900}
.med-bullets li.conditional-med{background:#fff9ed;border-radius:8px;padding:9px}
.med-bullets li.conditional-med::before{content:'◌';color:#aa7b19}
.med-warning{display:inline-block;color:#a15c1a;font-size:11px;font-weight:740;background:#fff1d8;padding:3px 6px;border-radius:6px}
.condition-tag{font-size:11px;font-weight:750;color:#80591e;white-space:nowrap}
.block-check{width:51px;height:51px;min-width:51px;border-radius:15px}
.block-card.is-done .block-clock{background:#d9f4e8;color:#08705e}
.conditional-hint{font-size:11px;color:#8b6a31;margin:11px 0 0}
.summary-helper{font-size:12px;color:#637c8a;margin:13px 0 0;line-height:1.5}
.optional-stamp{font-size:12px;color:#587d78;margin:9px 0 0}
.history-block{padding:14px 16px;border-bottom:1px solid #e9edf1;background:#fff}
.history-block:last-child{border-bottom:0}
.history-block-header{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:14px;margin-bottom:5px}
.history-block-header>strong{font-size:16px}
.history-med-list{font-size:12px;color:#496678;display:flex;flex-direction:column;gap:4px;margin:8px 0 0 0}
.history-med{line-height:1.4;overflow-wrap:anywhere}
.history-med small{color:#7e8795}
@media(max-width:530px){.med-bullets li{font-size:13px}.block-check{min-width:50px;width:50px;height:50px}.condition-tag{font-size:10px}.med-bullets li{flex-wrap:wrap}}

.block-clock{overflow-wrap:break-word;word-break:normal}.block-heading{flex:1;min-width:0}.block-heading>div:last-child{min-width:0}.block-title{overflow-wrap:break-word}
@media(max-width:530px){.block-clock{font-size:17px;min-width:86px;max-width:100px;padding:11px 5px}.block-heading{gap:8px}.block-card .block-top{gap:7px}.block-card .block-title{font-size:14px}.block-card .block-hint{font-size:11px}}

.login-form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.login-form label{display:block;margin:12px 0 0;font-size:14px;font-weight:700}.login-form input{display:block;width:100%;min-width:0;height:48px;margin:0;padding:11px 12px;border:1px solid #c9d7e0;border-radius:11px;background:#fff;color:#19324b}.login-form #login-error{margin:8px 0;min-height:0}.login-form button{margin:0}
