: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}
