@font-face{font-family:'Aptos Narrow';src:local('Aptos Narrow');font-weight:400;font-display:swap}@font-face{font-family:'Aptos Narrow';src:local('Aptos Narrow Bold');font-weight:600 900;font-display:swap}@font-face{font-family:'Roboto Condensed';src:url('/font-condensed.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:light;font-family:'Aptos Narrow','Roboto Condensed',sans-serif;font-size:17px;color:#18324b;background:#f5faff;--blue:#0878f9;--mint:#ccf9e9;--ink:#102740;--muted:#657991;--line:#e4ebf2;--green:#147b61}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#f2f7fd;transition:background .16s,transform .16s}button:hover{background:#e6f0fc}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0878f9;outline-offset:3px}.primary{color:#fff;background:var(--blue);border-color:var(--blue);font-weight:650}.primary:hover{background:#0069e4}.ui-icon,.nav-icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:9px;border:0;background:transparent}.text-button{border:0;background:transparent;color:var(--blue);padding:6px 10px}.quiet{background:transparent}.muted{color:var(--muted)}.small{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.12;letter-spacing:-.6px;margin:0;color:#091b32;font-weight:750}h2{font-size:26px;line-height:1.25;margin:0 0 14px;color:#102740}h3{font-size:21px;margin:0 0 12px}p{line-height:1.5}.eyebrow:empty{display:none}.eyebrow{font-size:13px;color:var(--muted)}.content{margin-left:220px}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:30px 20px;background:#fff;border-right:1px solid var(--line);z-index:10}.brand img{width:30px;height:30px;border-radius:9px}.sidebar nav{display:grid;gap:7px;margin-top:36px}.sidebar nav button{display:flex;align-items:center;gap:12px;background:transparent;border:0;text-align:left;padding:12px;color:var(--muted)}.sidebar nav button.active{background:#ddf9ef;color:#006de6;font-weight:650}.sidebar-foot{font-size:13px;color:var(--muted);margin-top:38px;line-height:1.8}.utility-header{max-width:1050px;padding:18px 30px 0;margin:auto;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:15px;color:var(--muted)}.utility-actions{display:flex;align-items:center;gap:8px}.profile-button{background:#eaf0fb;border-radius:50%;overflow:hidden;flex-shrink:0}.profile-button>img{display:block;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;flex:0 0 24px;object-fit:contain}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none;display:grid;place-items:center;width:36px;height:44px;border-radius:12px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary img{width:24px;height:24px}.header-actions{position:absolute;right:0;top:50px;width:230px;display:grid;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 30px #18324b16;z-index:30}.header-actions button{text-align:left;border:0;background:transparent}.account-menu:not([open]) .header-actions{display:none}main{max-width:1050px;margin:auto;padding:22px 30px 60px}.page-heading{margin-bottom:20px}.page-heading .muted{font-size:18px;margin:6px 0 0}.page-heading .muted:empty{display:none}.today-hero{position:relative;isolation:isolate;display:flex;align-items:center;gap:18px;min-height:145px;padding:20px;border-radius:17px;background:var(--mint);overflow:hidden}.today-ring-svg{width:106px;height:106px;display:block;flex-shrink:0}.today-ring-svg circle{fill:none;stroke-width:12}.ring-track{stroke:#adefdc}.ring-value{stroke:var(--blue);stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px;transition:stroke-dasharray .35s}.today-ring-svg text{fill:var(--blue);font-size:26px;font-weight:750}.hero-copy{position:relative;z-index:1;min-width:0}.hero-copy h2{font-size:30px;font-weight:750;margin-bottom:6px;white-space:nowrap;letter-spacing:-.5px}.hero-copy p{font-size:18px;color:#42637c;line-height:1.3;margin:0}.mint-leaves{position:absolute;right:-3px;bottom:-3px;width:84px;height:100px;object-fit:contain;z-index:0;opacity:.55;pointer-events:none}.main-actions{display:flex;align-items:stretch;gap:10px;margin:14px 0 24px}.main-actions button{display:flex;align-items:center;justify-content:center;gap:9px;font-size:19px;min-height:48px}.main-actions #create{flex:1.5}.main-actions #open-filters{flex:1;background:#eef4fc}.main-actions .primary .ui-icon{filter:brightness(0) invert(1)}.main-actions .primary .ui-icon{width:24px;height:24px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.panel-title h2,.panel-title h3{margin:0}.task-group{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.task-row{display:flex;align-items:center;gap:11px;padding:15px 13px;min-height:83px;border-bottom:1px solid var(--line);background:#fff;transition:opacity .18s}.task-row:last-child{border:0}.task-completion{display:flex;align-items:center;justify-content:center;min-width:38px;width:38px;height:44px;margin:0;cursor:pointer;flex-shrink:0}.task-completion input{appearance:none;-webkit-appearance:none;width:30px;height:30px;min-height:0;margin:0;padding:0;background:transparent url('/i-circle.svg') center/contain no-repeat;border:0;border-radius:50%;cursor:pointer;transition:transform .18s,background-color .18s}.task-completion input:checked{background:var(--blue) url('/i-check-white.svg') center/78% no-repeat;animation:check-pop .25s ease-out}.task-completion input:disabled{opacity:.4}.task-completion:focus-within{outline:2px solid var(--blue);outline-offset:1px;border-radius:50%}.task-row-body{flex:1;min-width:0}.task-name{display:block;padding:0;min-height:0;border:0;border-radius:0;background:none!important;text-align:left;font-size:20px;line-height:1.24;font-weight:650;overflow-wrap:anywhere;color:#102740}.task-name:hover{color:var(--blue)}.task-meta{font-size:15px;color:var(--muted);line-height:1.35;margin:5px 0 0}.task-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:80px;gap:4px;flex-shrink:0}.task-more{width:22px;min-width:22px;padding:1px}.task-more .ui-icon{width:18px;height:18px;opacity:.65}.tag{display:inline-flex;font-size:13px;font-weight:550;border-radius:8px;padding:5px 8px;white-space:nowrap}.tag.urgent{color:#bd263e;background:#ffe8ec}.tag.important{color:#8a5a00;background:#fff1c9}.tag.done{color:#147b61;background:#e4f6ee}.tag.doing{color:#745914;background:#fff4d5}.tag.todo,.tag.none{background:#edf2f8;color:#60718b}.tag.work{background:#eaf3ff;color:#2165ac}.tag.family{background:#e9f7ef;color:#267554}.tags{display:flex;flex-wrap:wrap;gap:6px}.late{color:#b9344d}.completed .task-name{color:#7d8b9b;text-decoration:line-through}.completed .task-meta{color:#8491a1}.completion-pending{opacity:.6}.today-habits{margin-top:24px}.habit-compact-row{display:flex;gap:11px;align-items:center;padding:16px 13px;border-bottom:1px solid var(--line);min-height:65px}.habit-compact-row:last-child{border:0}.habit-compact-body{flex:1;min-width:0}.habit-compact-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.habit-compact-title .muted{font-size:15px;white-space:nowrap}.habit-compact-title .task-name{font-size:20px}.habit-compact-row progress{height:8px;margin-top:9px}.habit-done .task-completion input:checked{background-color:var(--green)}progress{width:100%;height:9px;accent-color:var(--blue);border:0;border-radius:10px;overflow:hidden;background:#e8eef7;display:block}progress::-webkit-progress-bar{background:#e8eef7;border-radius:10px}progress::-webkit-progress-value{background:var(--blue);border-radius:10px}progress::-moz-progress-bar{background:var(--blue);border-radius:10px}.empty{padding:28px 18px;text-align:center;background:#fff;border-radius:16px;color:var(--muted);border:1px solid var(--line)}.empty h3{font-size:22px;color:var(--ink);margin-bottom:8px}.empty p{margin:0}.task-group>.empty{border:0}.empty-habit{width:100%;min-height:72px;border:0;background:#fff;color:var(--blue)}.overdue-link{margin:14px 0 0;width:100%;color:#a4384c;background:#fff3f5;border-color:#f6d9de}.completed-list,#today-completed{margin-top:20px}.completed-list summary,#today-completed summary{cursor:pointer;padding:14px 0;color:var(--muted)}footer{margin:35px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:#8293a7;line-height:1.7}footer span{display:block}.bottom-nav{display:none}.segments{display:flex;gap:4px;padding:4px;background:#eaf1f9;border-radius:12px;margin:0 0 18px;max-width:440px}.segments button{flex:1;min-height:40px;border:0;background:transparent;color:var(--muted);padding:8px 16px}.segments button[aria-pressed=true]{color:#fff;background:var(--blue)}#shell[data-page=overview] #task-view-switch{display:none}.period-bar{margin:12px 0 18px}.period-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.period-navigation strong{text-align:center;font-size:19px}.period-navigation button{width:48px;height:48px;font-size:30px;line-height:1;color:var(--blue);background:#eaf3ff;border:0}.period-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.period-options>*{flex:1;min-width:0}.period-options label{margin:0}.period-options input,.period-options select{margin:0;min-height:44px;width:100%;font-size:15px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:16px 0}.week-day{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:64px;border:1px solid var(--line);background:#fff;padding:9px 2px;color:var(--muted);position:relative}.week-day strong{font-size:21px;color:var(--ink)}.week-day span{font-size:13px;text-transform:capitalize}.week-day[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}.week-day[aria-pressed=true] strong{color:white}.week-dot{position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:var(--blue)}.week-day[aria-pressed=true] .week-dot{background:#fff}.month-toggle{padding:7px 0;min-height:44px;border:0;color:var(--blue)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-nav h2{font-size:20px;margin:0}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:13px;text-align:center;color:var(--muted);margin-bottom:6px}.calendar-day{min-height:50px;position:relative;padding:6px;background:white;border:0}.calendar-day.outside{opacity:.35}.calendar-day.today{font-weight:750}.calendar-day[aria-pressed=true]{background:var(--blue);color:#fff}.day-dots{display:flex;justify-content:center;gap:3px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b7c5d6}.dot.done{background:#3aa281}.dot.doing{background:#e1b354}.dot.todo{background:#a2b0c6}.dot.work-dot{background:#5d96db}.dot.family-dot{background:#70b599}.day-count{font-size:10px;position:absolute;right:4px;top:3px}.month-panel{margin:12px 0 20px;max-width:500px}.day-panel .panel-title h2{font-size:21px}.day-panel .panel-title button{font-size:15px;white-space:nowrap}.time-grid{position:relative;margin:22px 0 18px}.time-hour{height:66px;display:grid;grid-template-columns:49px 1fr}.time-hour>time{font-size:14px;color:var(--muted);transform:translateY(-8px)}.time-gap{border:0;border-top:1px dashed #dde6ee;min-height:0;border-radius:0;background:none;text-align:left;font-size:13px;color:#8b9aab;padding:5px 12px;align-self:stretch}.time-gap:hover{background:#eaf5ff}.time-gap span{display:block}.time-events{position:absolute;left:49px;right:0;top:0;bottom:0;pointer-events:none}.time-event{position:absolute;pointer-events:auto;display:flex;gap:5px;align-items:flex-start;background:#e7f2ff;border-left:3px solid #0878f9;border-radius:8px;padding:8px 6px;overflow:auto;min-width:0}.time-event .task-name{font-size:16px;font-weight:650}.time-event .task-completion{width:27px;min-width:27px;height:29px}.time-event .task-completion input{width:23px;height:23px}.time-event-body{min-width:0}.time-event p{font-size:12px;margin:4px 0 0;color:#627c98}.time-event.priority-urgent{border-left-color:#d83650}.time-event.priority-important{border-left-color:#d59c2b}.time-event.priority-urgent.priority-important{border-left-color:#d83650}.section-title{font-size:22px;margin:24px 0 12px}.unscheduled-section,#calendar-habits{margin-top:26px}#calendar-habit-list{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.habit-list{display:grid;gap:14px;margin-top:16px}.habit-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;min-width:0}.habit-top{display:flex;align-items:center;gap:10px}.habit-top .task-name{flex:1}.habit-body{margin:3px 0 0 48px}.habit-count{margin:3px 0 9px;color:var(--muted);font-size:16px}.habit-counter{display:flex;align-items:center;gap:8px;margin:12px 0}.habit-counter input{width:68px;min-height:44px;margin:0;text-align:center}.habit-counter button{width:44px;height:44px;font-size:23px;padding:3px}.habit-detail{margin-top:15px}.habit-detail summary{cursor:pointer;color:var(--muted);font-size:15px;min-height:30px}.habit-history{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0}.habit-history button{padding:6px 1px;min-width:0;font-size:13px}.habit-history small{display:block;font-size:10px;margin-top:5px}.history-done{background:#dff7ed;color:#126a53}.habit-schedule{display:flex;gap:12px;flex-wrap:wrap}.habit-schedule label{display:flex;align-items:center;gap:4px}.habit-schedule input{width:20px;height:20px;margin:0}.habit-view-switch{margin-bottom:12px}.toolbar{display:flex;align-items:center;gap:10px;margin:14px 0}.toolbar label{margin:0;font-size:14px;color:var(--muted)}.toolbar select{margin:5px 0;font-size:15px}.panel{padding:22px;background:white;border:1px solid var(--line);border-radius:17px}.fitness-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.steps-total{font-size:72px;font-weight:750;color:#0878f9;line-height:1.1;margin:14px 0}.fitness-hero progress{margin:15px 0}.fitness-history{margin-top:20px}.fitness-day{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.fitness-day strong{text-align:right}.fitness-day progress{grid-column:1/-1;height:7px}.fitness-next{margin-top:20px}.goal-input{display:flex;align-items:center;gap:9px;margin:10px 0}.goal-input input{min-width:0;margin:0}.goal-input button{white-space:nowrap}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.note-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:17px;min-width:0}.note-card h3{font-size:25px;margin-top:15px}.note-top,.note-foot,.note-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.note-top{justify-content:space-between}.note-body{font-size:18px;line-height:1.6;color:#50657e;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.pin-mark{color:#7b642c;font-size:13px}.note-foot{justify-content:space-between;margin-top:18px;color:var(--muted);font-size:13px}.note-actions button{font-size:14px;padding:8px 10px;background:#f4f8fd}.motivation{padding:25px;border-radius:18px;background:#fff;margin-bottom:24px;border:1px solid var(--line)}.points-total{font-size:44px;margin-bottom:5px}.level-name{font-size:24px;color:#52708e;margin-bottom:20px}.motivation progress{margin-bottom:12px;max-width:500px}.reward-list{margin-top:25px}.reward-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.reward-row strong{color:var(--blue);font-size:23px}.reward-row time{font-size:13px;color:var(--muted)}.achievement{display:flex;align-items:center;gap:12px;background:#e6f8ef;padding:15px;border-radius:12px;margin-top:20px}.motivation details{margin-top:20px}.motivation summary{cursor:pointer;min-height:44px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;padding:18px}.stat p{font-size:14px;margin:0;color:var(--muted)}.stat strong{font-size:32px}.stat-icon{width:32px;height:32px}.charts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.progress-body{display:flex;align-items:center;gap:25px}.ring{width:140px;max-width:45%;fill:none;flex-shrink:0}.ring circle{fill:none;stroke-width:11}.ring-track{stroke:#e8eef7}#ring-value{stroke:var(--blue);stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px}.ring text{fill:var(--blue);font-size:24px;font-weight:700}.legend-row{display:flex;align-items:center;gap:8px;font-size:15px;margin:10px 0}.legend-row b{margin-left:auto}.weekly{display:flex;gap:7px;justify-content:space-between}.day-bar{flex:1;min-width:0;text-align:center}.day-bar svg{width:100%;max-height:140px}.day-label{display:block;font-size:11px;color:var(--muted)}.bar-rect{fill:#79b7ff}.bar-zero{fill:#e4edf7}.bar-value{fill:#52708e;font-size:15px}.chart-note{font-size:12px;margin:16px 0 0;color:var(--muted)}dialog{max-width:620px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:22px;padding:24px;color:var(--ink);background:#fff;max-height:90dvh;overflow:auto;box-shadow:0 18px 70px #142b4b25}dialog::backdrop{background:#17344c66;backdrop-filter:blur(3px)}dialog .panel-title{margin-bottom:22px}dialog h2{font-size:26px}dialog p,dialog li{font-size:16px;line-height:1.65}dialog label{display:block;margin:15px 0;font-size:15px;color:#526d86}input,select,textarea{display:block;width:100%;min-height:46px;background:#f6f9fd;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:7px 0 0;font-size:17px}textarea{resize:vertical;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checks{display:flex;gap:18px}.checks label{display:flex;align-items:center;gap:8px}.checks input{width:22px;height:22px;min-height:0;margin:0;accent-color:var(--blue)}fieldset{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:10px 14px}legend{font-size:15px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:12px;border-top:1px solid var(--line)}.form-error,[role=alert]{color:#b72e46;overflow-wrap:anywhere}.form-error:empty{display:none}.close{font-size:24px;line-height:1;padding:6px 12px}.filter-sheet{max-width:500px}.filter-sheet .dialog-actions{position:sticky;bottom:-24px;background:white;padding:16px 0;margin-bottom:-5px}.filter-sheet .dialog-actions .primary{flex:1}#note-dialog{max-width:800px}#note-form>label:first-of-type input{font-size:27px;font-weight:650;background:#fff;border-color:transparent;padding-left:0}#note-form textarea{font-size:19px;line-height:1.65;background:#fff;border:0;padding:10px 0;min-height:290px}#note-form>label:nth-of-type(2){font-size:0}#fitness-dialog{max-width:700px}#fitness-dialog h3{margin-top:28px}#fitness-dialog button{margin-top:8px}#fitness-key-box{padding:16px;background:#edf5ff;border-radius:14px;margin-top:15px}.shortcut-guide{padding-left:23px}.shortcut-guide li{margin:12px 0}#fitness-revoke{color:#b9344d}.login{max-width:540px;margin:6vh auto;padding:32px}.login .brand{display:block;margin-bottom:36px}.login h1{font-size:46px;margin-bottom:18px}.login .eyebrow{margin-top:0;font-size:13px;letter-spacing:1px}.login form{padding:25px;background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:28px}.login label{display:block;color:var(--muted)}.login button{margin-top:18px;width:100%;font-size:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);width:max-content;z-index:100;display:flex;align-items:center;gap:15px;padding:13px 18px;background:#fff;color:#294762;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px #17344c20;font-size:16px}#toast span{min-width:0;overflow-wrap:anywhere}#toast button{flex-shrink:0}#active-filter-summary{margin:-8px 0 18px}
@keyframes check-pop{0%{transform:scale(.8)}60%{transform:scale(1.13)}100%{transform:scale(1)}}
@media(min-width:1100px){#shell[data-page=overview] main{max-width:1000px}#today-view .today-hero{min-height:180px}#today-content{display:grid;grid-template-columns:1.2fr 1fr;column-gap:28px}#today-content>.panel-title{grid-column:1}#today-tasks{grid-column:1}#today-overdue{grid-column:1}#today-content .today-habits{grid-column:2;grid-row:1/4;margin:0}#today-completed{grid-column:1/-1}.today-ring-svg{width:130px;height:130px}.hero-copy h2{font-size:38px}.hero-copy p{font-size:22px}}
@media(max-width:800px){.sidebar{display:none}.content{margin:0}.utility-header{position:absolute;right:16px;left:16px;top:40px;padding:0;max-width:none;justify-content:flex-end;pointer-events:none;z-index:20}.utility-actions{pointer-events:auto;gap:2px}.breadcrumb{display:none}.profile-button{width:42px;min-width:42px;height:42px}.profile-button .ui-icon{width:24px;height:24px}.account-menu summary{width:25px;height:42px}.account-menu summary img{width:23px}.page-heading{padding-right:78px;margin-bottom:18px}.page-heading .muted{font-size:17px;white-space:nowrap}.page-heading h1{font-size:40px;line-height:1.18}.page-heading #today{display:none}main{padding:42px 16px 105px}.today-hero{min-height:126px;padding:14px;gap:14px;border-radius:15px}.today-ring-svg{width:96px;height:96px}.hero-copy h2{font-size:28px;letter-spacing:-.5px}.hero-copy p{font-size:17px;white-space:nowrap}.main-actions{margin:14px 0 24px}.main-actions button{min-height:48px;font-size:19px}.panel-title h2{font-size:25px}.panel-title .text-button{font-size:14px;padding:4px 7px;min-height:34px}.task-row{gap:9px;padding:12px 10px;min-height:70px}.task-name{font-size:18px}.task-meta{font-size:14px;margin-top:4px}.task-completion{width:32px;min-width:32px}.task-completion input{width:29px;height:29px}.task-badges{max-width:65px}.tag{font-size:12px;padding:5px 7px}.task-more{width:14px;min-width:14px}.task-more .ui-icon{width:15px;height:15px}.today-habits{margin-top:23px}.habit-compact-row{min-height:58px;padding:13px 10px;gap:9px}.habit-compact-title .task-name{font-size:18px}.habit-compact-title .muted{font-size:14px}.today-habits .panel-title{margin-bottom:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;background:#fffffff7;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:5px 10px calc(5px + env(safe-area-inset-bottom,0px));z-index:25}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:#63738d;border-radius:12px;padding:6px 1px;min-height:54px;min-width:0}.bottom-nav .nav-icon{width:25px;height:25px;filter:grayscale(1);opacity:.72}.bottom-nav button b{font-size:12px;font-weight:500;white-space:nowrap}.bottom-nav button.active{color:#0878f9;background:#defaf0}.bottom-nav button.active .nav-icon{filter:none;opacity:1}.bottom-nav button.active b{font-weight:700}.notes-grid{grid-template-columns:1fr}.note-card{padding:20px}.note-body{font-size:18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px;gap:10px}.stat p{font-size:13px}.stat strong{font-size:28px}.stat-icon{width:26px;height:26px}.charts{grid-template-columns:1fr}.fitness-grid{grid-template-columns:1fr}.fitness-grid .panel{padding:20px}.steps-total{font-size:66px}.habit-body{margin-left:42px}.habit-card{padding:13px}.habit-history{gap:3px}.habit-history button{font-size:12px}.habit-history small{font-size:9px}.habit-counter input{width:59px}.habit-counter{gap:6px}.habit-counter button{width:40px}.habit-history .history-done{border-color:#a9d9c8}#toast{bottom:84px;padding:11px 14px;font-size:15px;gap:8px}.period-navigation strong{font-size:17px}.period-options{gap:6px}.period-options button{font-size:14px;padding:8px}.period-options input,.period-options select{font-size:14px}.period-options label{min-width:100px}#period-mode-label{flex-basis:100%}.week-strip{gap:4px}.week-day{min-height:62px;border-radius:11px}.week-day span{font-size:12px}.week-day strong{font-size:21px}.day-panel .panel-title h2{font-size:20px}.day-panel .panel-title button{font-size:14px;padding:8px 11px}.day-summary{font-size:14px}.time-hour{grid-template-columns:43px 1fr}.time-events{left:43px}.time-event .task-completion{width:23px;min-width:23px}.time-event .task-completion input{width:22px;height:22px}.time-event .task-name{font-size:15px}.time-gap{padding-left:9px}.time-gap span{font-size:12px}.time-event p{font-size:11px}.time-event{padding:7px 4px;gap:4px}dialog{width:calc(100% - 20px);padding:20px;border-radius:20px;max-height:92dvh}.form-grid{gap:10px}dialog label{font-size:15px}.filter-sheet{margin:auto 0 0;width:100%;max-width:none;border-radius:24px 24px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px));max-height:90dvh}.filter-sheet .dialog-actions{bottom:-20px}.reward-row{grid-template-columns:36px 1fr}.reward-row time{grid-column:2}#task-view-switch{margin-top:2px}#shell[data-page=overview] .main-actions{margin-bottom:24px}#shell[data-page=overview] .page-heading{padding-right:68px}#shell[data-page=overview] .page-heading .muted{font-size:17px}#note-dialog{max-height:100dvh;height:100dvh;width:100%;border:0;border-radius:0;margin:0}#note-form textarea{min-height:40dvh}.login{padding:28px;margin-top:3vh}.login h1{font-size:40px}}
@media(max-width:360px){main{padding-left:14px;padding-right:14px}.page-heading h1{font-size:35px}.page-heading .muted,#shell[data-page=overview] .page-heading .muted{font-size:15px}.today-ring-svg{width:81px;height:81px}.today-hero{gap:10px;padding:12px;min-height:113px}.hero-copy h2{font-size:25px}.hero-copy p{font-size:15px}.task-row{gap:6px;padding:12px 8px}.task-name{font-size:17px}.task-badges{max-width:58px}.tag{font-size:11px;padding:4px 6px}.task-more{display:none}.task-completion{width:30px;min-width:30px}.task-meta{font-size:13px}.bottom-nav{padding-left:5px;padding-right:5px}.bottom-nav button b{font-size:11px}.habit-compact-title .muted{font-size:13px}.habit-compact-title .task-name{font-size:17px}.habit-counter input{width:50px;padding:7px}.habit-counter button{width:34px}.habit-body{margin-left:38px}.habit-history small{font-size:8px}.form-grid{grid-template-columns:1fr}.period-navigation strong{font-size:15px}.reward-row{gap:8px}.utility-header{top:40px;right:12px}.profile-button{width:38px;min-width:38px;height:38px}.account-menu summary{width:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.main-actions img{width:24px;height:24px;flex-shrink:0;object-fit:contain}.main-actions button{min-width:0}.main-actions span{white-space:nowrap}.main-actions #open-filters img{width:25px;height:25px}#shell[data-page=overview] .page-heading{margin-bottom:14px}.today-ring-svg{width:106px;height:106px}.today-hero{padding:10px;gap:14px}.hero-copy h2{font-size:28px}#shell[data-page=overview] .page-heading .muted{margin-top:4px}
@media(max-width:800px){.bottom-nav button b{font-size:12px}.main-actions #create{flex:1.5}.main-actions #open-filters{flex:1}#shell[data-page=overview] .page-heading{margin-bottom:14px}.today-hero{padding:10px}.today-ring-svg{width:106px;height:106px}.hero-copy h2{font-size:28px}.hero-copy p{font-size:17px}}
@media(max-width:360px){.today-ring-svg{width:84px;height:84px}.hero-copy h2{font-size:24px}.hero-copy p{font-size:15px}.today-hero{min-height:112px;gap:9px}.main-actions button{font-size:18px}}
@media(max-width:800px){#shell[data-page=overview] .main-actions{margin-bottom:18px}.panel-title{margin-bottom:6px}.task-completion{width:38px;min-width:38px}.task-completion input{width:36px;height:36px}.task-row{padding-left:12px;gap:10px}.task-badges{max-width:62px}.today-habits{margin-top:18px}.habit-compact-row{min-height:62px;padding:9px 10px}.habit-compact-row .task-completion{width:36px;min-width:36px}.habit-compact-row .task-completion input{width:34px;height:34px}.habit-compact-title .task-name{font-size:19px}.hero-copy h2{font-size:29px}.hero-copy p{font-size:17px}}
@media(max-width:360px){.task-completion{width:32px;min-width:32px}.task-completion input{width:31px;height:31px}.task-row{gap:6px;padding-left:8px}.hero-copy h2{font-size:24px}.hero-copy p{font-size:15px}.habit-compact-row .task-completion{width:32px;min-width:32px}.habit-compact-row .task-completion input{width:31px;height:31px}}
.today-ring-svg .ring-track{stroke:#adf0dd}.today-ring-svg .ring-value{stroke:#0878f9}
@media(max-width:800px){.task-row{position:relative}.task-row .task-more{position:absolute;right:3px;top:50%;transform:translateY(-50%)}.task-row .task-badges{margin-right:10px}.task-row .task-name{font-weight:600;letter-spacing:-.3px}.today-habits{margin-top:17px}.today-habits .panel-title{margin-bottom:7px}}
.habit-help{font-size:14px;color:var(--muted);margin:12px 0}.habit-help summary{cursor:pointer;min-height:32px}.day-panel #plan-add{display:none}
@media(max-width:800px){#shell[data-page=calendar] .main-actions{justify-content:flex-end;margin:10px 0 14px}#shell[data-page=calendar] #create{position:fixed;right:18px;bottom:90px;width:52px;height:52px;min-height:52px;min-width:52px;border-radius:50%;z-index:26;box-shadow:0 6px 20px #0878f92b;flex:none;padding:10px}#shell[data-page=calendar] #create span{display:none}#shell[data-page=calendar] #open-filters{flex:none;font-size:16px;min-height:42px}#shell[data-page=calendar] .period-bar{margin-top:0}}
.period-navigation button img,.calendar-nav button img{width:24px;height:24px;display:block;margin:auto}.calendar-nav button{min-width:44px}

.danger{color:#b32638;background:#fff0f2;border-color:#f2cbd2}.dialog-actions{flex-wrap:wrap}.trash-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.trash-row span{overflow-wrap:anywhere}.trash-row button{flex-shrink:0}

/* Explicit bounds prevent intrinsic SVG sizes escaping icon buttons in Safari. */
.icon-button{flex-shrink:0;overflow:hidden}.icon-button>img{display:block;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;flex:0 0 24px;object-fit:contain}

#legacy-login{margin-top:20px}#legacy-login summary{padding:14px 0;color:var(--muted);cursor:pointer}#email-auth-message,#account-message,#link-error{line-height:1.45;overflow-wrap:anywhere}#account-dialog h3{margin-top:24px}#invite-form,#owner-email-form{display:grid;gap:12px}#account-users{margin-top:20px}#link-confirm{margin-top:24px}#account-address{font-weight:650;overflow-wrap:anywhere}

#setup-password,#password-auth{display:grid;gap:14px}#share-link-box{margin-top:18px;padding:14px;background:#f1fbf7;border-radius:14px}#share-link{font-size:14px;overflow-wrap:anywhere}#account-users .trash-row{flex-wrap:wrap}#account-users .trash-row>span{flex-basis:100%}#owner-password{margin-bottom:12px}

/* Intrinsic sizing on Safari date/time controls must not set grid or dialog widths. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*{min-width:0}fieldset{min-inline-size:0}input,select,textarea{min-width:0;max-width:100%}input[type=date],input[type=time]{min-inline-size:0;max-inline-size:100%;inline-size:100%;-webkit-appearance:none;appearance:none}input::-webkit-date-and-time-value{text-align:left;min-width:0}input::-webkit-datetime-edit{padding:0}
dialog{max-inline-size:calc(100vw - 24px);overflow-x:hidden}dialog form,dialog label{min-width:0;max-width:100%}dialog input,dialog select,dialog textarea{font-size:16px}dialog .form-grid input{width:100%}.task-row{cursor:pointer}.task-row .task-badges{margin-right:0;max-width:95px;flex-shrink:0}.task-row .task-name{min-height:44px;display:flex;align-items:center;width:100%}
#task-dialog{padding:16px;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overscroll-behavior:contain;scroll-padding:72px 0 86px}#task-form{margin:0}#task-form .task-editor-heading{position:sticky;top:-16px;z-index:3;background:#fff;margin:-16px -16px 8px;padding:12px 16px;border-bottom:1px solid var(--line)}#task-form h2{font-size:24px;line-height:1.2;margin:0}#task-form label{margin:9px 0;font-size:14px}#task-form input,#task-form select,#task-form textarea{margin-top:5px;min-height:44px;padding:9px 10px}#task-form textarea{height:90px;max-height:150px;resize:vertical}#task-form .form-grid{gap:12px}#task-form .task-basics{grid-template-columns:repeat(2,minmax(0,1fr))}.task-planning{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:0 12px}.task-planning>summary{font-size:16px;font-weight:600;cursor:pointer;min-height:46px;padding:13px 0}.task-planning p{font-size:13px;line-height:1.4;margin:6px 0 12px}#task-form .task-priorities{gap:24px;margin:6px 0}#task-form .task-priorities label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;font-size:16px}#task-form .task-priorities input{width:22px;height:22px;min-height:22px;margin:0;padding:0}#task-form .form-error:empty{display:none}#task-form .task-editor-actions{position:sticky;z-index:3;bottom:-16px;margin:10px -16px -16px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);display:flex;flex-wrap:nowrap;gap:10px}#task-form .task-editor-actions button{flex:1;min-width:0;min-height:44px;font-size:16px;padding:10px 8px}#task-form .task-editor-actions .primary{flex:1.2}.settings-list{display:grid;gap:12px}.settings-list button{text-align:left;min-height:52px;padding:14px 16px}#invite-dialog h2{font-size:24px}#invite-dialog{scroll-padding-bottom:24px}
@media(max-width:600px){.period-options{min-width:0}.period-options>*{min-width:0}.period-options input[type=date]{font-size:16px}.form-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){#task-dialog{padding:14px}#task-form .task-editor-heading{top:-14px;margin:-14px -14px 8px;padding:10px 14px}#task-form .task-editor-actions{bottom:-14px;margin:10px -14px -14px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}#task-form .task-basics{gap:8px}#task-form h2{font-size:22px}}

/* Compact reading density; input text stays 16px to prevent iOS focus zoom. */
:root{font-size:16px}h1{font-size:34px}h2{font-size:23px}h3{font-size:19px}.page-heading{margin-bottom:16px}.page-heading .muted{font-size:16px}.hero-copy h2{font-size:25px;white-space:normal}.hero-copy p{font-size:16px;white-space:normal}.today-hero{min-height:116px;padding:16px;gap:14px}.today-ring-svg{width:86px;height:86px}.main-actions{margin:12px 0 18px}.main-actions button{font-size:17px}.panel-title h2{font-size:22px}.task-row{padding:10px 12px;min-height:64px}.task-name,.habit-compact-title .task-name{font-size:17px;line-height:1.25}.task-meta{font-size:13px;margin-top:2px}.task-row .task-name{min-height:36px}.habit-compact-title .muted{font-size:13px}.habit-compact-row{padding:10px 12px;min-height:58px}.note-body{font-size:16px;line-height:1.5}.note-card{padding:16px}.note-card h3{font-size:19px}.period-navigation strong{font-size:16px}.day-summary{font-size:13px}#task-form h2,#invite-dialog h2{font-size:21px}dialog h2{font-size:22px}dialog label{font-size:14px}dialog input,dialog select,dialog textarea{font-size:16px}.settings-list button{font-size:16px}.login h1{font-size:36px}.login form{padding:20px}.login button{font-size:17px}.login label{font-size:15px}.login input{font-size:16px}#password-auth,#setup-password{gap:10px}
@media(max-width:800px){.page-heading h1{font-size:32px}.page-heading .muted,#shell[data-page=overview] .page-heading .muted{font-size:15px}.page-heading{margin-bottom:14px}.today-hero{min-height:104px;padding:12px;gap:12px}.today-ring-svg{width:78px;height:78px}.hero-copy h2{font-size:23px;line-height:1.15;letter-spacing:-.25px}.hero-copy p{font-size:15px;line-height:1.3}.main-actions{margin:12px 0 18px}#shell[data-page=overview] .main-actions{margin-bottom:18px}.main-actions button{font-size:17px;min-height:46px}.panel-title h2{font-size:22px}.task-row{padding:9px 10px;min-height:62px}.task-name,.habit-compact-title .task-name{font-size:16px}.task-meta{font-size:13px}.habit-compact-row{padding:9px 10px}.habit-compact-title .muted{font-size:13px}.today-habits{margin-top:18px}.note-body{font-size:16px}.note-card{padding:16px}.period-navigation strong{font-size:15px}.day-panel .panel-title h2{font-size:18px}.login h1{font-size:32px}.login{margin-top:2vh;padding:24px}.login .brand{margin-bottom:22px}.segments button{font-size:15px}.stat strong{font-size:25px}}
@media(max-width:360px){.page-heading h1{font-size:30px}.hero-copy h2{font-size:21px}.hero-copy p{font-size:14px}.today-ring-svg{width:70px;height:70px}.today-hero{gap:10px}.task-row .task-badges{max-width:75px}}

#telegram-dialog>button,#telegram-link{display:block;width:100%;margin:12px 0;min-height:44px}#telegram-link{padding:12px 16px;text-decoration:none;border-radius:12px;text-align:center}#telegram-error{color:#b32638}#telegram-status{font-weight:600}

/* Focus the daily workflow; preserve 44px actions and 16px inputs. */
#shell[data-page=tasks]:not([data-task-period=week]) .period-navigation{display:none}#shell[data-page=tasks]:not([data-task-period=week]) #period-now{display:none}#shell[data-page=tasks][data-task-period=all] #period-date{display:none}#shell[data-page=tasks][data-task-period=all] .period-options>label:not(#period-mode-label){display:none}#shell[data-page=tasks] #period-mode-label{display:none!important}#shell[data-page=calendar] .period-options,#shell[data-page=habits] .period-options{display:none}.period-navigation{margin-bottom:10px}.habit-view-options{margin:8px 0 12px}.habit-view-options>summary,.fitness-settings>summary{cursor:pointer;min-height:44px;padding:12px 14px;color:#294762;background:#edf4fb;border-radius:12px}.habit-view-options[open]{padding-bottom:10px}.habit-view-options .toolbar{margin:10px 0}.habit-help{margin:0}.habit-view-switch{margin-bottom:8px}.fitness-settings{border:1px solid var(--line);border-radius:14px;overflow:hidden}.fitness-settings>section{border:0;margin:0}.fitness-grid{display:block}.fitness-hero{margin-bottom:12px}.fitness-history{margin-top:16px}#steps-updated{color:#4b637c}.motivation{margin-top:18px;padding:18px}.points-total{font-size:26px}.reward-row{padding:8px 0}.motivation>.level-name{margin:5px 0}.motivation .reward-list{margin-top:12px}#progress-view .stats{margin-bottom:14px}#progress-view .charts{gap:14px}.chart-note{font-size:13px;color:#4b637c}#note-dialog{padding:0;overflow:hidden}#note-form{height:100%;display:flex;flex-direction:column;overflow:auto;padding:18px}#note-form>.panel-title{position:sticky;top:-18px;z-index:4;background:#fff;padding:12px 0;margin-top:-18px;gap:8px;flex-wrap:wrap}#note-form>.panel-title h2{font-size:22px;flex:1}#note-save-status{font-size:13px;color:#4b637c}#note-form textarea{min-height:34dvh;flex:1}#note-form>.dialog-actions{position:sticky;bottom:-18px;z-index:4;background:#fff;margin:12px -18px -18px;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}#note-form>.dialog-actions button{min-height:44px;flex:1;font-size:16px}.header-actions #open-account,.header-actions #open-trash,.header-actions #telegram{display:none}.muted{color:#566e86}.task-meta{color:#566e86}.week-dot{background:#0878f9;width:5px;height:5px;border-radius:50%;display:block;margin:3px auto 0}.week-day{position:relative}#calendar-now{margin:6px 0 12px;color:var(--blue)}
@media(max-width:800px){#shell[data-page=habits] .main-actions{margin:10px 0}.habit-list{gap:10px}.habit-card{padding:12px}.habit-body{margin-left:0}.habit-counter{margin-top:8px}.habit-counter input{font-size:16px}.habit-history{margin-top:8px}.motivation .points-total{font-size:26px}.motivation{padding:16px}.note-card .note-actions{flex-wrap:wrap}.note-foot{gap:8px}.settings-list{gap:8px}.settings-list button{min-height:48px}#note-form .form-grid{grid-template-columns:1fr 1fr}.period-bar{margin:8px 0 12px}.week-strip{margin-bottom:10px}}

.today-next{margin:10px 0 0;font-size:14px;color:#435e78;overflow-wrap:anywhere}#filter-dialog #period-mode-label{display:block}#progress-view{display:flex;flex-direction:column}#progress-view[hidden]{display:none}#dashboard{order:0}#motivation{order:1}.habit-view-options summary{font-size:14px}#shell[data-page=habits] .habit-view-switch{margin-top:8px}.week-dot{flex:0 0 5px}#note-form .form-error:empty{display:none}

.habit-top .task-name{min-height:44px;flex:1}.habit-count-edit summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;color:#1764ad}.habit-count{font-size:14px;margin:0 0 7px}.habit-detail summary{padding:10px 0;font-size:13px}.habit-card .habit-top{gap:10px}.habit-card .habit-body{margin-left:0}.habit-detail{margin-top:0}#shell[data-page=progress] .page-heading{margin-bottom:14px}

.fitness-hero.no-data .steps-total{font-size:28px;line-height:1.25;margin:12px 0}.fitness-hero.no-data #steps-progress{display:none}.fitness-hero.no-data{padding:20px}.fitness-hero.no-data #fitness-refresh{margin-left:8px;font-size:14px}#fitness-inline-setup{margin:8px 0}#note-form input[name=title]{font-size:22px}#note-form textarea{font-size:17px;line-height:1.5}#note-save-status{font-size:13px}.habit-detail{padding-left:0}.habit-count-edit>.habit-detail{margin-top:8px}

.insights-panel{margin:16px 0 22px;padding:18px;border:1px solid var(--line);border-radius:20px;background:white}.insights-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.insights-heading h2{font-size:21px;margin:0 0 4px}.insights-heading p{font-size:14px;margin:0 0 14px}.insight-card{padding:14px 0;border-top:1px solid var(--line)}.insight-card h3{font-size:17px;margin:0 0 8px}.insight-card ul{margin:0;padding-left:20px;color:var(--muted);font-size:15px;line-height:1.5}@media(max-width:480px){.insights-panel{padding:14px}.insights-heading{align-items:center}.insights-heading button{font-size:14px;padding:8px}}

/* Body composition and future workout dashboard */
.body-panel,.workouts-panel{margin-top:16px}.body-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 22px}.body-metrics>div{padding:16px 12px;border-radius:17px;background:#edf5ff;min-width:0}.body-metrics>div:nth-child(2){background:#fff0f5}.body-metrics>div:nth-child(3){background:#e9faf2}.body-metrics>div:nth-child(4){background:#fff5e8}.body-metrics small,.body-metrics span{display:block;color:#526b85}.body-metrics strong{display:inline-block;font-size:29px;margin:8px 4px 4px 0;color:#10253d}.body-periods{display:flex;gap:5px;flex-wrap:wrap}.body-periods button{padding:7px 10px;border-radius:10px;border:1px solid #dce6f1;background:#f5f8fc}.body-periods button.active{background:#dcecff;color:#0878f9}.body-chart{padding:12px 0;min-height:155px}.body-chart svg{width:100%;height:150px}.body-connect{padding:14px;background:#f1f7ff;border-radius:14px}.body-connect summary{cursor:pointer}.body-connect input{width:100%;max-width:380px}.workouts-summary{display:flex;gap:35px;margin:18px 0}.workouts-summary strong,.workouts-summary small{display:block}.workouts-summary strong{font-size:29px}.workouts-empty-chart{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;height:90px;gap:8px;border-bottom:1px solid #dce6f1;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,#edf2f8 30px)}.workouts-empty-chart span{text-align:center;font-size:12px;color:#789;transform:translateY(21px)}.workouts-panel>.muted{margin-top:32px}@media(max-width:680px){.body-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.body-metrics strong{font-size:27px}.body-panel .panel-title{flex-wrap:wrap;gap:10px}}

/* Compact steps chart replaces the oversized number and separate 7-day list. */
.fitness-hero .steps-summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:8px 0}.fitness-hero .steps-total{font-size:30px!important;line-height:1.2;margin:0!important;font-weight:750;color:#18324b}.steps-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 4px}.steps-chart-heading h3{font-size:17px;margin:0}.steps-chart{width:100%;min-height:175px}.steps-chart svg{width:100%;height:auto;max-height:240px;display:block}.fitness-hero #steps-progress{height:7px;margin:7px 0}.fitness-hero #steps-chart-stats{margin:5px 0 14px}.fitness-hero.no-data .steps-total{font-size:24px!important}


/* TaskHub 2026 — independent floating glass navigation (Telegram-inspired). */
@media (max-width:800px) {
  main { padding-bottom: calc(118px + env(safe-area-inset-bottom, 0px)); }
  .bottom-nav {
    position: fixed;
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    width: auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 2px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.88);
    border-radius: 999px;
    background: rgba(249,251,255,.78);
    -webkit-backdrop-filter: blur(28px) saturate(175%);
    backdrop-filter: blur(28px) saturate(175%);
    box-shadow: 0 12px 36px rgba(23,45,77,.16), 0 2px 8px rgba(23,45,77,.07), inset 0 1px 0 rgba(255,255,255,.95);
    isolation: isolate;
    z-index: 25;
  }
  .bottom-nav button {
    position: relative;
    min-height: 61px;
    min-width: 0;
    padding: 8px 1px 7px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #7a859a;
    gap: 4px;
    transition: background-color .23s ease, color .23s ease, transform .23s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .bottom-nav button .nav-icon { width: 24px; height: 24px; opacity: .7; filter: grayscale(1); transition: opacity .23s ease, filter .23s ease; }
  .bottom-nav button b { font-size: clamp(9px, 2.65vw, 12px); line-height: 1.15; font-weight: 550; letter-spacing: -.25px; white-space: nowrap; }
  .bottom-nav button.active {
    background: rgba(221,232,252,.85);
    color: #0878f9;
    transform: translateY(-1px);
  }
  .bottom-nav button.active .nav-icon { opacity: 1; filter: none; }
  .bottom-nav button.active b { font-weight: 750; }
  .bottom-nav button:focus-visible { outline: 2px solid #0878f9; outline-offset: -3px; }
  #toast { bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width:360px) {
  .bottom-nav { left: 7px; right: 7px; padding: 5px; gap: 0; }
  .bottom-nav button { min-height: 58px; }
  .bottom-nav button b { font-size: 10px; }
}
@media (prefers-reduced-motion:reduce) {
  .bottom-nav button, .bottom-nav button .nav-icon { transition: none; }
}


/* LiveHub — cohesive 2026 visual system, across every workspace screen. */
:root {
  --line: #e1e9f2;
  --blue: #1677f2;
  --mint: #e5f8f2;
  --muted: #647892;
  --surface: #fff;
  --page: #f4f8fd;
}
body { background: var(--page); color: #172e49; }
.content { min-height:100vh; }
main { max-width:1120px; }
.page-heading { margin-bottom:24px; }
.page-heading h1 { letter-spacing:-.045em; }
.page-heading .muted { color:#788aa0; }
.panel,.task-group,.note-card,.habit-card,.stat,.today-hero,.insights-panel {
  border:1px solid rgba(211,223,237,.85);
  border-radius:24px;
  box-shadow:0 5px 22px rgba(27,56,89,.035);
}
.panel { padding:25px; }
.panel-title { gap:12px; }
.panel-title h2 { letter-spacing:-.025em; }
.today-hero {
  min-height:168px;
  padding:26px;
  background:linear-gradient(115deg,#e5f8f2 0%,#eaf7ff 72%,#f7fbff 100%);
  box-shadow:0 12px 34px rgba(33,116,139,.07);
}
.today-hero .hero-copy h2 { letter-spacing:-.04em; }
.task-group { background:transparent; border:0; box-shadow:none; overflow:visible; display:grid; gap:9px; }
.task-row {
  border:1px solid #e2eaf4!important;
  border-radius:19px;
  padding:14px 17px;
  min-height:78px;
  box-shadow:0 4px 15px rgba(26,58,99,.035);
}
.task-row:last-child { border-bottom:1px solid #e2eaf4; }
.task-row:focus-within,.habit-card:focus-within,.note-card:focus-within { border-color:#a8cafa!important; }
.task-row:hover,.note-card:hover,.habit-card:hover {
  box-shadow:0 9px 28px rgba(27,65,110,.085);
}
.main-actions { gap:10px; }
.main-actions button,.period-options button,.period-navigation button,.body-periods button {
  border-radius:15px;
}
.main-actions .primary {
  box-shadow:0 6px 16px rgba(22,119,242,.16);
}
.segments { border-radius:17px; background:#e9eff8; padding:5px; }
.segments button { border-radius:13px; }
.segments button[aria-pressed=true] { background:#fff; color:#1677f2; box-shadow:0 2px 8px rgba(35,61,98,.09); }
.period-bar { background:rgba(255,255,255,.72); border:1px solid #e4ecf6; border-radius:20px; padding:13px; }
.week-strip { border-radius:18px; }
.habit-card { padding:20px; background:linear-gradient(160deg,#fff 0%,#f9fcff 100%); }
.habit-counter button { border-radius:14px; }
.notes-grid { gap:13px; }
.note-card { background:linear-gradient(155deg,#fff 0%,#fafcff 100%); padding:23px; }
.note-card h3 { font-size:22px; line-height:1.25; }
.note-body { font-size:16px; }
.note-actions button { border-radius:12px; }
.stats { gap:12px; }
.stat { padding:20px; background:#fff; }
.stat strong { letter-spacing:-.04em; }
.charts > * { background:#fff; border:1px solid #e1e9f2; border-radius:24px; }
.fitness-grid { gap:16px; }
.fitness-hero { background:linear-gradient(180deg,#fff 0%,#fcfdff 100%); }
.steps-chart-heading { gap:12px; }
.body-panel,.workouts-panel { margin-top:18px; }
.body-metrics > div { border-radius:18px; }
#body-chart,.steps-chart { border-radius:16px; }
.insights-panel { background:#fff; padding:22px; }
dialog { border-radius:26px; }
dialog::backdrop { background:rgba(14,32,56,.42); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
button,input,select,textarea { accent-color:#1677f2; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #1677f2; outline-offset:2px; }
@media (max-width:800px) {
  body { background:linear-gradient(180deg,#f3f8fd 0%,#f7faff 100%); }
  .content { margin-left:0; }
  main { padding-left:16px; padding-right:16px; padding-bottom:calc(126px + env(safe-area-inset-bottom,0px)); }
  .utility-header { padding-left:16px; padding-right:16px; }
  .page-heading { margin-bottom:19px; }
  .page-heading h1 { font-size:clamp(29px,8vw,39px); }
  .page-heading .muted { font-size:14px; }
  .panel { padding:20px; border-radius:23px; }
  .today-hero { padding:20px; border-radius:23px; min-height:146px; }
  .today-hero .hero-copy h2 { font-size:clamp(20px,5vw,27px); }
  .task-row { border-radius:18px; padding:13px 12px; }
  .notes-grid { grid-template-columns:1fr; }
  .note-card { border-radius:21px; padding:19px; }
  .habit-card { border-radius:20px; padding:17px; }
  .period-bar { padding:11px; }
  .stats { gap:9px; }
  .stat { padding:14px; border-radius:19px; }
  .stat strong { font-size:clamp(23px,6vw,30px); }
  .fitness-grid { grid-template-columns:1fr; }
  .body-panel,.workouts-panel { margin-top:15px; }
  .bottom-nav {
    left:12px;right:12px;
    background:rgba(255,255,255,.79);
    border:1px solid rgba(255,255,255,.95);
    box-shadow:0 14px 42px rgba(25,52,85,.15),inset 0 1px 0 #fff;
  }
  .bottom-nav button.active { background:rgba(225,236,253,.92); }
}
@media (prefers-reduced-motion:reduce) {
 .task-row,.habit-card,.note-card { transition:none; }
}


/* Habits screen refresh: unified floating-card interface. */
#shell[data-page=habits] .page-heading{margin-bottom:14px}
#shell[data-page=habits] .main-actions{margin:0 0 16px}
#shell[data-page=habits] .main-actions #create{min-height:54px;border-radius:19px;font-size:17px}
#shell[data-page=habits] .period-bar{margin:0 0 14px;padding:12px 14px;border-radius:23px;background:rgba(255,255,255,.94);box-shadow:0 6px 20px rgba(26,59,93,.045)}
#shell[data-page=habits] .period-navigation strong{font-size:17px;font-weight:750;letter-spacing:-.02em}
#shell[data-page=habits] .period-navigation button{width:43px;height:43px;border-radius:15px;background:#f0f5fc}
#shell[data-page=habits] .period-options{margin-top:8px}
#shell[data-page=habits] .habit-view-switch{max-width:none;margin:0 0 12px;padding:5px;border:1px solid #e3eaf4;border-radius:20px;background:#eaf0f9}
#shell[data-page=habits] .habit-view-switch button{border-radius:15px;font-size:16px;font-weight:600;min-height:43px}
#shell[data-page=habits] .habit-view-options{margin:0 0 14px;border:1px solid #e5ecf5;border-radius:17px;background:rgba(255,255,255,.75);overflow:hidden}
#shell[data-page=habits] .habit-view-options>summary{padding:14px 17px;color:#526b86;font-size:15px;font-weight:600}
#shell[data-page=habits] .habit-view-options[open]{padding-bottom:12px}
#shell[data-page=habits] .habit-view-options .toolbar,#shell[data-page=habits] .habit-help{margin:0 14px 10px}
#shell[data-page=habits] .week-strip{gap:6px;margin:0 0 18px}
#shell[data-page=habits] .week-day{border-radius:16px;min-height:69px;gap:6px;padding:10px 2px;background:rgba(255,255,255,.94);box-shadow:0 3px 10px rgba(26,59,93,.025)}
#shell[data-page=habits] .week-day strong{font-size:21px}
#shell[data-page=habits] .week-day[aria-pressed=true]{background:#1677f2;box-shadow:0 8px 17px rgba(22,119,242,.19)}
#shell[data-page=habits] #habit-day-title{font-size:21px;margin:3px 0 13px;letter-spacing:-.03em}
#shell[data-page=habits] #habit-list>.empty{padding:34px 20px;border:1px solid #e1e9f2;border-radius:24px;box-shadow:0 6px 22px rgba(27,56,89,.035);background:linear-gradient(160deg,#fff,#f9fcff)}
#shell[data-page=habits] #habit-list>.empty h3{font-size:21px}
#shell[data-page=habits] .habit-card{border:1px solid #e1e9f2;border-radius:22px;background:#fff;box-shadow:0 5px 20px rgba(27,56,89,.04)}
@media(max-width:800px){
 #shell[data-page=habits] .page-heading{margin-bottom:12px}
 #shell[data-page=habits] .main-actions #create{min-height:52px}
 #shell[data-page=habits] .period-bar{padding:10px 12px}
 #shell[data-page=habits] .week-strip{gap:4px}
 #shell[data-page=habits] .week-day{min-height:66px;border-radius:14px}
 #shell[data-page=habits] .week-day strong{font-size:19px}
}

/* LiveHub 2026 v2: consistent visual language throughout all workspaces */
:root{--page:#f5f7fc;--line:#e5eaf2;--ink:#162b46;--muted:#72839b;--blue:#1478f5}
body{background:#f5f7fc;color:var(--ink)}
.page-heading h1{font-family:system-ui,-apple-system,sans-serif;font-weight:780;letter-spacing:-.055em}
.page-heading .muted{font-family:system-ui,-apple-system,sans-serif;letter-spacing:-.02em}
.panel-title h2,.panel-title h3,#habit-day-title,.section-title{font-family:system-ui,-apple-system,sans-serif;font-weight:750;letter-spacing:-.035em}
#shell .main-actions .primary,#shell #plan-add{background:linear-gradient(135deg,#2087fa,#0969e8);border:0;color:white;box-shadow:0 8px 20px #1478f52a}
#shell .main-actions #open-filters{background:#fff;border:1px solid #e1e8f2;box-shadow:0 3px 12px #263f5a08}
#shell .empty{border:1px solid #e5eaf2;border-radius:24px;background:linear-gradient(155deg,#fff,#f9fbff);box-shadow:0 8px 26px #203b5a08;padding:34px 22px}
#shell .empty h3{font-family:system-ui,-apple-system,sans-serif;font-weight:730;letter-spacing:-.035em}
#shell .task-row,#shell .agenda-card,#shell .note-card,#shell .habit-card{background:#fff;border:1px solid #e3e9f2!important;border-radius:22px;box-shadow:0 6px 20px #203b5a09}
#shell .task-group{gap:12px}
#shell .task-name{font-family:system-ui,-apple-system,sans-serif;font-size:16px;font-weight:660;letter-spacing:-.02em}
#shell .task-meta{font-family:system-ui,-apple-system,sans-serif;font-size:12px;color:#7789a1}
#shell .tag{border-radius:999px;padding:5px 10px}
#shell .period-bar,#shell .day-panel,#shell .month-panel{background:#fff;border:1px solid #e3e9f2;border-radius:24px;box-shadow:0 7px 24px #203b5a09}
#shell .period-navigation button,#shell .calendar-nav button{border-radius:16px;background:#f0f5ff}
#shell .segments{max-width:none;background:#e9eff9;border:1px solid #e2e9f4;border-radius:20px;padding:5px}
#shell .segments button{border-radius:15px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}
#shell .segments button[aria-pressed=true]{background:#fff;color:#1478f5;box-shadow:0 3px 12px #203b5a12}
#shell .week-day{border-radius:15px;background:#fff}
#shell .week-day[aria-pressed=true]{background:#1478f5;box-shadow:0 7px 16px #1478f52a}
#shell .month-panel .calendar-day{border-radius:12px}
#shell .month-panel .calendar-day[aria-pressed=true]{background:#1478f5}
#shell .note-card{padding:22px}
#shell .note-card h3{font-family:system-ui,-apple-system,sans-serif;font-weight:740;letter-spacing:-.035em}
#shell .note-actions button,#shell .habit-counter button{border-radius:13px;background:#f2f6fc}
#shell .fitness-hero,#shell .body-panel,#shell .workouts-panel{background:#fff;border-radius:25px;box-shadow:0 7px 24px #203b5a09}
#shell .body-metrics>div{border-radius:20px;padding:16px}
#shell .body-periods button{border-radius:13px}
#shell .body-periods button.active{background:#e2eeff;border-color:#c7dfff;color:#086be8}
#shell .today-hero{background:linear-gradient(125deg,#e3f9f1,#eaf5ff 75%,#fff);border-radius:26px;box-shadow:0 9px 30px #1478f512}
#shell .stat,#shell .progress-panel,#shell .insights-panel{background:#fff;border:1px solid #e3e9f2;border-radius:24px;box-shadow:0 7px 24px #203b5a09}
#shell dialog{border:1px solid #e2e9f2;border-radius:28px}
#shell input,#shell select,#shell textarea{border-radius:14px}
@media(max-width:800px){
 body{background:linear-gradient(180deg,#f5f7fd,#f8faff)}
 #shell main{padding-left:16px;padding-right:16px}
 #shell .page-heading{margin-bottom:18px}
 #shell .page-heading h1{font-size:clamp(30px,8.5vw,40px)}
 #shell .panel{padding:19px}
 #shell .main-actions{gap:10px}
 #shell .main-actions button{border-radius:18px;min-height:53px}
 #shell .task-row{padding:16px 13px;min-height:79px}
 #shell .period-bar{padding:13px}
 #shell .day-panel,#shell .month-panel{padding:15px}
 #shell .notes-grid{gap:13px}
 #shell .bottom-nav{background:#ffffffd6;backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%)}
}
