:root{--color-bg:#f8faf9;--color-surface:#fff;--color-text:#24312f;--color-muted:#667a76;--color-primary:#147d74;--color-primary-pressed:#0f655e;--color-response:#d65d4b;--color-response-soft:#fff1ed;--color-border:#dce7e4;--radius-card:8px;--tap-size:44px}*{box-sizing:border-box}:root{color:var(--color-text);background:var(--color-bg);font-synthesis:none;letter-spacing:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);min-width:320px;min-height:100vh}button,input,select{color:inherit;font:inherit;letter-spacing:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:2px}h1,p{margin-block-start:0}h1{margin-block-end:12px;font-size:1.55rem;line-height:1.25}.brand{color:var(--color-primary);margin-block-end:6px;font-size:.84rem;font-weight:700}.button{min-width:0;min-height:var(--tap-size);cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.48}.button--primary{color:#fff;background:var(--color-primary)}.button--primary:not(:disabled):active{background:var(--color-primary-pressed)}.button--quiet{color:var(--color-muted);background:0 0}.icon-button{width:var(--tap-size);flex:0 0 var(--tap-size);padding:0}.auth-page{min-height:100vh;padding:max(28px, env(safe-area-inset-top)) 16px 32px}.auth-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,560px);margin:0 auto;padding:24px}.auth-panel--login{max-width:420px}.auth-panel__header{margin-block-end:24px}.field{min-width:0;color:var(--color-text);gap:7px;margin-block-end:16px;font-size:.92rem;font-weight:650;display:grid}.field>span{min-width:0}.field input{width:100%;min-width:0;height:var(--tap-size);border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:0 12px}.field input:focus{border-color:var(--color-primary)}.field input[aria-invalid=true]{border-color:var(--color-response)}.field__error{color:var(--color-response);font-size:.82rem;font-weight:600;line-height:1.4}.form-summary{border-left:3px solid var(--color-response);color:var(--color-response);background:var(--color-response-soft);margin:0 0 16px;padding:10px 12px;font-size:.9rem;font-weight:700}.account-fields{border:0;border-top:1px solid var(--color-border);min-width:0;margin:8px 0 20px;padding:18px 0 0}.account-fields legend{padding:0 10px 0 0;font-weight:750}.account-fields__grid{gap:0 14px;min-width:0;display:grid}.toast{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:20;width:min(100% - 32px,440px);min-height:var(--tap-size);border-left:3px solid var(--color-response);color:var(--color-text);background:var(--color-response-soft);border-radius:6px;margin:auto;padding:12px 14px;position:fixed;left:16px;box-shadow:0 8px 24px #24312f1f}.centered-state{min-height:100vh;color:var(--color-muted);place-content:center;justify-items:center;gap:12px;padding:24px;display:grid}.app-shell{min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-header{width:min(100%,760px);min-height:64px;padding:max(8px, env(safe-area-inset-top)) 16px 8px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.app-shell__identity{min-width:0}.app-shell__identity .brand,.app-shell__name{margin-block-end:0}.app-shell__name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.app-content{width:min(100%,760px);margin:0 auto;padding:20px 16px 32px}.placeholder-page{min-width:0}.placeholder-page p{color:var(--color-muted)}.bottom-nav{z-index:10;border-top:1px solid var(--color-border);height:64px;padding:0 max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:0;min-height:var(--tap-size);color:var(--color-muted);justify-content:center;align-items:center;gap:5px;font-size:.78rem;font-weight:650;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--color-primary)}.bottom-nav a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width>=560px){.account-fields__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-fields__password{grid-column:1/-1}}.realtime-banner{width:100%;height:28px;color:var(--color-response);background:var(--color-response-soft);justify-content:center;align-items:center;padding:0 16px;font-size:.78rem;font-weight:700;display:flex}.realtime-banner[hidden]{visibility:hidden;display:flex}.today-loading,.today-error{min-height:220px;color:var(--color-muted);place-content:center;justify-items:center;gap:12px;display:grid}.today-page{min-width:0}.today-summary{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:20px;min-width:0;padding:4px 0 20px;display:flex}.today-eyebrow{color:var(--color-primary);margin:0 0 5px;font-size:.82rem;font-weight:750}.today-summary h1{margin:0;font-size:1.45rem}.today-count{flex:none;justify-items:end;line-height:1;display:grid}.today-count strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:3.25rem}.today-count span,.companion-count span{color:var(--color-muted);margin-top:6px;font-size:.82rem}.record-button{gap:8px;width:100%;margin-top:16px}.timeline-section{margin-top:28px}.timeline-section h2{margin:0 0 12px;font-size:1rem}.record-timeline{margin:0;padding:0;list-style:none}.record-row{border-top:1px solid var(--color-border);grid-template-columns:76px minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;padding:12px 0;display:grid}.record-row:last-child{border-bottom:1px solid var(--color-border)}.record-row__time{gap:3px;display:grid}.record-row__time time{font-size:.94rem;font-weight:750}.record-row__time span{color:var(--color-muted);font-size:.72rem}.record-row__content{min-width:0;padding-top:2px}.record-row__content p{overflow-wrap:anywhere;margin:0;line-height:1.45}.record-response{color:var(--color-response);font-size:.82rem;margin-top:5px!important}.record-row__actions{min-height:var(--tap-size);align-items:center;display:flex}.response-action,.record-response,.response-button,.quick-response{color:var(--color-response)}.response-button{white-space:nowrap;gap:5px;padding:0 8px}.timeline-empty{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:112px;color:var(--color-muted);text-align:center;padding:32px 0}.companion-summary{align-items:start;display:grid}.companion-count{min-width:0;display:grid}.companion-count strong{color:var(--color-primary);overflow-wrap:anywhere;font-size:1.5rem}.quick-responses{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.quick-response{border-color:color-mix(in srgb, var(--color-response) 35%, var(--color-border));background:var(--color-response-soft);gap:5px;padding:0 8px}.dialog-backdrop{z-index:40;background:#24312f6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,440px);max-height:min(640px,100vh - 32px);padding:18px;overflow-y:auto;box-shadow:0 18px 48px #24312f2e}.dialog-panel__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.dialog-panel__header h2{margin:0;font-size:1.08rem}.dialog-panel textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:88px;font:inherit;border-radius:6px;padding:10px 12px}.reaction-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.reaction-pill{min-width:0;min-height:var(--tap-size);border:1px solid var(--color-border);color:var(--color-response);background:var(--color-surface);font:inherit;border-radius:6px;padding:0 8px;font-weight:700}.reaction-pill[aria-pressed=true]{border-color:var(--color-response);background:var(--color-response-soft)}.dialog-copy{color:var(--color-muted);line-height:1.6}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.button--danger{background:var(--color-response)}.undo-toast{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:20;border-left:3px solid var(--color-primary);background:var(--color-surface);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:min(100% - 32px,440px);min-height:52px;margin:auto;padding:4px 6px 4px 14px;display:flex;position:fixed;left:16px;box-shadow:0 8px 24px #24312f24}.undo-toast__actions{flex:none;gap:4px;display:flex}.undo-toast__actions .button{padding:0 10px}.undo-toast--error{flex-wrap:wrap}.undo-toast--error .undo-toast__actions{margin-left:auto}@media (width<=420px){.record-row{grid-template-columns:64px minmax(0,1fr) auto;gap:6px}.response-button{width:var(--tap-size);padding:0}.response-button__label{display:none}}.page{min-width:0}.page-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:16px;min-width:0;padding:4px 0 18px;display:flex}.page-heading h1,.page-heading p{margin:0}.page-heading h1{font-size:1.45rem}.page-eyebrow{color:var(--color-primary);font-size:.82rem;font-weight:750;margin-bottom:5px!important}.segmented-control{border:1px solid var(--color-border);background:#eef4f2;border-radius:7px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;min-width:0;padding:3px;display:inline-grid}.segmented-control button{min-width:76px;min-height:var(--tap-size);color:var(--color-muted);white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:.82rem;font-weight:700}.segmented-control button[aria-pressed=true]{color:var(--color-text);background:var(--color-surface);box-shadow:0 1px 4px #24312f1a}.page-state{min-height:220px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:8px;display:grid}.trend-summary{margin:22px 0 12px;font-size:1rem;font-weight:700}.empty-inline{color:var(--color-muted);margin:-4px 0 16px;font-size:.88rem}.metric-strip{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.metric-strip>div{min-width:0;padding:14px 12px}.metric-strip>div+div{border-left:1px solid var(--color-border)}.metric-strip dt{color:var(--color-muted);font-size:.76rem}.metric-strip dd{overflow-wrap:anywhere;color:var(--color-primary);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:1rem;font-weight:750}.trend-chart{width:100%;min-width:0;margin:20px 0 0}.visually-hidden,.visually-hidden-table{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.companion-settings-link{justify-content:flex-end;margin:10px 0 0;display:flex}.companion-settings-link a{min-height:var(--tap-size);color:var(--color-primary);align-items:center;padding:0 8px;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-flex}.metric-strip--companion{margin-top:10px}.list-section{margin-top:28px}.list-section h2,.settings-section h2{margin:0;font-size:1rem}.response-list{margin:12px 0 0;padding:0;list-style:none}.response-list li{border-top:1px solid var(--color-border);grid-template-columns:52px minmax(0,1fr);gap:12px;min-width:0;padding:14px 0;display:grid}.response-list li:last-child{border-bottom:1px solid var(--color-border)}.response-list p{overflow-wrap:anywhere;margin:0;line-height:1.5}.response-list time{color:var(--color-muted);margin-top:4px;font-size:.76rem;display:block}.response-mark{border-left:3px solid var(--color-response);color:var(--color-response);align-self:start;padding:4px 0 4px 8px;font-size:.8rem;font-weight:750}.empty-list{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:96px;color:var(--color-muted);text-align:center;margin-top:12px;padding:32px 0}.settings-notice{border-left:3px solid var(--color-primary);color:var(--color-primary);background:#edf7f5;margin:14px 0 0;padding:9px 12px;font-size:.86rem;font-weight:700}.settings-section{margin-top:28px;scroll-margin-top:16px}.settings-section__heading{color:var(--color-primary);align-items:center;gap:8px;margin-bottom:8px;display:flex}.setting-row,.toggle-row,.preference-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:62px;padding:8px 0;display:flex}.setting-row:last-child,.notification-form>:last-child{border-bottom:1px solid var(--color-border)}.setting-row>div,.toggle-row>span,.preference-row>span{min-width:0}.setting-row p,.toggle-row strong,.preference-row strong{margin:0;font-size:.9rem;display:block}.setting-row span,.toggle-row small,.preference-row small{color:var(--color-muted);margin-top:3px;font-size:.78rem;font-weight:400;display:block}.setting-row .button{color:var(--color-primary);flex:none;padding:0 8px;font-size:.84rem}.toggle-row input[type=checkbox]{width:44px;height:24px;accent-color:var(--color-primary);flex:none}.preference-row .segmented-control button{min-width:58px}.quiet-hours{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0;display:grid}.quiet-hours label{color:var(--color-muted);gap:5px;font-size:.76rem;display:grid}.quiet-hours input{width:100%;min-width:0;height:var(--tap-size);border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:0 10px}.settings-state{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:72px;color:var(--color-muted);justify-content:center;align-items:center;gap:8px;display:flex}.settings-save-state{color:var(--color-primary);margin:8px 0 0;font-size:.8rem}.notification-setup{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:12px 0;display:grid}.notification-setup strong,.notification-setup small{display:block}.notification-setup strong{font-size:.9rem}.notification-setup small,.notification-setup__status{color:var(--color-muted);margin:3px 0 0;font-size:.78rem;line-height:1.45}.notification-setup .button{align-self:center}.notification-setup__status{grid-column:1/-1}.app-header__actions{flex:none;gap:2px;display:flex}.app-header__actions a{text-decoration:none}@media (width<=520px){.page-heading{flex-direction:column;align-items:stretch}.trends-page .segmented-control{width:100%}.metric-strip{grid-template-columns:1fr}.metric-strip>div{justify-content:space-between;align-items:baseline;gap:12px;padding:11px 4px;display:flex}.metric-strip>div+div{border-top:1px solid var(--color-border);border-left:0}.metric-strip dd{text-align:right;margin:0}.setting-row,.preference-row,.notification-setup{flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.setting-row .button,.preference-row .segmented-control,.notification-setup .button{align-self:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
