:root{--color-primary:#4a7196;--color-bg:#f2f6f9;--color-surface:#fff;--color-border:#d9e2ec;--color-text:#1f2933;--color-text-muted:#52606d;--color-ok:#1e6b41;--color-error:#a4262c}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.app-header{background:var(--color-primary);color:#fff;padding:1.25rem 1rem 1.5rem}.app-header h1{letter-spacing:.01em;margin:0;font-size:1.75rem;font-weight:650}.app-subtitle{margin:.25rem 0 0;font-size:.95rem}.app-main{max-width:40rem;margin:0 auto;padding:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 2px #1f29330f}.card h2{margin:0 0 .5rem;font-size:1.1rem}.status{margin:0;font-size:1rem}.status--pending{color:var(--color-text-muted)}.status--ok{color:var(--color-ok);font-weight:600}.status--error{color:var(--color-error);font-weight:600}.app-header--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.user-menu{align-items:center;gap:.75rem;padding-top:.35rem;display:flex}.user-name{overflow-wrap:anywhere;font-size:.95rem}.app-main--narrow{max-width:26rem}.centered{justify-content:center;padding-top:3rem;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-size:.95rem;font-weight:600}.field input{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:.6rem .75rem}.field input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.form-error{color:var(--color-error);margin:0;font-weight:600}.button{font:inherit;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:8px;padding:.6rem 1rem;font-weight:600}.button:hover:not(:disabled){filter:brightness(1.08)}.button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.button:disabled{opacity:.6;cursor:default}.button--ghost{color:#fff;background:0 0;border-color:#fff9;padding:.4rem .8rem}.empty-state{color:var(--color-text-muted);margin:0}.card+.card{margin-top:1rem}.today-action{margin-top:.75rem}.button--subtle{border-color:var(--color-border);color:var(--color-text);background:0 0;padding:.4rem .8rem}.checkin-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.date-nav{justify-content:center;align-items:center;gap:.75rem;margin:.5rem 0 1rem;display:flex}.date-nav__label{text-align:center;min-width:10rem;font-weight:600}.metric-field{flex-direction:column;gap:.3rem;display:flex}.metric-field__head{align-items:baseline;gap:.6rem;display:flex}.metric-field__head label{font-weight:600}.metric-field__value{text-align:center;min-width:1.5rem;color:var(--color-primary);font-size:1.15rem;font-weight:650}.metric-field--unset .metric-field__value{color:var(--color-text-muted)}.suggestion-badge{color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:999px;padding:.05rem .5rem;font-size:.8rem}.metric-field__controls{align-items:center;gap:.6rem;display:flex}.metric-field__controls input[type=range]{accent-color:var(--color-primary);flex:1;min-height:44px}.metric-field--unset input[type=range]{opacity:.55}.stepper-button{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-text);cursor:pointer;border-radius:8px;font-weight:650}.stepper-button:disabled{opacity:.4;cursor:default}.stepper-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.metric-field__anchors{color:var(--color-text-muted);justify-content:space-between;font-size:.8rem;display:flex}.number-input{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);width:6rem;color:var(--color-text);text-align:center;border-radius:8px;padding:.5rem .6rem}.choice-select{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:.5rem .6rem}.checkbox-label{align-items:center;gap:.5rem;font-weight:600;display:flex}.field textarea{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);resize:vertical;border-radius:8px;padding:.6rem .75rem}.field textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.coverage-summary{color:var(--color-text-muted);margin:0 0 .75rem}.heatmap{gap:3px;padding-bottom:.25rem;display:flex;overflow-x:auto}.heatmap__week{flex-direction:column;gap:3px;display:flex}.heatmap__day{background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;width:14px;height:14px}.heatmap__day--recorded{background:var(--color-primary);border-color:var(--color-primary)}.heatmap__day--future{visibility:hidden}.field-label{font-size:.95rem;font-weight:600}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;min-height:44px;padding:.5rem .85rem;font-size:.95rem}.chip--selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.chip--more{color:var(--color-text-muted);border-style:dashed}.chip:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.template-button{font:inherit;text-align:left;border:1px dashed var(--color-primary);width:100%;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.15rem;margin-bottom:1rem;padding:.75rem 1rem;font-weight:600;display:flex}.template-button__hint{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.details-toggle{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.4rem 0;font-weight:600}.details-section{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.inline-add{flex-wrap:wrap;gap:.5rem;display:flex}.inline-add input{font:inherit;border:1px solid var(--color-border);border-radius:8px;flex:10rem;padding:.5rem .75rem}.inline-add .dose-input{flex:0 7rem}.med-row,.laterality-row{justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.intensity-word{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.95rem}.entry-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.entry-list__item{align-items:baseline;gap:.75rem;display:flex}.entry-list__time{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.entry-list__intensity{font-weight:650}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.button--outline{color:var(--color-primary);background:0 0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.head-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem 1rem;display:grid}.head-grid input{font:inherit;border:1px solid var(--color-border);border-radius:8px;padding:.5rem .75rem}.blood-table{flex-direction:column;gap:.35rem;display:flex;overflow-x:auto}.blood-row{grid-template-columns:minmax(9rem,1.4fr) 5.5rem 6.5rem minmax(9rem,1fr) 2.5rem;align-items:center;gap:.5rem;min-width:34rem;display:grid}.blood-row--head{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.blood-row__name{font-weight:600}.range-marker{color:var(--color-text-muted);border-left:3px solid var(--color-primary);margin-top:.15rem;padding-left:.4rem;font-size:.8rem;font-weight:400;display:block}.number-input--small{width:4rem}.ref-cell{color:var(--color-text-muted);align-items:center;gap:.3rem;display:flex}.autocomplete{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;gap:.15rem;max-height:16rem;margin:.25rem 0 0;padding:.25rem;list-style:none;display:flex;overflow-y:auto}.autocomplete__item{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;gap:.75rem;width:100%;padding:.5rem .6rem;display:flex}.autocomplete__item:hover,.autocomplete__item:focus-visible{background:var(--color-bg)}.autocomplete__category{color:var(--color-text-muted);font-size:.85rem}.blood-list__item{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.blood-list__item:last-child{border-bottom:none}.trend-chart{margin:.5rem 0}.trend-legend{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.85rem}.trend-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.5rem .75rem;font-size:.9rem;box-shadow:0 2px 6px #1f29331f}.trend-tooltip__ref{color:var(--color-text-muted)}.blood-row--trend{grid-template-columns:minmax(7rem,1fr) minmax(8rem,1.2fr) minmax(8rem,1fr) minmax(6rem,1fr);min-width:30rem}.section-heading{color:var(--color-text-muted);margin:1.25rem 0 .5rem;font-size:1rem}.app-main{padding-bottom:5.5rem}.main-nav{z-index:20;background:var(--color-surface);border-top:1px solid var(--color-border);padding:.3rem .5rem calc(.3rem + env(safe-area-inset-bottom));justify-content:space-around;align-items:stretch;gap:.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.main-nav__item{font:inherit;min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;font-size:.85rem}.main-nav__item--active{color:var(--color-primary);font-weight:650}.main-nav__item:focus-visible,.main-nav__capture:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.main-nav__capture{font:inherit;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:50%;align-self:center;width:52px;min-width:52px;height:52px;margin-top:-1.1rem;font-size:1.6rem;line-height:1;box-shadow:0 2px 6px #1f293340}@media (width>=900px){.main-nav{border-top:none;border-right:1px solid var(--color-border);flex-direction:column;justify-content:flex-start;gap:.35rem;width:11rem;padding:1.25rem .75rem;top:0;bottom:0;right:auto}.main-nav__item{text-align:left;flex:none;padding:.6rem .75rem;font-size:1rem}.main-nav__item--active{background:var(--color-bg)}.main-nav__capture{order:99;align-self:flex-start;margin-top:.75rem}.app-header,.app-main{margin-left:11rem}.app-main{padding-bottom:1rem}}.sheet-backdrop{z-index:30;background:#1f293373;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--color-surface);padding:1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;width:100%;max-width:26rem}@media (width>=900px){.sheet-backdrop{align-items:center}.sheet{border-radius:16px}}.sheet__heading{margin:0 0 .75rem;font-size:1.1rem}.sheet__list{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.sheet__action{font:inherit;text-align:left;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;border-radius:10px;min-height:44px;padding:.7rem .85rem;font-weight:600}.sheet__action:hover,.sheet__action:focus-visible{border-color:var(--color-primary);outline:none}.sheet__close{width:100%}.jump-to-date input{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:.4rem .5rem}.timeline-filters{margin-bottom:1rem}.timeline-month__heading{color:var(--color-text-muted);margin:1rem 0 .5rem;font-size:.95rem}.timeline{flex-direction:column;margin:0 0 1rem;padding:0;list-style:none;display:flex}.timeline-item{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.75rem;padding:.6rem 0;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-item__icon{border:1px solid var(--color-border);width:2rem;height:2rem;color:var(--color-text-muted);background:var(--color-bg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.9rem;font-weight:650;display:flex}.timeline-item__icon--checkin_week{color:var(--color-ok);border-color:var(--color-ok)}.timeline-item__icon--pain_day{color:var(--color-text)}.timeline-item__icon--blood_test,.timeline-item__icon--intervention_start,.timeline-item__icon--intervention_end{color:var(--color-primary);border-color:var(--color-primary)}.timeline-item__body{flex:1;min-width:0}.timeline-item__title{margin:0;font-weight:600}.timeline-item__detail{color:var(--color-text-muted);margin:.1rem 0 0;font-size:.9rem}.timeline-item__date{color:var(--color-text-muted);flex:none;padding-top:.2rem;font-size:.85rem}.timeline-limit{color:var(--color-text-muted);margin:0;font-size:.9rem}.device-list{margin-top:.75rem}.device-list__item{justify-content:space-between;align-items:center}.guide{border:1px solid var(--color-border);border-radius:10px;padding:.6rem .85rem}.guide summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.guide__steps{flex-direction:column;gap:.5rem;margin:.5rem 0 .25rem;padding-left:1.25rem;display:flex}.analysis-intro{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.95rem}.analysis-form{margin-top:1rem}.analysis-card{border:1px solid var(--color-border);border-radius:10px;margin-top:.75rem;padding:.85rem 1rem}.analysis-card__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.analysis-card__head h3{margin:0;font-size:1rem}.analysis-card__text{margin:.5rem 0}.badge{border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.badge--high{border-color:var(--color-ok);color:var(--color-ok)}.badge--medium{border-color:var(--color-primary);color:var(--color-primary)}.analysis-basis{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.85rem}.analysis-details{margin-top:.5rem;font-size:.9rem}.analysis-details summary{cursor:pointer;color:var(--color-primary);align-items:center;min-height:44px;font-weight:600;display:flex}.analysis-details__list{margin:.25rem 0}.analysis-details__row{justify-content:space-between;gap:1rem;padding:.15rem 0;display:flex}.analysis-details__row dt{color:var(--color-text-muted)}.analysis-details__row dd{font-variant-numeric:tabular-nums;margin:0}.analysis-details__note{color:var(--color-text-muted);margin:.35rem 0 0}.compare{flex-direction:column;gap:.3rem;margin:.5rem 0;display:flex}.compare__row{grid-template-columns:6rem 1fr 3rem;align-items:center;gap:.6rem;display:grid}.compare__label{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.85rem}.compare__track{background:var(--color-bg);border-radius:6px;height:14px}.compare__bar{background:var(--color-primary);border-radius:6px;min-width:2px;height:100%}.compare__value{text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:600}.settings-hint{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.95rem}a.button{text-align:center;text-decoration:none;display:inline-block}.button--danger{background:var(--color-error);border-color:var(--color-error)}.button--danger-outline{border-color:var(--color-error);color:var(--color-error);background:0 0}.onboarding-step{color:var(--color-text-muted);margin:0 0 .25rem;font-size:.85rem}.onboarding-metrics{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.onboarding-time{max-width:10rem;margin:.75rem 0}.onboarding-guide{margin:1rem 0}.onboarding-error{margin-top:.75rem}
