:root{--bg:#f6f7fb;--surface:#fff;--surface-soft:#f9fafc;--text:#1a1d2b;--muted:#72788c;--line:#e8eaf1;--primary:#5b64dd;--primary-dark:#454dc4;--primary-soft:#eef0ff;--green:#21a875;--orange:#f59e0b;--danger:#df515b;--shadow:0 8px 30px #1f23470e;--radius:18px}.calendar-calorie-card{width:min(960px,100%);color:var(--text);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);text-align:left;cursor:pointer;border-radius:16px;gap:14px;margin:-4px auto 14px;padding:18px 20px;display:grid}.calendar-calorie-card:hover{border-color:color-mix(in srgb, var(--primary), var(--line) 55%);transform:translateY(-1px)}.calendar-calorie-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.calendar-calorie-metrics>span{border-right:1px solid var(--line);gap:6px;padding-right:16px;display:grid}.calendar-calorie-metrics>span:last-child{border-right:0;padding-right:0}.calendar-calorie-metrics small{color:var(--muted);font-size:13px;font-weight:750}.calendar-calorie-metrics strong{font-size:20px;line-height:1.2}.calendar-calorie-metrics>span:first-child strong{color:#e57b16}.calendar-calorie-metrics>span:nth-child(2) strong{color:#1689a7}.calendar-calorie-card.tone-good .calorie-balance strong{color:#16875f}.calendar-calorie-card.tone-warning .calorie-balance strong{color:#db7a16}.calendar-calorie-card.tone-high .calorie-balance strong{color:#c85059}.calorie-progress{grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:12px;display:grid}.calorie-progress i{background:var(--surface-soft);border-radius:99px;height:9px;overflow:hidden}.calorie-progress b{border-radius:inherit;background:linear-gradient(90deg,#3ca8c5,#21a875);height:100%;display:block}.calorie-progress span,.calorie-card-hint{color:var(--muted);font-size:12px}.calorie-card-hint{justify-self:end}.admin-suggestions{gap:12px;display:grid}.admin-suggestion{grid-template-columns:1fr auto;gap:18px;padding:20px;display:grid}.admin-suggestion h2{margin:10px 0 7px;font-size:17px}.admin-suggestion p,.admin-suggestion small{color:var(--muted);font-size:10px;line-height:1.55;display:block}.admin-suggestion footer{color:var(--muted);margin-top:13px;font-size:8px}.admin-review{align-content:start;gap:7px;min-width:155px;display:grid}.favorite-meals{background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;gap:7px;padding:10px;display:flex}.favorite-meals>small{width:100%;color:var(--muted);font-size:8px;font-weight:800}:root[data-theme=dark]{--bg:#11131a;--surface:#1a1d27;--surface-soft:#202430;--text:#f2f3f8;--muted:#a1a6b6;--line:#2c3040;--primary-soft:#282b55;--shadow:0 8px 30px #0003}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--primary), transparent 65%);outline-offset:2px}.logo{letter-spacing:-.8px;align-items:center;gap:9px;font-size:25px;font-weight:760;display:flex}.logo-mark{color:#fff;background:linear-gradient(145deg,#7279f0,#5059cf);border-radius:11px 11px 11px 4px;place-items:center;width:35px;height:35px;font-family:Georgia,serif;font-size:25px;font-style:italic;display:grid}.eyebrow{color:var(--primary);letter-spacing:1.35px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.muted{color:var(--muted)}.button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:700;transition:all .18s;display:inline-flex}.button:hover{border-color:#cdd0dc;transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button.primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 8px 20px #5b64dd38}.button.primary:hover{background:var(--primary-dark)}.button.secondary{background:var(--surface)}.button.wide{width:100%}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.pill{width:fit-content;color:var(--primary);background:var(--primary-soft);border-radius:99px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:750;display:inline-flex}.pill.subtle{background:var(--primary-soft)}.auth-page{background:var(--surface);grid-template-columns:minmax(360px,.95fr) minmax(480px,1.05fr);min-height:100vh;display:grid}.auth-story{color:#fff;background:radial-gradient(circle at 15% 15%,#ffffff2e,#0000 28%),radial-gradient(circle at 80% 80%,#a0a8ff33,#0000 30%),linear-gradient(145deg,#4e55b9 0%,#333979 100%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px clamp(38px,6vw,94px);display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";opacity:.17;pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.auth-story .logo,.auth-story>small,.story-content{z-index:1;position:relative}.auth-story .logo-mark{color:#424aa8;background:#fff}.story-content{max-width:550px}.story-content .pill{color:#fff;background:#ffffff1f;border:1px solid #ffffff21}.story-content h1{letter-spacing:-3px;margin:25px 0 20px;font-size:clamp(42px,5vw,68px);line-height:1.02}.story-content h1 em{color:#cbd0ff;font-family:Georgia,serif;font-weight:400}.story-content>p{color:#ffffffbf;font-size:18px;line-height:1.65}.story-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff17;border:1px solid #ffffff21;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;max-width:470px;margin-top:40px;padding:17px;display:grid}.story-card p{color:#ffffffa6;margin:4px 0 0;font-size:12px}.story-card>span{color:#d4d7ff;font-size:12px;font-weight:800}.mini-check{color:#164d3b;background:#5ed2a6;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.feature-list{color:#fffc;gap:13px;padding:0;list-style:none;display:grid}.auth-form-wrap{place-items:center;padding:40px;display:grid}.auth-form{width:min(420px,100%)}.auth-form h2{letter-spacing:-1.3px;margin:0 0 8px;font-size:36px}.auth-form>p:not(.form-error){color:var(--muted);margin-bottom:34px}label{color:var(--text);font-size:13px;font-weight:750;display:block}label input,label textarea,label select,.inline-input input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:11px;margin-top:8px;padding:12px 13px;font-weight:500;transition:all .18s}label input:focus,label textarea:focus,label select:focus{border-color:var(--primary)}label textarea{resize:vertical}.auth-form label{margin-top:20px}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;bottom:5px;right:5px}.auth-submit{min-height:49px;margin-top:25px}.auth-switch{text-align:center;font-size:14px;margin-top:25px!important}.auth-switch a{color:var(--primary);font-weight:800}.form-error{color:var(--danger);background:#df515b14;border-radius:9px;margin:12px 0 0;padding:10px 12px;font-size:13px}.app-shell{min-height:100vh}.sidebar{z-index:20;border-right:1px solid var(--line);background:var(--surface);flex-direction:column;width:238px;padding:25px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .logo{padding:0 10px 28px}.sidebar nav{flex:1;gap:4px;display:grid}.sidebar nav a{min-height:45px;color:var(--muted);border-radius:11px;align-items:center;gap:12px;padding:0 13px;font-size:14px;font-weight:650;display:flex}.sidebar nav a:hover{color:var(--text);background:var(--surface-soft)}.sidebar nav a.active{color:var(--primary);background:var(--primary-soft)}.sidebar>.button{margin:12px 0}.form-success{color:#167044;background:#37b1771f;border-radius:9px;margin:12px 0 0;padding:10px 12px;font-size:13px}.form-help{color:var(--muted);margin:12px 0 0;font-size:13px}.form-help a{color:var(--primary);font-weight:750}.admin-users-table .icon-button.danger{color:var(--danger)}.admin-protected-user{color:var(--muted);font-size:11px;font-weight:700}.theme-toggle{min-height:40px;color:var(--muted);border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;font-weight:750;transition:color .18s,border-color .18s,background .18s,transform .18s;display:inline-flex}.theme-toggle:hover{color:var(--primary);border-color:color-mix(in srgb, var(--primary), var(--line) 60%);transform:translateY(-1px)}.theme-toggle-sidebar{width:100%;margin:4px 0 10px}.theme-toggle-floating{display:none}.sidebar-user{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px 5px 2px;display:grid}.sidebar-user-profile{min-width:0;color:inherit;grid-template-columns:auto 1fr;align-items:center;gap:10px;text-decoration:none;display:grid}.sidebar-user-profile>span:last-child{min-width:0}.avatar{color:#fff;background:linear-gradient(145deg,#fa9e6d,#d56b60);border-radius:11px;place-items:center;width:36px;height:36px;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.sidebar-user strong,.sidebar-user small{white-space:nowrap;text-overflow:ellipsis;max-width:110px;display:block;overflow:hidden}.sidebar-user strong{font-size:13px}.sidebar-user small{color:var(--muted);margin-top:2px;font-size:11px}.sidebar-user button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.main-content{min-height:100vh;margin-left:238px}.page{width:min(1320px,100%);margin:0 auto;padding:38px clamp(24px,4vw,58px) 70px}.page-header{justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:31px;display:flex}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.page-header h1{letter-spacing:-1.5px;margin:0 0 8px;font-size:clamp(28px,3vw,38px);line-height:1.1}.page-header h1 span{font-size:.75em}.page-header p{color:var(--muted);margin:0}.planning-page{width:min(2000px,100%);padding:18px clamp(16px,2vw,32px) 24px}.calendar-workspace{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:10px;min-width:0;display:grid}.calendar-workspace.tasks-open{grid-template-columns:minmax(0,1fr) minmax(440px,560px)}.calendar-workspace-main{min-width:0}.unplanned-task-panel{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;min-width:0;max-height:min(760px,100vh - 30px);display:flex;position:sticky;top:10px;overflow:hidden}.task-panel-toggle{width:100%;min-height:43px;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.task-panel-toggle strong{text-align:left;flex:1}.task-panel-toggle span{background:var(--primary-soft);min-width:24px;color:var(--primary);border-radius:999px;padding:2px 7px;font-size:12px;font-weight:800}.unplanned-task-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-items:start;gap:12px;min-height:0;max-height:none;padding:0 9px 10px;display:grid;overflow-y:auto}.task-panel-content{border-top:1px solid var(--border);flex-direction:column;flex:auto;min-height:0;display:flex}.task-panel-create-row{padding:10px 9px 2px}.task-panel-create-button{border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:12px;font-weight:800;text-decoration:none;transition:filter .15s,transform .15s;display:flex}.task-panel-create-button:hover{filter:brightness(.96);transform:translateY(-1px)}.task-panel-section+.task-panel-section{margin-top:0}.task-panel-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;align-self:start;min-width:0;height:fit-content;min-height:0;padding:0 8px 10px}.task-panel-section.is-collapsed{align-self:start}.task-panel-section-toggle{width:100%;min-height:38px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:8px 4px;display:flex}.task-panel-section-toggle:hover{background:var(--surface-raised,var(--primary-soft))}.task-panel-section-toggle>span{width:16px;color:var(--muted);text-align:center;font-size:18px;line-height:1}.task-panel-section-toggle strong{flex:1;font-size:12px}.task-panel-section-toggle small{min-width:20px;color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent);text-align:center;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800}.task-panel-section-content{overscroll-behavior:contain;scrollbar-gutter:stable;gap:8px;min-height:0;max-height:min(52vh,480px);padding:0 2px 2px;display:grid;overflow-y:auto}.task-panel-empty{color:var(--muted);margin:8px 2px 4px;font-size:12px}.task-panel-section-content>article{border:1px solid var(--border);background:var(--surface);cursor:grab;border-radius:12px;margin:0;padding:8px;box-shadow:0 5px 15px #0f172a0d}.task-panel-task-card,.weekly-task-summary-card[role=button]{transition:border-color .14s,box-shadow .14s,transform .14s}.task-panel-task-card:hover,.weekly-task-summary-card[role=button]:hover{border-color:color-mix(in srgb, var(--primary), var(--border) 52%);box-shadow:0 8px 20px #0f172a1a}.task-panel-task-card:focus-visible,.weekly-task-summary-card[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.task-panel-card-heading{justify-content:space-between;align-items:flex-start;gap:7px;display:flex;margin:0!important}.task-panel-card-heading strong{min-width:0}.task-panel-card-details{flex-wrap:wrap;align-items:center;width:100%;gap:3px 8px!important;margin:4px 0 0!important;display:flex!important}.task-panel-card-details>.task-panel-schedule,.task-panel-card-details>.task-panel-session-count{flex:100%;margin:0!important}.task-panel-card-details>.task-panel-meta{flex:0 auto;gap:6px;margin:0!important}.task-panel-card-details>small:not(.task-panel-session-count){flex:0 auto;font-size:10px;margin:0!important}.task-panel-card-details>.task-panel-time{white-space:nowrap;flex:none;margin:0!important}.task-panel-card-details>.task-panel-card-actions{flex:none;margin:0 0 0 auto!important}.task-planning-state{background:var(--primary-soft);color:var(--primary);border-radius:999px;flex:none;padding:2px 6px;font-size:9px;font-weight:850}.task-planning-state.unplanned{background:color-mix(in srgb, var(--muted) 12%, transparent);color:var(--muted)}.task-planning-state.completed{color:#15803d;background:#16a34a24}.task-panel-schedule{color:var(--text);text-transform:capitalize;margin:6px 0 2px;font-size:12px;font-weight:700}.task-panel-due-date{color:var(--muted);text-transform:capitalize;flex:100%;font-size:11px;font-weight:650;margin:0!important}.page.annual-sport-page{width:min(1800px,100%);max-width:none;padding-inline:clamp(18px,2vw,40px)}.annual-sport-page>*{min-width:0}.annual-sport-header{align-items:flex-end}.annual-sport-controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.annual-sport-controls label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.annual-sport-controls select{min-width:180px}.year-switcher{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:8px;padding:4px;display:inline-flex}.year-switcher strong{text-align:center;min-width:44px}.annual-sport-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.annual-sport-summary article{gap:4px;min-height:92px;padding:16px;display:grid}.annual-sport-summary small,.annual-sport-summary span{color:var(--muted);font-size:12px}.annual-sport-summary strong{font-size:25px}.annual-sport-summary .positive{color:#199669}.annual-sport-summary .negative{color:#d97706}.segmented-control{gap:3px;margin-top:8px;display:flex}.segmented-control button{color:var(--muted);background:var(--surface-soft);cursor:pointer;border:0;border-radius:7px;padding:6px 8px;font-size:11px}.segmented-control button.active{color:#fff;background:var(--primary)}.annual-heatmap-card{padding:20px}.annual-heatmap-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.annual-heatmap-options{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.annual-heatmap-options>label{color:var(--muted);flex:none;gap:5px;font-size:11px;font-weight:700;display:grid}.annual-heatmap-toolbar select{min-width:170px}.annual-palette-fieldset{border:0;gap:5px;margin:0;padding:0;display:grid}.annual-palette-fieldset legend{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:700}.annual-palette-picker{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.annual-palette-picker button{border:1px solid var(--border);min-height:34px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:9px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.annual-palette-picker button:hover{border-color:var(--primary);color:var(--text)}.annual-palette-picker button.active{border-color:var(--primary);color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 16%, transparent)}.annual-palette-picker i{border-radius:50%;flex:0 0 14px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.annual-legend{color:var(--muted);align-items:center;gap:5px;margin:4px 0 18px;font-size:11px;display:flex}.annual-legend i{background:var(--surface-soft);border-radius:4px;width:14px;height:14px}.annual-legend .load-1,.annual-day.load-1{background:var(--annual-load-1);color:var(--annual-load-text-1)}.annual-legend .load-2,.annual-day.load-2{background:var(--annual-load-2);color:var(--annual-load-text-2)}.annual-legend .load-3,.annual-day.load-3{background:var(--annual-load-3);color:var(--annual-load-text-3)}.annual-legend .load-4,.annual-day.load-4{background:var(--annual-load-4);color:var(--annual-load-text-4)}.annual-sport-page .annual-month-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px;display:grid}.annual-month{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;min-width:0;padding:12px}.annual-month h3{text-transform:capitalize;margin:0 0 8px;font-size:14px}.annual-weekdays,.annual-month-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.annual-weekdays{color:var(--muted);text-align:center;margin-bottom:3px;font-size:9px}.annual-day,.annual-empty{aspect-ratio:1;border-radius:4px;min-width:0}.annual-day{color:var(--text);background:var(--surface);cursor:pointer;border:0;font-size:10px;transition:transform .12s,box-shadow .12s}.annual-day:hover,.annual-day.selected{box-shadow:0 0 0 2px var(--primary);z-index:1;position:relative;transform:scale(1.12)}.annual-hint{color:var(--muted);margin:16px 0 0;font-size:12px}.annual-sport-charts{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.annual-line-chart{margin-top:16px;padding:18px}.annual-chart-controls{flex-wrap:wrap;align-items:flex-end;gap:22px;margin:10px 0 4px;display:flex}.annual-chart-controls>label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.annual-chart-controls select{min-width:170px}.annual-chart-controls fieldset{border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;gap:11px;margin:0;padding:6px 10px 8px;display:flex}.annual-chart-controls legend{color:var(--muted);padding:0 4px;font-size:10px}.chart-metric-choice{color:var(--text);align-items:center;gap:4px;font-size:11px;font-weight:650;display:inline-flex}.chart-metric-choice input{accent-color:var(--primary)}.chart-metric-choice i{border-radius:50%;width:8px;height:8px}.annual-line-wrap{width:100%;overflow-x:auto}.annual-line-wrap svg{width:100%;min-width:580px;height:260px;display:block}.chart-axis{stroke:var(--border);stroke-width:1px}.chart-grid-line{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 4;opacity:.7}.chart-label{fill:var(--muted);text-anchor:middle;font-size:10px}.annual-profile-create{align-items:flex-end;gap:12px;margin-bottom:16px;padding:14px;display:flex}.annual-profile-create label{color:var(--muted);flex:1;gap:5px;font-size:12px;font-weight:700;display:grid}.annual-chart-card{min-height:270px;padding:18px}.annual-bars{align-items:flex-end;gap:4px;height:175px;padding-top:15px;display:flex;overflow-x:auto}.annual-bar-column{flex-direction:column;flex:1 0 22px;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.annual-bar{background:var(--primary);border-radius:4px 4px 2px 2px;width:100%;min-height:3px}.annual-bar-column small{color:var(--muted);white-space:nowrap;transform-origin:top;font-size:9px;transform:rotate(-35deg)}.comparison-list{gap:8px;margin-top:12px;display:grid}.comparison-row{grid-template-columns:48px 1fr 38px;align-items:center;gap:8px;font-size:10px;display:grid}.comparison-row>div{gap:3px;display:grid}.comparison-row i{border-radius:4px;min-width:2px;height:6px;display:block}.comparison-planned{background:#a7b3c5}.comparison-realized{background:var(--primary)}.comparison-row strong{text-align:right;font-size:10px}.comparison-legend{color:var(--muted);gap:14px;margin-top:15px;font-size:11px;display:flex}.comparison-legend i{border-radius:3px;width:9px;height:9px;margin-right:4px;display:inline-block}.annual-day-modal{width:min(650px,100vw - 24px);max-height:min(850px,100vh - 30px);overflow:auto}.annual-day-records{gap:8px;margin-bottom:18px;display:grid}.annual-record{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.annual-record>div:first-child{gap:3px;min-width:0;display:grid}.annual-record strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annual-record span{color:var(--muted);font-size:11px}.annual-entry-form{border-top:1px solid var(--border);padding-top:14px}.annual-entry-form h3{margin:0 0 12px;font-size:15px}.annual-intensity-zones{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;min-width:0;margin:0;padding:12px}.annual-intensity-zones legend{padding:0 6px;font-size:13px;font-weight:800}.annual-intensity-zones>p{color:var(--muted);margin:0 0 10px;font-size:12px}.annual-intensity-zone-select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:10px;padding:0 38px 0 12px}.annual-intensity-zone-details{background:var(--surface);border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;padding:9px 10px;font-size:11px;display:flex}.annual-intensity-zone-details strong{flex-basis:100%}@media (max-width:1000px){.annual-sport-page .annual-month-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}}@media (max-width:720px){.annual-sport-header{align-items:stretch}.annual-sport-controls{justify-content:stretch}.annual-sport-controls label{flex:100%}.annual-sport-controls select{width:100%}.annual-sport-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-sport-page .annual-month-grid{grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px}.annual-month{padding:8px}.annual-heatmap-card{padding:12px}.annual-heatmap-toolbar{flex-direction:column;align-items:stretch;gap:10px}.annual-heatmap-toolbar select{width:100%}.annual-sport-charts{grid-template-columns:1fr}.annual-profile-create{flex-direction:column;align-items:stretch}.annual-profile-create .row-actions{justify-content:flex-end;width:100%}}@media (max-width:430px){.annual-sport-page .annual-month-grid{grid-template-columns:1fr}.annual-month-days{max-width:250px}}.annual-sport-page .annual-sport-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.annual-sport-page .annual-sport-summary article{min-width:0}.annual-sport-page .annual-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.annual-sport-page .annual-chart-card{min-width:0;padding:18px}.annual-intensity-family-card{align-content:start;gap:14px;display:grid}.annual-intensity-family-bar{background:var(--surface-soft);border-radius:999px;width:100%;height:18px;display:flex;overflow:hidden}.annual-intensity-family-bar i{min-width:3px;height:100%;display:block}.annual-intensity-family-list{gap:7px;display:grid}.annual-intensity-family-list>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;display:grid}.annual-intensity-family-list>div>i{border-radius:999px;width:10px;height:34px}.annual-intensity-family-list span,.annual-intensity-family-list strong,.annual-intensity-family-list small{display:block}.annual-intensity-family-list strong{font-size:12px}.annual-intensity-family-list small{color:var(--muted);margin-top:2px;font-size:10px}.annual-intensity-family-list b{font-variant-numeric:tabular-nums;font-size:13px}.annual-sport-page .annual-week-bars{align-items:flex-end;gap:3px;height:220px;padding:14px 4px 0;display:flex;overflow-x:auto}.annual-sport-page .annual-week-bar{height:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 0 22px;justify-content:flex-end;align-items:center;gap:6px;padding:0;display:flex}.annual-sport-page .annual-week-bar-columns{justify-content:center;align-items:flex-end;gap:2px;width:100%;height:100%;display:flex}.annual-sport-page .annual-week-bar-columns i{border-radius:4px 4px 1px 1px;width:8px;min-height:2px;transition:filter .15s,opacity .15s;display:block}.annual-sport-page .annual-week-bar-columns i.planned{background:#a7b3c5}.annual-sport-page .annual-week-bar-columns i.realized{background:var(--primary)}.annual-sport-page .annual-week-bar:hover i,.annual-sport-page .annual-week-bar.selected i{filter:brightness(.82)}.annual-sport-page .annual-week-bar small{white-space:nowrap;font-size:9px}.annual-sport-page .annual-chart-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;display:flex}.annual-sport-page .annual-chart-legend i{background:currentColor;border-radius:3px;width:9px;height:9px;margin-right:4px;display:inline-block}.annual-sport-page .annual-chart-legend i.planned{color:#a7b3c5}.annual-sport-page .annual-chart-legend i.realized{color:var(--primary)}.annual-sport-page .annual-chart-legend i.trend-raw{color:#94a3b8}.annual-sport-page .annual-chart-legend i.trend-average{color:var(--primary)}.annual-sport-page .trend-raw{fill:none;stroke:#94a3b8;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 5}.annual-sport-page .trend-average{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.annual-sport-page .trend-point{fill:var(--surface);stroke:#94a3b8;stroke-width:2px;cursor:pointer}.annual-sport-page .trend-point:hover,.annual-sport-page .trend-point:focus{fill:var(--primary);stroke:var(--primary);outline:none}.annual-sport-page .annual-scatter-wrap svg{width:100%;min-height:230px}.annual-sport-page .annual-line-wrap{overflow-x:auto}.annual-sport-page .annual-line-wrap svg{width:100%;min-width:620px;display:block}.annual-sport-page .scatter-point{fill:color-mix(in srgb, var(--primary) 70%, transparent);stroke:var(--primary);stroke-width:1.5px;cursor:pointer}.annual-sport-page .scatter-point:hover,.annual-sport-page .scatter-point.selected{fill:var(--primary);stroke-width:3px}.annual-sport-page .scatter-axis-labels{color:var(--muted);justify-content:space-between;gap:8px;margin-top:3px;font-size:10px;display:flex}.annual-sport-page .annual-adherence-list{gap:4px;max-height:270px;display:grid;overflow-y:auto}.annual-sport-page .annual-adherence-row{color:var(--text);background:var(--surface-soft);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:9px;grid-template-columns:minmax(70px,.8fr) auto;gap:3px 10px;padding:8px 9px;display:grid}.annual-sport-page .annual-adherence-row:hover,.annual-sport-page .annual-adherence-row.selected{border-color:var(--primary)}.annual-sport-page .annual-adherence-row strong{color:var(--primary);text-align:right}.annual-sport-page .annual-adherence-row small{color:var(--muted);grid-column:1/-1;font-size:10px}.annual-sport-page .annual-week-detail{margin-top:16px;padding:16px 18px}.annual-sport-page .annual-week-detail p{color:var(--muted);margin:0;font-size:12px}.annual-sport-page .annual-day.has-session{border:2px solid color-mix(in srgb, var(--primary) 70%, var(--border));position:relative}.annual-sport-page .annual-day.metric-unknown{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 50%, transparent), color-mix(in srgb, var(--primary-soft) 50%, transparent) 3px, transparent 3px, transparent 6px)}.annual-sport-page .annual-day.selected-week{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 45%, transparent)}.annual-sport-page .annual-day small{color:currentColor;font-size:8px;font-weight:800;position:absolute;bottom:1px;right:2px}@media (max-width:1100px){.annual-sport-page .annual-sport-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.annual-sport-page .annual-sport-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-sport-page .annual-analytics-grid{grid-template-columns:1fr}.annual-sport-page .annual-week-bars{height:190px}}.task-panel-meta{flex-wrap:wrap;display:flex}.task-panel-overdue{border-color:color-mix(in srgb, #f97316 58%, var(--border))!important;background:color-mix(in srgb, #f97316 6%, var(--surface))!important}.overdue-label{color:#c2410c;font-weight:850}.task-panel-section-content>article:active{cursor:grabbing}.unplanned-task-list article>div{color:var(--muted);gap:7px;margin:7px 0;font-size:12px;display:flex}.unplanned-task-list article small{color:var(--muted);margin-bottom:8px;display:block}.unplanned-task-list article button{width:100%;color:var(--primary);background:var(--primary-soft);cursor:pointer;border:0;border-radius:8px;padding:7px;font-weight:750}.task-panel-time{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.25;display:block}.task-panel-time strong{color:var(--text);font-weight:800}.task-panel-card-actions{justify-content:flex-end;display:flex;margin:9px 0 0!important}.unplanned-task-list article .task-panel-complete-button{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));width:auto;min-height:30px;color:var(--primary);background:var(--primary-soft);white-space:nowrap;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800}.unplanned-task-list article .task-panel-complete-button:hover{color:var(--surface);background:var(--primary)}.weekly-task-summary-card{gap:3px;display:grid;border-left:4px solid var(--goal-color,var(--primary))!important;cursor:default!important}.weekly-task-summary-card[draggable=true]{cursor:grab!important}.weekly-task-summary-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weekly-task-summary-card span{color:var(--muted);font-size:12px;font-weight:700}.weekly-task-summary-card small{color:var(--muted);font-size:11px;line-height:1.3}.weekly-task-summary-card .weekly-task-requirement{color:var(--text);font-size:11px;font-weight:750}.weekly-task-summary-card.is-complete{background:color-mix(in srgb, #16a34a 12%, var(--surface));border-color:color-mix(in srgb, #16a34a 45%, var(--border))!important}.weekly-task-summary-card.is-complete strong{color:#15803d}.weekly-task-summary-card.is-complete span:after{content:"  ✓ objectif atteint";color:#15803d;font-size:11px;font-weight:800}.profile-inline-select{border:1px solid var(--line);min-width:120px;color:var(--text);background:var(--surface);font:inherit;border-radius:9px;padding:8px 10px}.goal-planning-config{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;gap:12px;padding:13px;display:grid}.goal-planning-toggle{align-items:flex-start;grid-template-columns:none!important;gap:10px!important;display:flex!important}.goal-planning-toggle input{width:18px;height:18px;margin-top:2px}.goal-planning-toggle span{gap:3px;display:grid}.goal-planning-toggle small{color:var(--muted);line-height:1.4}.goal-planning-note{background:var(--primary-soft);color:var(--primary);border-radius:9px;align-items:center;gap:6px;padding:8px 9px;font-size:11px;display:flex}.goal-planning-note span{flex:1}.goal-planning-note button{color:var(--primary);background:var(--surface);font:inherit;cursor:pointer;border:0;border-radius:7px;padding:4px 7px;font-weight:800}.priority-urgent,.priority-high{color:#b45309;font-weight:800}.week-task-drop-preview{z-index:18;border:2px dashed var(--primary);background:color-mix(in srgb, var(--primary) 16%, var(--surface));pointer-events:none;min-height:8px;color:var(--text);border-radius:9px;padding:4px 7px;position:absolute;left:4px;right:4px;overflow:hidden}.week-task-drop-preview strong,.week-task-drop-preview time{font-size:11px;display:block}.event-join-button{z-index:8;width:fit-content;max-width:calc(100% - 24px);color:inherit;background:#ffffff70;border-radius:6px;align-items:center;gap:4px;margin-top:2px;padding:2px 6px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.event-join-button.icon-only{padding:2px;position:absolute;bottom:3px;left:5px}.guest-invite-composer{grid-template-columns:minmax(130px,.9fr) minmax(190px,1.25fr) minmax(138px,auto) minmax(120px,auto);align-items:center;gap:8px;width:100%;min-width:0;display:grid}.guest-invite-composer input{width:100%;min-width:0;height:40px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:10px;outline:0;margin:0;padding:0 11px;font-size:11px;font-weight:500;transition:border-color .16s,box-shadow .16s}.guest-invite-composer input::placeholder{color:var(--muted);opacity:.78}.guest-invite-composer input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 88%)}.guest-invite-composer button,.guest-invite-links button{border:1px solid var(--line);background:var(--surface);min-width:0;height:40px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:10px;font-weight:750;display:inline-flex}.guest-invite-composer button:first-of-type{color:#fff;border-color:var(--primary);background:var(--primary);min-width:138px}.guest-invite-drafts{flex-wrap:wrap;gap:7px;display:flex}.guest-invite-drafts button{background:var(--primary-soft);color:var(--primary);border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.guest-invite-drafts small{opacity:.75}.public-invitation-page{background:radial-gradient(circle at top left, #5b64dd2e, transparent 36%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.public-invitation-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;width:min(100%,600px);padding:clamp(24px,5vw,44px);box-shadow:0 24px 70px #0f172a1f}.public-invitation-facts{gap:10px;margin:24px 0;display:grid}.public-invitation-facts span,.public-invitation-actions{align-items:center;gap:9px;display:flex}.public-invitation-actions{margin:20px 0}.public-join-button{justify-content:center;width:100%;margin:12px 0 20px;display:flex}@media (max-width:980px){.calendar-workspace,.calendar-workspace.tasks-open{grid-template-columns:minmax(0,1fr)}.unplanned-task-panel{order:1;max-height:none;position:static}.unplanned-task-list{grid-template-columns:minmax(0,1fr);max-height:min(65vh,520px);padding-bottom:16px;display:grid}.task-panel-section-content{scrollbar-gutter:auto;max-height:none;overflow:visible}.guest-invite-composer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.guest-invite-composer button{width:100%}.profile-facts-four{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-password-form,.profile-data-actions{grid-template-columns:1fr}}.planning-page>.page-header{align-items:center;margin-bottom:12px}.planning-page>.page-header .eyebrow{font-size:8px}.planning-page>.page-header h1{margin:1px 0 0;font-size:clamp(24px,2.3vw,30px)}.planning-page>.page-header p{display:none}.planning-page>.page-header .button{min-height:38px;padding-inline:13px}.mobile-nav{display:none}.center-screen{align-content:center;justify-items:center;gap:20px;min-height:100vh;display:grid}.loader{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:25px;height:25px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-schedule{margin:8px 0 24px}.dashboard-schedule-title{align-items:end}.dashboard-schedule-title p{color:var(--muted);margin:5px 0 0;font-size:11px}.dashboard-calendar-frame{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;overflow:hidden}.dashboard-calendar-frame .week-calendar-shell{border:0;border-radius:0}.hero-grid{grid-template-columns:minmax(400px,1.7fr) minmax(200px,.75fr) minmax(240px,.9fr);gap:15px;margin-bottom:35px;display:grid}.hero-grid>.card{min-height:160px;padding:22px}.weekly-planning-add-extra{min-height:30px;color:var(--primary);border:1px dashed color-mix(in srgb, var(--primary) 42%, var(--border));background:color-mix(in srgb, var(--primary-soft) 58%, var(--surface));font:inherit;cursor:pointer;border-radius:8px;grid-column:1/-1;padding:6px 8px;font-weight:800}.today-overview{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0 22px;display:grid}.today-overview-card{align-items:center;gap:12px;min-height:92px;padding:14px;display:flex}.today-overview-card>div:last-child{gap:3px;min-width:0;display:grid}.today-overview-card small,.today-overview-card span{color:var(--muted);font-size:12px}.today-overview-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.level-card{color:#fff;background:radial-gradient(circle at 8% 10%,#ffffff2b,#0000 27%),linear-gradient(130deg,#5c65db,#454a9c);border:0;grid-template-columns:110px 1fr;align-items:center;gap:22px;display:grid;position:relative;overflow:hidden}.level-card:after{content:"";border:30px solid #ffffff0a;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-70px;right:-55px}.level-orb{z-index:1;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;align-content:center;place-items:center;width:100px;height:100px;display:grid;position:relative;box-shadow:inset 0 0 0 8px #ffffff0a}.level-orb span{font-size:34px;font-weight:800;line-height:1}.level-orb small{letter-spacing:1.4px;margin-top:5px;font-size:8px}.level-content{z-index:1;position:relative}.level-content .pill{color:#e9eaff;background:#ffffff1f}.level-content h2{margin:10px 0 4px;font-size:20px}.level-content p{color:#ffffffb3;margin-bottom:13px;font-size:12px}.level-card .progress-track{background:#ffffff2e}.level-card .progress-track span{background:#fff}.bar-labels{color:#ffffffb3;justify-content:space-between;margin-top:6px;font-size:9px;display:flex}.streak-card{flex-direction:column;justify-content:space-between;display:flex}.streak-card>div:last-child{display:grid}.streak-card .metric{margin-top:8px}.streak-card strong{font-size:13px}.streak-card p,.week-card p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.4}.metric{letter-spacing:-1px;font-size:29px;font-weight:800;line-height:1.05}.metric-row{justify-content:space-between;align-items:center;display:flex}.week-card{flex-direction:column;justify-content:space-between;display:flex}.week-card>strong{font-size:13px}.week-card .progress-track{margin-top:8px}.icon-box{border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.tone-orange{color:#e28714;background:#fff4df}.tone-green{color:#159a68;background:#e7f8f1}.tone-indigo{color:var(--primary);background:var(--primary-soft)}.tone-cyan{color:#0891b2;background:#e5f8fc}:root[data-theme=dark] .tone-orange,:root[data-theme=dark] .tone-green,:root[data-theme=dark] .tone-cyan{background:var(--surface-soft)}.progress-track{background:var(--line);border-radius:99px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--primary);height:100%;transition:width .4s;display:block}.dashboard-columns{grid-template-columns:minmax(0,1.6fr) minmax(300px,.85fr);gap:28px;display:grid}.content-column,.side-column{min-width:0}.section-title{justify-content:space-between;align-items:flex-start;gap:15px;min-height:44px;margin:0 2px 11px;display:flex}.section-title h2{letter-spacing:-.5px;margin:0;font-size:19px}.section-title .eyebrow{margin-bottom:4px}.section-title>a{color:var(--primary);align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.list-card{margin-bottom:29px;overflow:hidden}.task-row{border-bottom:1px solid var(--line);grid-template-columns:auto auto 1fr auto;align-items:center;gap:11px;min-height:67px;padding:11px 17px;display:grid}.task-row:last-child{border-bottom:0}.task-row.done{opacity:.55}.task-row.done strong{text-decoration:line-through}.check-button{background:var(--surface);color:#fff;cursor:pointer;border:1.5px solid #cfd2df;border-radius:7px;place-items:center;width:23px;height:23px;padding:0;display:grid}.done .check-button{border-color:var(--green);background:var(--green)}.check-button:has(svg){border-color:var(--green);background:var(--green)}.check-button.large{border-radius:8px;width:27px;height:27px}.task-complete-button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--primary);white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:800;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.task-complete-button:not(:disabled):hover{border-color:var(--primary);background:var(--primary-soft)}.task-complete-button:disabled{cursor:not-allowed;color:var(--muted);background:var(--surface-muted,var(--surface));opacity:.7}.task-complete-button-managed{cursor:default;color:var(--muted);border-style:dashed;font-size:10px}.category-dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.row-main strong,.row-main small{display:block}.row-main strong{font-size:13px}.row-main small{color:var(--muted);margin-top:5px;font-size:10px}.priority{color:var(--muted);background:var(--surface-soft);border-radius:7px;padding:5px 8px;font-size:9px;font-weight:750}.priority-high,.priority-urgent{color:#d44c55;background:#fff0f1}.priority-low{color:#658071;background:#eef8f2}:root[data-theme=dark] .priority-high,:root[data-theme=dark] .priority-urgent,:root[data-theme=dark] .priority-low{background:var(--surface-soft)}.inline-empty{color:var(--green);align-items:center;gap:13px;padding:25px;display:flex}.inline-empty strong{color:var(--text)}.inline-empty p{color:var(--muted);margin:4px 0 0;font-size:12px}.habit-grid{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.habit-card{text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:93px;padding:15px;display:grid;position:relative}.habit-card>strong{font-size:12px}.habit-card>small{color:var(--muted);grid-column:2;font-size:10px}.habit-card.complete{background:#21a8750a;border-color:#21a87559}.habit-check{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:11px;grid-row:1/3;place-items:center;display:grid}.habit-card.complete .habit-check{color:#fff;background:var(--green)}.timeline-card{margin-bottom:27px;padding:14px 15px}.timeline-item{grid-template-columns:40px 7px 1fr;align-items:flex-start;gap:10px;padding:9px 0;display:grid}.timeline-item time{color:var(--muted);font-size:10px}.timeline-item>span{border-radius:50%;width:7px;height:7px;margin-top:3px}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:11px}.timeline-item small{color:var(--muted);margin-top:3px;font-size:9px}.next-note{color:var(--primary);background:var(--primary-soft);border-radius:9px;align-items:center;gap:7px;margin-top:7px;padding:9px;font-size:10px;font-weight:700;display:flex}.goal-stack{gap:9px;display:grid}.compact-goal{padding:13px 15px}.compact-goal>div:first-child{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.compact-goal strong{font-size:11px}.compact-goal>div span:last-child{color:var(--muted);font-size:10px}.compact-goal .progress-track{margin:10px 0 6px}.compact-goal>small{color:var(--muted);font-size:9px}.gentle-card{color:#795917;background:#fff9ec;border:1px solid #f1dfb9;border-radius:14px;gap:10px;margin-top:17px;padding:15px;display:flex}.gentle-card strong{font-size:11px}.gentle-card p{margin:4px 0 0;font-size:9px;line-height:1.5}.gentle-card>svg{flex:none}:root[data-theme=dark] .gentle-card{color:#f1d28a;background:#29251b;border-color:#4c422e}.toolbar{align-items:center;gap:12px;margin-bottom:17px;display:flex}.search-field{border:1px solid var(--line);background:var(--surface);min-width:250px;height:43px;color:var(--muted);border-radius:12px;flex:1;align-items:center;gap:9px;padding:0 13px;display:flex}.search-field input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.segmented{background:var(--surface-soft);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:700;display:flex}.segmented button.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 10px #1e234614}.segmented.compact button{min-height:34px}.task-filter-wrap{flex:none;position:relative}.task-filter-wrap>.button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.task-filter-count{color:#fff;background:var(--primary);border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:10px;font-weight:800;display:inline-grid}.task-filter-popover{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:12px;width:min(290px,100vw - 32px);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #181d3529}.task-filter-popover-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-filter-popover-head strong{font-size:13px}.task-filter-reset{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.task-filter-popover label:not(.task-filter-checkbox){color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.task-filter-popover select{border:1px solid var(--line);width:100%;min-height:35px;color:var(--text);background:var(--surface);font:inherit;border-radius:8px;padding:0 9px}.task-filter-checkbox{color:var(--text);cursor:pointer;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;display:flex}.task-filter-checkbox input{accent-color:var(--primary);margin:1px 0 0}.tasks-kind-tabs{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(620px,100%);margin-bottom:14px;padding:5px;display:grid}.tasks-kind-tabs button{min-width:0;min-height:43px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-weight:800;display:flex}.tasks-kind-tabs button.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 10px #1e234614}.tasks-kind-tabs button span{min-width:23px;color:inherit;background:var(--primary-soft);border-radius:999px;padding:2px 6px;font-size:10px}.task-list-full{overflow:hidden}.task-detail-row{border-bottom:1px solid var(--line);grid-template-columns:auto 4px 1fr auto auto;align-items:center;gap:15px;min-height:91px;padding:15px 20px;display:grid}.task-detail-row:last-child{border:0}.task-detail-row.done{opacity:.56}.task-detail-row.done .task-copy strong{text-decoration:line-through}.category-line{border-radius:9px;align-self:stretch;width:3px}.task-copy strong{font-size:14px}.task-copy>p{color:var(--muted);margin:5px 0;font-size:12px}.task-meta{color:var(--muted);flex-wrap:wrap;gap:11px;margin-top:7px;font-size:10px;display:flex}.subtask-summary{color:var(--primary);align-items:center;gap:4px;margin-top:7px;font-size:10px;display:flex}.row-actions{opacity:1;transition:opacity .15s;display:flex}.task-detail-row:hover .row-actions{opacity:1}.row-actions button,.ghost-action{width:33px;height:33px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.row-actions button:hover,.ghost-action:hover{color:var(--text);background:var(--surface-soft)}.empty-state{text-align:center;align-content:center;place-items:center;min-height:290px;padding:30px;display:grid}.empty-state h2{margin:12px 0 6px}.empty-state p{color:var(--muted)}.empty-icon{width:60px;height:60px;color:var(--green);background:#eaf8f2;border-radius:20px;place-items:center;display:grid}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16182485;place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:20px;width:min(540px,100%);max-height:calc(100vh - 40px);padding:25px;animation:.18s rise;overflow-y:auto;box-shadow:0 25px 80px #0f111e45}.notification-onboarding-backdrop{z-index:120}.notification-onboarding-modal{text-align:center;width:min(480px,100%);padding:30px}.notification-onboarding-icon{width:52px;height:52px;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 88%);border-radius:16px;place-items:center;margin:0 auto 14px;display:grid}.notification-onboarding-modal h2{letter-spacing:-.5px;margin:0 0 9px;font-size:22px}.notification-onboarding-modal p{color:var(--muted);margin:0;line-height:1.55}.notification-onboarding-modal .notification-onboarding-error{color:var(--danger);margin-top:12px;font-weight:700}.notification-onboarding-actions{justify-content:center;gap:10px;margin-top:23px;display:flex}@media (max-width:560px){.notification-onboarding-modal{padding:24px 18px}.notification-onboarding-actions{grid-template-columns:1fr;display:grid}}.modal-large{width:min(720px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:23px;display:flex}.modal-head h2{letter-spacing:-.7px;margin:0;font-size:23px}.stack{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;padding-top:7px;display:flex}.inline-input{gap:8px;display:flex}.inline-input input{margin:0}.subtask-chip{color:var(--primary);background:var(--primary-soft);border-radius:8px;align-items:center;gap:6px;margin:8px 6px 0 0;padding:6px 9px;font-size:11px;display:inline-flex}.subtask-chip button{color:inherit;cursor:pointer;background:0 0;border:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.98)}}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:22px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:12px 17px 15px;font-weight:700;display:flex;position:relative}.tabs button span{background:var(--surface-soft);border-radius:8px;padding:2px 6px;font-size:10px}.tabs button.active{color:var(--primary)}.tabs button.active:after{content:"";background:var(--primary);border-radius:2px;height:2px;position:absolute;inset:auto 8px -1px}.goal-grid-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.goal-card-full{padding:20px}.goal-top{align-items:center;gap:9px;display:flex}.goal-icon{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.status-pill{color:var(--muted);background:var(--surface-soft);border-radius:8px;margin-left:auto;padding:5px 8px;font-size:9px;font-weight:750}.status-pill.completed{color:var(--green);background:#21a8751a}.goal-card-full h2{margin:18px 0 7px;font-size:16px}.goal-card-full>p{min-height:34px;color:var(--muted);font-size:11px;line-height:1.5}.goal-numbers{justify-content:space-between;align-items:baseline;margin:19px 0 10px;display:flex}.goal-numbers strong{font-size:24px}.goal-numbers strong small,.goal-numbers span{color:var(--muted);font-size:10px}.goal-foot{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:9px;display:flex}.goal-foot span:last-child{color:var(--primary);font-weight:800}.habit-list-full{gap:10px;display:grid}.habit-row-full{grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;gap:18px;padding:17px 20px;display:grid}.habit-big-check{width:42px;height:42px;color:var(--primary);background:var(--surface-soft);cursor:pointer;border:1px dashed #c9cddd;border-radius:13px;place-items:center;display:grid}.habit-big-check.done{color:#fff;background:var(--green);border:0}.habit-info>div{align-items:center;gap:8px;display:flex}.habit-info h2{margin:0;font-size:14px}.habit-info p{color:var(--muted);margin:6px 0 0 15px;font-size:10px}.week-dots{gap:6px;display:flex}.week-dots span{width:28px;color:var(--muted);justify-items:center;gap:4px;display:grid}.week-dots span small{font-size:8px}.week-dots span:not(small){border:1px solid var(--line);border-radius:8px;align-content:center;min-height:24px}.week-dots span.active{color:#fff;border-color:var(--green);background:var(--green)}.xp-badge{color:#e28b12;align-items:center;gap:4px;font-size:10px;font-weight:800;display:flex}.day-picker{gap:7px;margin-top:8px;display:flex}.day-picker button{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:10px}.day-picker button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px;display:flex}.planning-page .calendar-toolbar{gap:12px;margin-bottom:8px}.calendar-nav{align-items:center;gap:7px;display:flex}.calendar-nav>button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.calendar-nav .today-button{width:auto;padding:0 11px;font-size:11px;font-weight:750}.calendar-nav h2{text-transform:capitalize;margin:0 0 0 10px;font-size:18px}.task-panel-session-count{color:var(--primary);margin-top:4px;font-size:9px;font-weight:750;line-height:1.35;display:block}.task-appearance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.task-color-control{grid-template-columns:46px minmax(0,1fr);gap:8px;display:grid}.task-color-control input[type=color]{cursor:pointer;width:46px;min-width:46px;padding:4px}@media (max-width:620px){.task-appearance-fields{grid-template-columns:1fr}}.calendar-year-navigation{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;align-items:center;gap:4px;margin-left:3px;padding:3px;display:inline-flex}.calendar-year-navigation button{width:29px;height:29px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.calendar-year-navigation button:hover,.calendar-year-navigation button:focus-visible{color:var(--primary);background:var(--surface)}.calendar-year-navigation select{min-width:82px;height:29px;color:var(--text);background-color:var(--surface);cursor:pointer;border:0;border-radius:8px;outline:0;padding:0 25px 0 9px;font-size:13px;font-weight:800}.calendar-year-navigation select:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 62%)}.calendar-toolbar-actions{align-items:center;gap:9px;display:flex}.calendar-history-actions{align-items:center;gap:4px;display:inline-flex}.calendar-history-actions button{width:35px;height:35px;color:var(--text);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;place-items:center;display:grid}.calendar-history-actions button:hover:not(:disabled),.calendar-history-actions button:focus-visible:not(:disabled){color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 45%)}.calendar-history-actions button:disabled{color:var(--muted);opacity:.38;cursor:not-allowed}.calendar-fullscreen-button{min-height:35px;color:var(--muted);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:10px;font-weight:750;display:inline-flex}.calendar-fullscreen-button:hover,.calendar-fullscreen-button:focus-visible{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 35%)}.calendar-grid{border:1px solid var(--line);background:var(--surface);border-radius:16px;display:grid;overflow:hidden}.calendar-grid.week{grid-template-columns:repeat(7,minmax(100px,1fr))}.calendar-grid.month{grid-template-columns:repeat(7,minmax(80px,1fr))}.calendar-day{border-right:1px solid var(--line);background:var(--surface);min-height:520px}.calendar-grid.month .calendar-day{border-bottom:1px solid var(--line);min-height:130px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{opacity:.43;background:var(--surface-soft)}.day-head{border-bottom:1px solid var(--line);align-content:center;place-items:center;gap:3px;height:61px;display:grid}.day-head span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:750}.day-head strong{border-radius:9px;place-items:center;width:29px;height:29px;font-size:13px;display:grid}.calendar-day.today .day-head strong{color:#fff;background:var(--primary)}.day-events{align-content:start;gap:6px;padding:7px;display:grid}.calendar-event{cursor:grab;border:1px solid;border-radius:9px;grid-template-columns:3px 1fr;gap:2px 7px;padding:8px;font-size:9px;display:grid;position:relative;overflow:hidden}.calendar-event>span{border-radius:3px;grid-row:1/4;width:3px}.calendar-event time{color:var(--muted);font-size:8px}.calendar-event strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-event small{color:var(--muted);font-size:7px}.calendar-event.done{opacity:.55}.calendar-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;margin-top:14px;font-size:9px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.calendar-legend i{border-radius:50%;width:7px;height:7px}.calendar-legend small{margin-left:auto}.day-agenda{position:relative;overflow:hidden}.agenda-hour{border-bottom:1px solid var(--line);grid-template-columns:65px 1fr;min-height:66px;display:grid}.agenda-hour:last-child{border:0}.agenda-hour>time{color:var(--muted);border-right:1px solid var(--line);padding:8px 12px;font-size:10px}.agenda-hour>div{padding:5px 10px}.agenda-hour .calendar-event{max-width:420px}.agenda-empty{color:var(--muted);gap:8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.week-calendar-shell{outline:none;position:relative}.week-calendar-help{color:var(--muted);text-align:right;margin:-2px 2px 5px;font-size:8px}.week-range-switch{display:none}.calendar-selection-toolbar{border:1px solid color-mix(in srgb, var(--primary), transparent 64%);background:color-mix(in srgb, var(--primary-soft), var(--surface) 56%);border-radius:11px;flex-wrap:wrap;align-items:center;gap:5px;min-height:38px;margin:0 0 6px;padding:5px 7px;display:flex}.calendar-selection-toolbar strong{color:var(--primary);align-items:center;gap:5px;margin-right:4px;font-size:10px;display:inline-flex}.calendar-selection-toolbar button{min-height:28px;color:var(--text);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:9px;font-weight:750;display:inline-flex}.calendar-selection-toolbar button.active{color:var(--primary);border-color:var(--primary)}.calendar-selection-toolbar button.danger{color:var(--danger)}.calendar-selection-toolbar .selection-cancel{margin-left:auto}.selection-move-hint{color:var(--muted);font-size:9px}.calendar-selection-box{z-index:80;border:1px solid var(--primary);background:color-mix(in srgb, var(--primary), transparent 83%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--surface), transparent 55%);pointer-events:none;border-radius:4px;position:fixed}.calendar-area-selecting,.calendar-area-selecting *{-webkit-user-select:none!important;user-select:none!important}.week-calendar-scroll{overscroll-behavior:contain;background:var(--surface);height:0;min-height:0;box-shadow:inset 0 0 0 1px var(--line), var(--shadow);scrollbar-gutter:auto;border:0;border-radius:16px;position:relative;overflow:hidden}.week-time-canvas{width:100%;min-width:0}.week-days-header,.week-body{grid-template-columns:58px repeat(var(--visible-days,7), minmax(0, 1fr));display:grid}.week-days-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 3%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:76px;position:sticky;top:0}.week-timezone{z-index:24;color:var(--muted);border-right:1px solid var(--line);background:var(--surface);letter-spacing:.7px;text-transform:uppercase;place-items:center;font-size:8px;font-weight:800;display:grid;position:sticky;left:0}.week-day-heading{border-right:1px solid var(--line);align-content:center;place-items:center;gap:3px;padding:5px 3px;display:grid}.week-day-heading:last-child{border-right:0}.week-day-heading span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.week-day-heading strong{border-radius:10px;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.week-day-heading.today span{color:var(--primary)}.week-day-heading.today strong{color:#fff;background:var(--primary);box-shadow:0 5px 12px #5b64dd3d}.week-birthday-chip{color:#9d2f66;background:color-mix(in srgb, #f6a9cc, var(--surface) 76%);cursor:pointer;border:1px solid #db4d9173;border-radius:7px;justify-content:center;align-items:center;gap:4px;width:calc(100% - 8px);min-width:0;height:24px;padding:2px 6px;display:flex}.week-birthday-chip span{min-width:0;color:inherit;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-size:9px;font-weight:800;overflow:hidden}.birthday-modal{width:min(650px,100vw - 24px)}.calendar-period-modal{width:min(680px,100vw - 24px)}.calendar-period-help{color:var(--muted);margin:-3px 0 14px;font-size:11px;line-height:1.5}.calendar-period-color-field{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:10px;min-height:42px;padding:6px 10px;display:flex}.calendar-period-color-field input{border:0;width:42px;height:27px;padding:0}.calendar-period-color-field span{color:var(--muted);font-size:10px;font-weight:750}.calendar-period-availability{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;align-items:center;min-height:42px;padding:7px 10px;flex-direction:row!important;gap:9px!important;display:flex!important}.calendar-period-availability input{width:17px;height:17px;margin:0}.calendar-period-availability span,.calendar-period-availability small{display:block}.calendar-period-availability small{color:var(--muted);margin-top:2px}.calendar-period-actions .button.danger{margin-right:auto}.calendar-period-list{border-top:1px solid var(--line);gap:6px;max-height:210px;margin-top:16px;padding-top:14px;display:grid;overflow-y:auto}.calendar-period-list h3{margin:0 0 2px;font-size:12px}.calendar-period-list>button{width:100%;min-width:0;color:var(--text);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;display:grid}.calendar-period-list>button.active{border-color:var(--primary);background:var(--primary-soft)}.calendar-period-list i{border-radius:5px;width:7px;height:34px}.calendar-period-list strong,.calendar-period-list small{display:block}.calendar-period-list small{color:var(--muted);margin-top:2px;font-size:9px}.birthday-sync-note{color:#8d315d;background:color-mix(in srgb, #f6a9cc, var(--surface) 84%);border:1px solid #db4d9161;border-radius:10px;grid-column:1/-1;align-items:flex-start;gap:9px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.birthday-reminders{border:1px solid var(--line);border-radius:12px;margin:0;padding:12px}.birthday-reminders legend{padding:0 5px;font-size:12px;font-weight:800}.birthday-reminders>div{flex-wrap:wrap;gap:8px 14px;margin-bottom:10px;display:flex}.birthday-reminders>div label{flex-direction:row;align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.birthday-reminders input[type=checkbox]{width:16px;height:16px}.birthday-form-actions{justify-content:flex-end}.birthday-delete-actions{flex-wrap:wrap;gap:8px;margin-right:auto;display:flex}@media (max-width:700px){.birthday-form-actions,.birthday-delete-actions{width:100%}.birthday-form-actions>.button{flex:1}}.week-calorie-line{width:calc(100% - 8px);min-width:0;min-height:30px;color:var(--text);background:var(--surface-soft);text-align:center;cursor:pointer;border:0;border-radius:7px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 7px;margin-top:3px;padding:4px 6px;font-size:10px;font-weight:750;line-height:16px;display:flex}.week-calorie-line:hover{color:var(--primary);background:var(--primary-soft)}.week-calorie-line>span{white-space:nowrap}.week-calorie-line>span:first-child{color:#d96f10}.week-calorie-line>span:nth-child(2){color:#1689a7}.week-calorie-line.tone-good>span:nth-child(3){color:#16875f}.week-calorie-line.tone-warning>span:nth-child(3){color:#db7a16}.week-calorie-line.tone-high>span:nth-child(3){color:#c85059}.weekly-calorie-summary{color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:5px;margin:-4px 0 12px;padding:9px 12px;display:grid}.weekly-calorie-summary>div{flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.weekly-calorie-summary>div strong{margin-right:2px}.weekly-calorie-summary>div span:first-of-type{color:#d96f10}.weekly-calorie-summary small{color:var(--muted);font-size:10px}.week-body{height:var(--day-height,1728px);position:relative}.week-time-axis{z-index:12;height:var(--day-height,1728px);border-right:1px solid var(--line);background:var(--surface);position:sticky;left:0}.week-time-axis time{color:var(--muted);font-size:9px;line-height:1;position:absolute;right:10px;transform:translateY(-50%)}.week-time-axis time.at-boundary{transform:translateY(3px)}.week-day-column{height:var(--day-height,1728px);border-right:1px solid var(--line);background-color:var(--surface);cursor:crosshair;position:relative;overflow:hidden}.week-day-column:last-child{border-right:0}.week-day-column.today{background-color:color-mix(in srgb, var(--primary-soft), var(--surface) 62%)}.week-period-backgrounds{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.week-period-backgrounds>span{pointer-events:none;border-radius:5px;position:absolute}.week-clock-grid{z-index:0;pointer-events:none;position:absolute;inset:0}.week-clock-grid>span{border-top:1px solid color-mix(in srgb, var(--line), transparent 47%);position:absolute;left:0;right:0}.week-clock-grid>span.major{border-top-color:var(--line)}.collapsed-night-zone{z-index:9;color:#5f6684;background:color-mix(in srgb, #6b7190, var(--surface) 95%);text-align:left;cursor:pointer;border:1px solid #6b719052;border-radius:9px;justify-content:space-between;align-items:center;gap:6px;min-width:0;height:36px;padding:0 10px;display:flex;position:absolute;inset:2px 4px auto}.collapsed-night-zone:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary-soft), var(--surface) 55%)}.collapsed-night-zone span{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:750;overflow:hidden}.collapsed-night-zone svg{flex:none}.week-time-canvas:not(.variant-day) .collapsed-night-zone{padding-inline:6px}.week-time-canvas:not(.variant-day) .collapsed-night-zone span{font-size:7px}.expanded-night-toggle{z-index:10;width:26px;height:26px;color:var(--muted);border:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 8%);cursor:pointer;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.expanded-night-toggle:hover{color:var(--primary);border-color:var(--primary)}.week-event{z-index:4;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border:1px solid;border-radius:8px;min-width:0;padding:4px 24px 5px 9px;position:absolute;overflow:visible;box-shadow:0 3px 10px #191d3714}.week-event:active{cursor:grabbing}.week-event.nested-event{z-index:8;box-shadow:0 0 0 2px color-mix(in srgb, var(--surface), transparent 18%), 0 5px 14px #191d3729;border-width:2px 2px 2px 4px}.week-event-nested-mark{z-index:9;background:color-mix(in srgb, var(--surface), transparent 10%);color:currentColor;pointer-events:none;border-radius:50%;place-items:center;width:13px;height:13px;font-size:9px;font-weight:900;display:grid;position:absolute;top:2px;left:2px}.week-event.nested-event>strong{padding-left:9px}.week-event.drop-placement-candidate{z-index:12;outline:2px solid color-mix(in srgb, var(--primary), white 20%);outline-offset:2px}.week-drop-choice{z-index:20;pointer-events:none;grid-template-columns:1fr 1fr;gap:3px;display:grid;position:absolute;inset:auto 4px 4px}.week-drop-choice i{border:1px solid color-mix(in srgb, currentColor, transparent 65%);background:color-mix(in srgb, var(--surface), transparent 8%);min-width:0;color:var(--muted);text-align:center;border-radius:5px;padding:3px 4px;font-size:7px;font-style:normal;font-weight:800}.week-drop-choice i.active{border-color:var(--primary);background:var(--primary);color:#fff}.week-event.selection-drag-locked,.week-event.selection-drag-locked:active{cursor:default}@media (max-width:560px){.tasks-kind-tabs button{flex-wrap:wrap;gap:4px 6px;min-height:47px;padding:5px 8px;font-size:11px;line-height:1.15}}.event-time-mode{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:10px}.event-time-mode legend{color:var(--muted);padding:0 5px;font-size:10px;font-weight:750}.event-time-mode>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.event-time-mode button{min-height:34px;color:var(--muted);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;padding:0 8px;font-size:9px;font-weight:750}.event-time-mode button.active{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 55%);background:var(--primary-soft)}.event-editor-modal{width:min(620px,100%);padding-bottom:0}.event-editor-modal .modal-head{margin-bottom:14px}.event-editor-modal .form-grid{gap:10px 12px}.event-editor-modal .form-actions{z-index:35;border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 3%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:0 -25px;padding:12px 25px;position:sticky;bottom:0}.event-form-section{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-soft), var(--surface) 45%);border-radius:12px;min-width:0;overflow:visible}.event-form-section>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:0 12px;list-style:none;display:flex}.event-form-section>summary::-webkit-details-marker{display:none}.event-form-section>summary:after{content:"⌄";color:var(--muted);font-size:14px;transition:transform .16s}.event-form-section[open]>summary:after{transform:rotate(180deg)}.event-form-section>summary span{color:var(--text);font-size:11px;font-weight:800}.event-form-section>summary small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:9px;overflow:hidden}.event-form-section>label,.event-form-section>.event-recurrence-fields{gap:6px;margin:0 10px 10px;display:grid}.event-form-section .event-link-field,.event-form-section .friend-invite-field{border-radius:10px;margin:0 10px 10px;padding:10px}.event-recurrence-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.event-recurrence-fields>.span-2{grid-column:1/-1}.week-event.event-marker{border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;min-height:24px;padding:2px 24px 2px 13px;display:grid;overflow:hidden}.week-event.event-marker:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;left:4px}.week-event.event-marker strong,.week-event.event-marker time{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.week-event.event-marker small,.week-event.event-marker .week-event-watermark,.week-event.event-marker .week-event-accent{display:none}.week-event:hover{z-index:6;filter:saturate(1.08);box-shadow:0 6px 15px #191d3724}.calendar-event-hover-card{z-index:160;width:min(276px,100vw - 20px);color:var(--text);border:1px solid color-mix(in srgb, var(--primary), var(--line) 55%);background:color-mix(in srgb, var(--surface), var(--surface-soft) 18%);pointer-events:none;border-radius:12px;gap:5px;padding:12px 13px;animation:.12s ease-out calendar-event-hover-in;display:grid;position:fixed;box-shadow:0 14px 34px #14182d38}.calendar-event-hover-meta{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.calendar-event-hover-dot{border-radius:50%;flex:none;width:7px;height:7px}.calendar-event-hover-status{color:var(--primary);background:var(--primary-soft);text-transform:none;border-radius:999px;margin-left:auto;padding:3px 6px;font-size:8px}.calendar-event-hover-card>strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.2}.calendar-event-hover-card>time{color:var(--muted);font-size:10px;font-weight:750}.calendar-event-hover-card>p{max-height:66px;color:var(--text);overflow-wrap:anywhere;margin:1px 0 0;font-size:10px;line-height:1.35;overflow:hidden}.calendar-event-hover-card>small{color:var(--muted);font-size:9px;line-height:1.25}.calendar-event-hover-card>small.calendar-event-hover-calories{color:#b95f08;font-weight:800}[data-theme=dark] .calendar-event-hover-card>small.calendar-event-hover-calories{color:#ffb45f}@keyframes calendar-event-hover-in{0%{opacity:0;transform:translateY(3px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.week-event.selected{z-index:7;box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 72%), 0 5px 13px #191d3721;border-width:2px;border-color:var(--primary)!important;background:color-mix(in srgb, var(--primary-soft), var(--surface) 42%)!important}.week-event-selection-check{z-index:11;color:#fff;background:var(--primary);pointer-events:none;border-radius:50%;place-items:center;width:15px;height:15px;display:grid;position:absolute;top:3px;right:25px}.week-group-drag-preview{z-index:18;min-height:1px;color:var(--text);background:color-mix(in srgb, var(--primary-soft), var(--surface) 40%);pointer-events:none;border:2px dashed;border-radius:7px;padding:3px 5px;position:absolute;overflow:hidden;box-shadow:0 5px 15px #191d3726}.week-group-drag-preview strong,.week-group-drag-preview time{white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.1;display:block;overflow:hidden}.calendar-group-delta{z-index:100;color:#fff;pointer-events:none;background:#31364f;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:800;position:fixed;box-shadow:0 6px 18px #14182d3d}.week-event.done{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor, transparent 72%), 0 3px 10px #191d3714}.week-event.done:after{content:"✓";z-index:4;width:14px;height:14px;color:var(--green);background:var(--surface);pointer-events:none;border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;bottom:3px;right:5px}.week-event.cancelled{text-decoration:line-through}.week-event.in-progress{border-width:2px}.week-event-accent{z-index:3;width:4px;position:absolute;inset:0 auto 0 0}.week-event-watermark{z-index:0;opacity:.11;pointer-events:none;place-items:center;width:clamp(24px,42%,62px);height:clamp(24px,78%,62px);display:grid;position:absolute;top:50%;right:clamp(5px,8%,14px);transform:translateY(-50%)}.week-event-watermark svg{width:100%;max-width:62px;height:100%;max-height:62px}.week-event.event-tight .week-event-watermark{opacity:.09;width:min(30px,35%);height:min(30px,82%);right:4px}.week-event.event-micro .week-event-watermark{opacity:.08;width:20px;height:20px}.week-event strong,.week-event time,.week-event small{z-index:2;white-space:nowrap;text-overflow:ellipsis;display:block;position:relative;overflow:hidden}.week-event strong{color:var(--text);font-size:10px;line-height:1.25}.week-event time{color:var(--text);margin-top:2px;font-size:8px;font-weight:700}.week-event small{color:var(--muted);margin-top:2px;font-size:7px}.week-event small.event-calorie-estimate{color:#b95f08;font-weight:800}[data-theme=dark] .week-event small.event-calorie-estimate{color:#ffb45f}.full-day-calendar .week-event strong{font-size:9px;line-height:1.15}.full-day-calendar .week-event time{margin-top:1px}.full-day-calendar .week-calendar-scroll{overscroll-behavior:none}.week-event.event-tight{padding-block:2px}.week-event.event-tight strong,.week-event.event-tight time{font-size:7px;line-height:1}.week-event.event-tight time{margin-top:1px}.week-event.event-micro{padding-block:0}.week-event.event-micro strong,.week-event.event-micro time{font-size:5px;line-height:.9}.week-resize-handle{z-index:12;opacity:0;cursor:ns-resize;touch-action:none;background:0 0;border:0;width:38px;height:18px;padding:0;position:absolute;left:50%;transform:translate(-50%)}.week-resize-handle.resize-start{top:-8px}.week-resize-handle.resize-end{bottom:-8px}.week-resize-handle:after{content:"";border:1px solid color-mix(in srgb, currentColor, transparent 42%);background:var(--surface);border-radius:5px;width:17px;height:4px;position:absolute;left:50%;transform:translate(-50%)}.week-resize-handle.resize-start:after{bottom:5px}.week-resize-handle.resize-end:after{top:5px}.week-event:hover .week-resize-handle,.week-event.resizing .week-resize-handle,.week-resize-handle:focus-visible{opacity:.78}.week-event.resizing{z-index:14;cursor:ns-resize}.week-event.dragging{z-index:13;box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 72%);cursor:grabbing;border-style:dashed}.resize-time-preview{z-index:13;color:#fff;white-space:nowrap;pointer-events:none;background:#31364f;border-radius:5px;padding:3px 6px;font-size:8px;font-weight:800;position:absolute;bottom:6px;right:5px;box-shadow:0 2px 7px #10142633}.event-more-button{z-index:10;width:22px;height:22px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:2px;right:2px}.event-more-button:hover,.event-more-button:focus-visible{color:var(--text);background:color-mix(in srgb, var(--surface), transparent 18%)}.event-action-popover{z-index:90;border:1px solid var(--line);background:var(--surface);border-radius:10px;width:145px;padding:4px;position:fixed;overflow:hidden;box-shadow:0 14px 35px #14182d2e}.event-action-popover button{width:100%;min-height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 9px;font-size:11px;display:flex}.event-action-popover button:hover{background:var(--surface-soft)}.event-action-popover button.danger{color:var(--danger)}.routine-days{border:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:0;padding:0;display:grid}.routine-task-links{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:8px;min-width:0;margin:0;padding:11px;display:grid}.routine-task-links legend{color:var(--text);padding-inline:5px;font-size:11px;font-weight:800}.routine-task-links>small{color:var(--muted);font-size:10px;line-height:1.35}.routine-task-links label{min-width:0;color:var(--muted);font-size:10px}.routine-task-links select{width:100%;min-width:0;height:40px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:9px;margin-top:5px;padding-inline:10px}.routine-days legend{color:var(--text);margin-bottom:9px;font-size:11px;font-weight:750}.routine-days button{min-height:38px;color:var(--muted);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:0 4px;font-size:10px;font-weight:750}.routine-days button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.routine-break-toggle{align-items:center;flex-direction:row!important;grid-template-columns:none!important;gap:9px!important;display:flex!important}.routine-break-toggle input{width:18px;height:18px;margin:0}.routine-manager{border-top:1px solid var(--line);gap:8px;margin-top:24px;padding-top:20px;display:grid}.routine-manager h3{margin:0 0 4px;font-size:14px}.routine-manager>div{border:1px solid var(--line);border-radius:12px;grid-template-columns:8px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:10px;display:grid}.routine-manager i{border-radius:6px;width:8px;height:34px}.routine-manager span{min-width:0}.routine-manager strong,.routine-manager small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.routine-manager strong{font-size:11px}.routine-manager small{color:var(--muted);margin-top:3px;font-size:9px}.routine-occurrence-actions{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;flex-wrap:wrap;align-items:center;gap:7px;padding:9px;display:flex}.routine-occurrence-actions span{color:var(--muted);margin-right:3px;font-size:10px}.routine-occurrence-actions button{min-height:29px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary), transparent 70%);background:var(--surface);cursor:pointer;border-radius:8px;padding:0 9px;font-size:10px;font-weight:750}.friend-invite-field{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-soft), var(--surface) 34%);border-radius:14px;gap:10px;width:100%;min-width:0;padding:14px;display:grid;position:relative;overflow:visible}.friend-invite-field>div:first-child strong,.friend-invite-field>div:first-child small{display:block}.friend-invite-field>div:first-child strong{font-size:12px;line-height:1.3}.friend-invite-field>div:first-child small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.45}.participant-picker-header{justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:2px;display:flex}.participant-picker-title{align-items:flex-start;gap:9px;min-width:0;display:flex}.participant-picker-title>div{min-width:0}.participant-picker-icon,.participant-external-icon{width:30px;height:30px;color:var(--primary);background:var(--primary-soft);border-radius:10px;flex:none;place-items:center;display:grid}.participant-picker-title strong,.participant-external-heading strong{color:var(--text);font-size:12px;line-height:1.3;display:block}.participant-picker-title small,.participant-external-heading small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4;display:block}.participant-picker-count{color:var(--primary);background:var(--primary-soft);white-space:nowrap;border-radius:999px;flex:none;padding:5px 8px;font-size:9px;font-weight:800}.participant-search-label{color:var(--text);align-items:center;gap:6px;margin-top:2px;font-size:10px;display:flex}.participant-search-label svg{color:var(--primary)}.participant-picker-hint{margin-top:-7px;padding-left:20px}.participant-picker-hint small{color:var(--muted);font-size:9px}.participant-search-box{position:relative}.participant-search-box>svg{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.participant-search-box input{padding-left:35px}.participant-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.participant-chip-status{background:var(--surface-soft);border-radius:5px;padding:2px 5px}.participant-external-heading{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:3px;padding-top:10px;display:flex}.participant-external-icon{width:27px;height:27px;color:var(--muted);background:var(--surface-soft);border-radius:8px}.participant-external-heading>div{min-width:0}.friend-search{width:100%;min-width:0;position:relative}.friend-search input{width:100%;min-width:0;height:42px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:10px;outline:0;margin:0;padding:0 12px;font-size:11px;font-weight:500;transition:border-color .16s,box-shadow .16s;display:block}.friend-search input::placeholder{color:var(--muted);opacity:.8}.friend-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 88%)}.friend-results{z-index:30;border:1px solid var(--line);background:var(--surface);width:100%;max-height:220px;box-shadow:var(--shadow);border-radius:11px;padding:5px;position:absolute;inset:calc(100% + 5px) 0 auto;overflow-y:auto}.friend-results button{width:100%;min-height:43px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:5px 7px;display:grid}.friend-results button:hover{background:var(--surface-soft)}.friend-results button strong{font-size:10px}.friend-results button small{color:var(--primary);font-size:9px}.friend-results p{color:var(--muted);margin:8px;font-size:10px}.selected-friends{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.selected-friends>button,.selected-friends>span{max-width:100%;min-height:34px;color:var(--text);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:18px;align-items:center;gap:6px;padding:3px 8px 3px 4px;font-size:10px;font-weight:700;display:inline-flex}.selected-friends>button{cursor:pointer}.selected-friends>button>:not(.friend-avatar){flex:none}.selected-friends>button small{color:var(--muted);font-size:8px;font-weight:700}.friend-avatar,.notification-avatar{color:#fff;background:var(--primary);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:10px;font-style:normal;font-weight:800;display:grid;overflow:hidden}.friend-avatar img,.notification-avatar img{object-fit:cover;width:100%;height:100%}.participant-response-list{gap:5px;display:grid}.participant-response-list>div{background:var(--surface);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:39px;padding:4px 6px;display:grid}.participant-response-list strong{font-size:10px}.participant-status{background:var(--surface-soft);width:fit-content;color:var(--muted);border-radius:8px;padding:4px 7px;font-size:8px;font-weight:800}.status-accepted{color:var(--green);background:color-mix(in srgb, var(--green), transparent 90%)}.status-pending{color:#b86a12;background:#fff5e8}.status-declined{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 91%)}.status-organizer{color:var(--primary);background:var(--primary-soft)}.shared-event-detail{gap:16px;display:grid}.shared-event-organizer{background:var(--primary-soft);border-radius:12px;align-items:center;gap:10px;padding:11px;display:flex}.shared-event-organizer small,.shared-event-organizer strong{display:block}.shared-event-organizer small{color:var(--muted);font-size:9px}.shared-event-organizer strong{margin-top:2px;font-size:12px}.shared-event-detail>p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.shared-event-time{border:1px solid var(--line);border-radius:12px;justify-content:space-between;gap:10px;padding:13px;display:flex}.shared-event-time strong{text-transform:capitalize}.shared-event-time span{color:var(--primary);font-weight:800}.shared-event-detail h3{margin:0 0 8px;font-size:12px}.app-shell>.notification-center{z-index:65;position:fixed;top:25px;left:184px}.notification-trigger{width:38px;height:38px;color:var(--muted);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 3px 12px #181d3514}.notification-trigger:hover{color:var(--primary)}.notification-trigger b{color:#fff;border:2px solid var(--surface);background:var(--danger);border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:8px;display:grid;position:absolute;top:-6px;right:-6px}.notification-scrim{z-index:71;cursor:default;background:#1417272e;border:0;padding:0;position:fixed;inset:0}.notification-panel{z-index:72;border:1px solid var(--line);background:var(--surface);border-radius:20px;grid-template-rows:auto minmax(0,1fr);width:min(410px,100vw - 32px);max-height:calc(100vh - 32px);display:grid;position:fixed;top:16px;right:16px;overflow:hidden;box-shadow:0 24px 70px #14182d42,0 3px 12px #14182d14}.notification-panel>header{border-bottom:1px solid var(--line);background:linear-gradient(135deg, var(--surface), var(--surface-soft));justify-content:space-between;align-items:flex-start;padding:18px 19px 16px;display:flex}.notification-panel h2{letter-spacing:-.02em;margin:3px 0 0;font-size:20px}.notification-list{background:var(--bg);padding:11px;overflow-y:auto}.notification-list>article{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:9px;margin-bottom:9px;padding:13px 14px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative;box-shadow:0 2px 7px #181d350a}.notification-list>article:last-child{margin-bottom:0}.notification-list>article.unread:before{content:"";background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 4px var(--primary-soft);border-radius:50%;position:absolute;top:14px;right:14px}.notification-list>article.unread{border-color:color-mix(in srgb, var(--primary), var(--line) 70%);background:color-mix(in srgb, var(--primary-soft), var(--surface) 72%);box-shadow:0 5px 15px #5b64dd17}.notification-title-row{align-items:center;gap:9px;display:flex}.notification-title-row>div{min-width:0}.notification-title-row strong,.notification-title-row small{display:block}.notification-title-row strong{padding-right:12px;font-size:11px}.notification-title-row small{color:var(--muted);margin-top:3px;font-size:8px}.notification-generic{width:28px;height:28px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.notification-list>article>p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.invitation-event-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:5px;padding:10px;display:grid}.invitation-event-card>strong{font-size:11px}.invitation-event-card>span{color:var(--primary);font-size:9px;font-weight:750}.invitation-event-card>p{color:var(--muted);margin:2px 0;font-size:9px}.notification-participants{margin-top:3px;display:flex}.notification-participants .notification-avatar{border:2px solid var(--surface);width:24px;height:24px;margin-right:-5px;font-size:8px}.notification-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.notification-actions button{min-height:34px;color:var(--text);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:750;transition:filter .16s,transform .16s;display:flex}.notification-actions button:not(:disabled):hover{filter:brightness(.98);transform:translateY(-1px)}.notification-actions button.accept{color:#fff;border-color:var(--primary);background:var(--primary)}.notification-empty{min-height:250px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.notification-empty strong{color:var(--text)}.notification-empty p{margin:0;font-size:10px}.week-drag-preview{z-index:14;border:2px dashed var(--primary);background:color-mix(in srgb, var(--primary-soft), transparent 15%);pointer-events:none;border-radius:8px;padding:5px 7px;position:absolute;right:auto;overflow:hidden;box-shadow:0 8px 18px #191d3724}.week-drag-preview span{color:var(--text);white-space:nowrap;font-size:9px;font-weight:800;display:inline-block}.week-now-line{z-index:8;pointer-events:none;background:#ec4b60;height:2px;position:absolute;left:0;right:0}.week-now-line>span{border:2px solid var(--surface);background:#ec4b60;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.week-now-line time{color:#fff;background:#ec4b60;border-radius:5px;padding:2px 4px;font-size:7px;font-weight:800;position:absolute;top:-8px;left:8px}.calendar-transfer-card{gap:18px;display:grid}.calendar-transfer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.transfer-panel,.transfer-preview,.transfer-history{border:1px solid var(--line);background:color-mix(in srgb, var(--surface), var(--background) 18%);border-radius:14px;min-width:0;padding:16px}.transfer-panel{align-content:start;gap:13px;display:grid}.transfer-panel h3,.transfer-history h3,.transfer-preview h3{color:var(--text);align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.transfer-format-tabs{background:var(--background);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.transfer-format-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px;font-weight:800}.transfer-format-tabs button.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 7px #191d3714}.transfer-date-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.transfer-date-row label,.transfer-confirm-options>label,.transfer-mapping label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.transfer-date-row input,.transfer-confirm-options select,.transfer-mapping select,.transfer-table select{width:100%;min-width:0;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 9px}.transfer-categories{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:11px;display:grid}.transfer-categories legend{color:var(--muted);padding:0 5px;font-size:10px;font-weight:800}.transfer-categories label,.transfer-options label,.valid-only-choice{color:var(--text);align-items:flex-start;gap:7px;font-size:11px;display:flex}.transfer-options{gap:8px;display:grid}.transfer-primary{justify-content:center;align-items:center;gap:7px;min-height:40px;display:inline-flex}.transfer-privacy,.transfer-table-note{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.transfer-dropzone{min-height:130px;color:var(--muted);border:1.5px dashed color-mix(in srgb, var(--primary), var(--line) 55%);background:color-mix(in srgb, var(--primary-soft), transparent 55%);text-align:center;border-radius:12px;place-items:center;gap:5px;padding:18px;display:grid}.transfer-dropzone strong{color:var(--text);font-size:12px}.transfer-dropzone span{font-size:10px}.transfer-resource-buttons{flex-wrap:wrap;gap:7px;display:flex}.transfer-resource-buttons button,.transfer-ai-help button,.transfer-history button,.transfer-preview-heading>button,.transfer-mapping>button{color:var(--primary);border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:10px;font-weight:800;display:inline-flex}.transfer-ai-help{background:var(--primary-soft);border-radius:10px;padding:11px}.transfer-ai-help p{color:var(--text);margin:0 0 9px;font-size:10px;line-height:1.5}.transfer-feedback{border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}.transfer-feedback.success{color:#08745c;background:#22c58b21}.transfer-feedback.error{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 90%)}.transfer-feedback button{color:inherit;background:0 0;border:0;margin-left:auto;font-weight:900;text-decoration:underline}.transfer-preview{gap:14px;display:grid}.transfer-preview-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.transfer-preview-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.transfer-mapping{background:var(--background);border-radius:10px;gap:10px;padding:12px;display:grid}.transfer-mapping h4{margin:0;font-size:12px}.transfer-mapping>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.transfer-table-wrap{border:1px solid var(--line);border-radius:10px;max-height:420px;overflow:auto}.transfer-table{border-collapse:collapse;width:100%;min-width:820px;font-size:10px}.transfer-table th{z-index:1;color:var(--muted);background:var(--background);text-align:left;padding:9px;position:sticky;top:0}.transfer-table td{color:var(--text);border-top:1px solid var(--line);vertical-align:top;padding:8px 9px}.transfer-table tr.invalid td{background:color-mix(in srgb, var(--danger), transparent 95%)}.row-error{color:var(--danger)}.row-warning{color:#b76600}.row-valid{color:#08745c;font-weight:800}.transfer-confirm-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.transfer-confirm-options .valid-only-choice{background:#f59e0b1a;border-radius:9px;grid-column:1/-1;padding:10px}.transfer-history{gap:8px;display:grid}.transfer-history>div{border-top:1px solid var(--line);align-items:center;gap:10px;padding-top:8px;display:flex}.transfer-history>div>span{flex:1;gap:2px;display:grid}.transfer-history strong{font-size:11px}.transfer-history small,.transfer-history em{color:var(--muted);font-size:9px}@media (max-width:900px){.calendar-transfer-grid{grid-template-columns:1fr}.transfer-mapping>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.transfer-date-row,.transfer-confirm-options,.transfer-mapping>div,.transfer-categories{grid-template-columns:1fr}.transfer-feedback{flex-wrap:wrap;align-items:flex-start}.transfer-feedback button{text-align:left;width:100%;margin-left:25px}}.danger-button{color:var(--danger);border-color:color-mix(in srgb, var(--danger), transparent 70%);background:color-mix(in srgb, var(--danger), transparent 94%);margin-right:auto}.calendar-inline-error{margin:-7px 0 12px}.calendar-copy-notice{z-index:95;color:#fff;background:#31364f;border-radius:10px;padding:10px 13px;font-size:11px;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 30px #14182d33}.guest-invite-share-notice{border:1px solid color-mix(in srgb, var(--primary) 34%, var(--line));background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--text);border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:10px 42px 10px 12px;display:flex;position:relative}.guest-invite-share-notice>div{flex-wrap:wrap;flex:1;gap:7px;display:flex}.guest-invite-share-notice span{gap:5px;display:inline-flex}.guest-invite-share-notice button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--text);cursor:pointer;border-radius:9px;padding:5px 9px}.guest-invite-share-notice>button:last-child{width:28px;min-height:28px;padding:0;position:absolute;top:8px;right:8px}.recurrence-editor{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);border-radius:14px;gap:12px;padding:14px;display:grid}.recurrence-editor-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.recurrence-editor fieldset{border:0;padding:0}.recurrence-editor legend{color:var(--muted);margin-bottom:7px;font-size:.82rem;font-weight:700}.recurrence-weekdays{flex-wrap:wrap;gap:6px;display:flex}.recurrence-weekdays button{border:1px solid var(--line);background:var(--surface);min-width:42px;min-height:36px;color:var(--text);cursor:pointer;border-radius:10px}.recurrence-weekdays button.active{border-color:var(--primary);background:var(--primary);color:#fff}.recurrence-summary{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--text);border-radius:10px;margin:0;padding:10px 12px;font-weight:750}@media (max-width:720px){.guest-invite-share-notice{flex-direction:column;align-items:flex-start}.guest-invite-share-notice span{flex-wrap:wrap}.recurrence-editor-row{grid-template-columns:1fr}}.week-time-canvas.variant-day{width:100%;min-width:0}.variant-day .week-days-header{min-height:62px}.variant-day .week-days-header,.variant-day .week-body{grid-template-columns:64px minmax(0,1fr)}.day-calendar-shell{width:min(960px,100%);margin-inline:auto}.variant-day .week-event{padding:9px 12px 11px 14px}.variant-day .week-event strong{font-size:12px}.variant-day .week-event time{font-size:9px}.variant-day .week-event small{font-size:8px}.day-event-details{z-index:2;margin-top:5px;font-size:9px;position:relative}.day-event-details p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 5px;overflow:hidden}.day-event-details>div{align-items:center;gap:8px;display:flex}.day-event-details span{color:var(--muted);font-weight:700}.day-event-details button{color:var(--primary);background:color-mix(in srgb, var(--primary-soft), transparent 20%);cursor:pointer;border:0;border-radius:5px;padding:2px 6px;font-size:8px;font-weight:800}.sleep-event{border-style:dashed}.sleep-estimated,.sleep-confirmed,.sleep-corrected{border-style:solid}.sleep-disclaimer{color:var(--muted);background:var(--surface-soft);border-radius:10px;align-items:flex-start;gap:9px;margin:0;padding:12px;font-size:10px;line-height:1.5;display:flex}.sleep-disclaimer svg{color:var(--primary);flex:none}.sleep-time-select{letter-spacing:.04em;min-height:44px}.form-hint{color:var(--muted);margin:-4px 0 0;font-size:12px;line-height:1.45}.month-event-filters{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);border-radius:13px;align-items:center;gap:8px;margin:0 0 8px;padding:7px 10px 9px;display:flex}:is(.week-drag-preview:has(span:first-child),.week-task-drop-preview){transition:left 80ms,width 80ms,background-color 80ms}.month-event-filters legend{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:0 5px;font-size:9px;font-weight:800}.month-event-filters>div{flex-wrap:wrap;flex:auto;gap:5px;min-width:0;display:flex}.month-event-filters label{border:1px solid var(--line);background:var(--surface-soft);min-height:27px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.1;display:inline-flex}.month-event-filters label:has(input:checked){border-color:color-mix(in srgb, var(--primary), var(--line) 45%);background:var(--primary-soft);color:var(--primary)}.month-event-filters input{width:13px;height:13px;accent-color:var(--primary);margin:0}.month-event-filters .month-filter-all{border-color:color-mix(in srgb, var(--primary), var(--line) 55%);flex:none}.month-event-filters>small{color:var(--muted);white-space:nowrap;flex:none;font-size:9px}.week-period-chips{gap:3px;width:calc(100% - 8px);display:flex;overflow:hidden}.week-period-chip{min-width:0;height:21px;color:var(--text);background:color-mix(in srgb, var(--surface), transparent 10%);cursor:pointer;border:1px solid;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:1px 4px;display:flex}.week-period-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:8px;font-weight:750;overflow:hidden}.month-calendar,.annual-calendar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.annual-calendar-grid{background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.annual-month{background:var(--surface);min-width:0;padding:12px}.annual-month-title{width:100%;color:var(--text);text-align:left;text-transform:capitalize;cursor:pointer;background:0 0;border:0;margin:0 0 8px;padding:0;font-size:14px;font-weight:800}.annual-month-title:hover{color:var(--primary)}.annual-weekdays,.annual-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.annual-weekdays{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:800}.annual-day{min-width:0;min-height:32px;color:var(--text);font:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 2px;font-size:10px;position:relative}.annual-day:hover{border-color:var(--line-strong,var(--line));background:var(--surface-soft)}.annual-day.empty{pointer-events:none}.annual-day.today{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 55%);background:color-mix(in srgb, var(--primary-soft), transparent 35%);font-weight:800}.annual-day-number{line-height:1.2;display:block}.annual-day-events{justify-content:center;align-items:center;gap:2px;height:8px;margin-top:2px;display:flex}.annual-event-dot{cursor:pointer;border-radius:50%;flex:none;width:5px;height:5px}.annual-day-events small{color:var(--muted);font-size:7px;line-height:1}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{height:38px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-soft);text-transform:uppercase;font-size:9px;font-weight:800}.month-weekdays>div{border-right:1px solid var(--line);place-items:center;display:grid}.month-weekdays>div:last-child{border-right:0}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:0;min-height:136px;padding:7px;position:relative}.month-period-backgrounds{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.month-period-backgrounds>i{border-radius:4px;position:absolute}.month-day>:not(.month-period-backgrounds){z-index:1;position:relative}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.month-day:hover{background:color-mix(in srgb, var(--primary-soft), var(--surface) 78%)}.month-day.outside{background:var(--surface-soft)}.month-day.outside>:not(.month-day-head){opacity:.55}.month-day.outside .month-day-number{color:var(--muted)}.month-day-head{justify-content:space-between;align-items:center;height:27px;display:flex}.month-period-labels{gap:3px;margin:1px 0 3px;display:flex;overflow:hidden}.month-period-labels button{min-width:0;height:19px;color:var(--text);background:color-mix(in srgb, var(--surface), transparent 12%);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:1px solid;border-radius:5px;padding:1px 5px;font-size:8px;font-weight:750;overflow:hidden}.month-day-number,.month-add{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.month-day-number{width:26px;height:26px;color:var(--text);border-radius:9px;font-size:11px;font-weight:800}.month-day.today .month-day-number{color:#fff;background:var(--primary);box-shadow:0 4px 10px #5b64dd40}.month-calorie-compact{min-width:0;max-width:100%;color:var(--text);background:var(--surface-soft);white-space:nowrap;cursor:pointer;border:0;border-radius:6px;align-items:center;gap:4px;margin:2px 0 4px;padding:4px 6px;font-size:8px;font-weight:750;display:flex}.month-calorie-compact:hover{color:var(--primary);background:var(--primary-soft)}.month-calorie-compact span{text-overflow:ellipsis;overflow:hidden}.month-calorie-compact i{color:var(--muted);font-style:normal}.month-add{width:25px;height:25px;color:var(--muted);opacity:0;border-radius:8px}.month-day:hover .month-add,.month-add:focus-visible{opacity:1}.month-add:hover{color:var(--primary);background:var(--primary-soft)}.month-events{gap:4px;margin-top:4px;display:grid}.month-routine-summary{min-width:0;height:24px;color:var(--muted);border:1px dashed var(--line);background:var(--surface-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;padding:0 6px;font-size:8px;font-weight:800;display:flex;overflow:hidden}.month-routine-summary.expanded{height:auto;min-height:38px;padding:8px 10px;font-size:11px}.month-event{min-width:0;height:24px;color:var(--text);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:grab;border-radius:6px;grid-template-columns:4px auto minmax(0,1fr);align-items:center;gap:5px;padding:0 5px;display:grid;position:relative}.month-event:hover{border-color:color-mix(in srgb, var(--primary), var(--line) 55%);box-shadow:0 2px 7px #191d3714}.month-event.done{padding-right:18px}.month-event.done:after{content:"✓";color:var(--green);font-size:9px;font-weight:900;position:absolute;right:4px}.month-event.cancelled{text-decoration:line-through}.month-event.in-progress{border-width:2px}.month-event i{border-radius:4px;width:4px;height:13px}.month-event time{color:var(--muted);font-size:7px;font-weight:750}.month-event strong{white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.month-event small{color:var(--muted);font-size:8px}.month-more{color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:5px;margin-top:4px;padding:2px 5px;font-size:8px;font-weight:800}.month-more:hover{background:var(--primary-soft)}.month-day-list{gap:8px;margin-bottom:20px;display:grid}.month-event.expanded{grid-template-columns:5px auto minmax(0,1fr);height:auto;min-height:48px;padding:8px 10px}.month-event.expanded i{grid-row:1/3;height:28px}.month-event.expanded strong{font-size:11px}.month-event.expanded small{grid-column:2/4}.calorie-detail-modal{width:min(680px,100%)}.calorie-detail-content{gap:20px;display:grid}.calorie-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calorie-detail-grid>span,.macro-detail>span{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;gap:5px;padding:13px;display:grid}.calorie-detail-grid small,.macro-detail small{color:var(--muted);font-size:11px}.calorie-detail-grid strong{font-size:17px}.calorie-detail-content h3{margin:0 0 9px;font-size:14px}.calorie-detail-list{border:1px solid var(--line);border-radius:11px;overflow:hidden}.calorie-detail-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:9px 12px;font-size:12px;display:flex}.calorie-detail-list>div:last-child{border-bottom:0}.calorie-detail-list span{gap:3px;display:grid}.calorie-detail-list small{color:var(--muted);font-size:9px}.calorie-detail-empty{color:var(--muted);background:var(--surface-soft);border-radius:10px;margin:0;padding:13px;font-size:11px}.macro-detail{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.macro-detail strong{font-size:16px}.calorie-detail-balance{background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:15px;font-size:13px;display:flex}.calorie-detail-balance strong{font-size:19px}.calorie-detail-balance.tone-good strong{color:#16875f}.calorie-detail-balance.tone-warning strong{color:#db7a16}.calorie-detail-balance.tone-high strong{color:#c85059}.calorie-detail-note{color:var(--muted);margin:-8px 0 0;font-size:9px}.onboarding-page{background:radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--primary-soft), transparent 5%), transparent 30%), var(--bg);min-height:100vh;padding:24px clamp(20px,5vw,72px) 50px}.onboarding-header{justify-content:space-between;align-items:center;display:flex}.onboarding-layout{grid-template-columns:minmax(300px,.8fr) minmax(520px,1.25fr);align-items:start;gap:clamp(30px,6vw,85px);width:min(1120px,100%);margin:58px auto 0;display:grid}.onboarding-intro{padding-top:25px;position:sticky;top:55px}.onboarding-intro h1{letter-spacing:-2.3px;margin:20px 0 12px;font-size:clamp(37px,5vw,57px);line-height:1}.onboarding-intro>p{max-width:470px;color:var(--muted);line-height:1.65}.onboarding-intro ul{color:var(--text);gap:11px;margin:25px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.onboarding-intro li:before{content:"✓";color:var(--green);margin-right:9px;font-weight:900}.onboarding-form-card{overflow:hidden}.health-form-wrap{padding:24px}.health-form-wrap.compact{padding:4px 0 18px}.health-privacy-note{color:var(--primary);background:var(--primary-soft);border-radius:12px;gap:11px;padding:14px;display:flex}.health-privacy-note svg{flex:none}.health-privacy-note strong{font-size:11px;display:block}.health-privacy-note p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.5}.health-privacy-note a,.auth-legal a{color:var(--primary);text-underline-offset:2px;font-weight:800;text-decoration:underline}.health-form{gap:17px;margin-top:19px;display:grid}.health-form-section{border-bottom:1px solid var(--line);gap:13px;padding-bottom:17px;display:grid}.health-section-title{color:var(--primary);align-items:center;gap:10px;display:flex}.health-section-title strong,.health-section-title small{display:block}.health-section-title strong{color:var(--text);font-size:13px}.health-section-title small{color:var(--muted);margin-top:3px;font-size:9px}.field-unit{color:var(--muted);font-size:9px;font-weight:500}.field-explanation{color:var(--muted);margin:-3px 0 0;font-size:9px}.calorie-preview{background:var(--primary-soft);border-radius:13px;grid-template-columns:auto 1fr 1fr;align-items:center;gap:10px 14px;padding:16px;display:grid}.calorie-preview small,.calorie-preview strong{display:block}.calorie-preview small{color:var(--muted);font-size:8px}.calorie-preview strong{margin-top:3px;font-size:13px}.calorie-preview em{color:var(--muted);margin-top:3px;font-size:8px;font-style:normal;display:block}.calorie-preview p{color:var(--muted);grid-column:2/-1;margin:-3px 0 0;font-size:8px}.form-success{color:var(--green);background:color-mix(in srgb, var(--green), transparent 91%);border-radius:9px;align-items:center;gap:7px;margin:0;padding:11px;font-size:10px;display:flex}.calorie-suggestion{border:1px solid color-mix(in srgb, var(--primary), transparent 75%);background:color-mix(in srgb, var(--primary-soft), transparent 25%);border-radius:12px;padding:15px}.calorie-suggestion strong{font-size:12px}.calorie-suggestion p{color:var(--muted);font-size:10px;line-height:1.5}.calorie-suggestion>div{flex-wrap:wrap;gap:8px;display:flex}.last-calculation{color:var(--muted);text-align:right;margin:12px 0 0;font-size:8px}.health-settings-card{padding:0 20px}.settings-section-heading{align-items:center;gap:10px;padding:18px 0 5px;font-size:15px;display:flex}.settings-section-heading svg{color:var(--primary)}.settings-section-heading h2{margin:0}.settings-section-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.auth-legal{color:var(--muted);text-align:center;font-size:8px;line-height:1.5;display:block}.privacy-page{background:radial-gradient(circle at 85% 5%, var(--primary-soft), transparent 30%), var(--bg);min-height:100vh;padding:24px clamp(18px,5vw,70px) 55px}.privacy-header{justify-content:space-between;align-items:center;display:flex}.privacy-document{width:min(780px,100%);margin:45px auto 0;padding:clamp(25px,5vw,52px)}.privacy-document h1{letter-spacing:-1.8px;max-width:650px;margin:20px 0 12px;font-size:clamp(32px,5vw,49px);line-height:1.05}.privacy-lead{color:var(--muted);margin-bottom:34px;font-size:14px;line-height:1.65}.privacy-document section{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:14px;padding:20px 0;display:grid}.privacy-document section>svg{color:var(--primary)}.privacy-document section h2{margin:0 0 7px;font-size:15px}.privacy-document section p,.privacy-contact{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.privacy-contact{background:var(--surface-soft);border-radius:11px;margin-top:22px;padding:14px}.report-hero{grid-template-columns:2fr 1fr;gap:15px;margin-bottom:15px;display:grid}.global-score{grid-template-columns:auto 1fr;align-items:center;gap:25px;padding:25px;display:grid}.score-ring{background:conic-gradient(var(--primary) var(--score), var(--line) 0);border-radius:50%;place-items:center;width:130px;height:130px;display:grid}.score-ring:before{content:"";background:var(--surface);border-radius:50%;grid-area:1/1;width:106px;height:106px}.score-ring>div{z-index:1;grid-area:1/1}.score-ring strong{font-size:35px}.score-ring small{color:var(--muted)}.global-score h2{margin:13px 0 6px;font-size:21px}.global-score p,.report-note p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.report-note{color:#725810;background:linear-gradient(145deg,#fffaf0,#fff4d9);border-color:#f2dfad;flex-direction:column;justify-content:center;padding:24px;display:flex}.report-note h3{margin:15px 0 6px;font-size:21px}:root[data-theme=dark] .report-note{color:#f2d98f;background:#29251b;border-color:#4c422e}.stat-cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:31px;display:grid}.stat-card{padding:18px}.stat-card>strong{margin:14px 0 3px;font-size:23px;display:block}.stat-card strong small{color:var(--muted);font-size:12px}.stat-card p{color:var(--muted);margin:0;font-size:10px}.domain-scores{grid-template-columns:repeat(2,1fr);column-gap:35px;padding:8px 22px;display:grid}.domain-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr 45px;align-items:center;gap:12px;padding:15px 0;display:grid}.domain-row:nth-last-child(-n+2){border:0}.domain-icon{border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.domain-row>div strong{margin-bottom:8px;font-size:11px;display:block}.domain-row>b{color:var(--muted);text-align:right;font-size:10px}.gentle-banner{color:var(--primary);background:var(--primary-soft);border-radius:14px;align-items:center;gap:15px;margin-top:17px;padding:17px 20px;display:flex}.gentle-banner strong{font-size:12px}.gentle-banner p{color:var(--muted);margin:4px 0 0;font-size:10px}.profile-grid{grid-template-columns:minmax(220px,.7fr) minmax(460px,1.7fr);align-items:start;gap:20px;display:grid}.profile-card{text-align:center;justify-items:center;padding:30px;display:grid}.profile-avatar{color:#fff;background:linear-gradient(145deg,#fa9e6d,#d56b60);border-radius:26px;place-items:center;width:84px;height:84px;font-size:31px;font-weight:800;display:grid}.profile-card h2{margin:17px 0 4px}.profile-card>p{color:var(--muted);font-size:12px}.profile-card>small{color:var(--muted);font-size:9px}.profile-level{width:100%;color:var(--primary);background:var(--primary-soft);border-radius:11px;justify-content:space-between;margin:16px 0;padding:12px;font-size:11px;font-weight:750;display:flex}.profile-page-redesign{max-width:1280px}.profile-hero-compact{background:linear-gradient(120deg, color-mix(in srgb, var(--primary) 9%, transparent), transparent 58%), var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 22px;display:grid}.profile-hero-avatar{border:3px solid color-mix(in srgb, var(--primary) 22%, var(--surface));background:var(--primary);color:#fff;border-radius:22px;place-items:center;width:72px;height:72px;font-size:24px;font-weight:900;display:grid;overflow:hidden;box-shadow:0 10px 26px #1e293b24}.profile-hero-avatar img{object-fit:cover;width:100%;height:100%}.profile-hero-copy h1{margin:2px 0 3px;font-size:clamp(24px,3vw,34px)}.profile-hero-copy>p{color:var(--muted);margin:0}.profile-hero-meta{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.profile-hero-meta span{background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--text);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.profile-save-notice{z-index:30;border:1px solid color-mix(in srgb, #16a34a 28%, var(--border));background:color-mix(in srgb, #16a34a 9%, var(--surface));color:#15803d;border-radius:12px;align-items:center;gap:7px;width:fit-content;margin:10px 0 -2px auto;padding:9px 13px;font-weight:800;display:flex;position:sticky;top:12px;box-shadow:0 10px 25px #0f172a1a}.profile-edit-card{margin-top:12px;padding:18px}.profile-edit-backdrop{z-index:110}.profile-edit-dialog{margin:0;padding:22px}.profile-edit-dialog-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:4px;display:flex}.profile-edit-dialog-head .profile-section-heading{min-width:0;margin-bottom:0}.profile-edit-dialog-head .icon-button{flex:none}.profile-edit-dialog .profile-inline-form{margin-top:14px}.profile-edit-dialog .form-actions{padding-top:10px}.profile-inline-form{grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;display:grid}.profile-inline-form label,.profile-password-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:750;display:grid}.profile-inline-form input,.profile-password-form input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:10px 11px}.profile-sections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.profile-section-card{min-width:0;padding:18px}.profile-section-wide{grid-column:1/-1}.profile-section-heading{align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.profile-section-heading>span{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.profile-section-heading h2{margin:0;font-size:17px}.profile-section-heading p{color:var(--muted);margin:3px 0 0;font-size:12px}.profile-tool-disclosure{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;margin-top:14px;overflow:hidden}.profile-tool-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:10px 14px;list-style:none;display:flex}.profile-tool-disclosure>summary::-webkit-details-marker{display:none}.profile-tool-disclosure>summary>span{align-items:center;gap:11px;min-width:0;display:flex}.profile-tool-disclosure>summary>span>svg{color:var(--primary);flex:none}.profile-tool-disclosure>summary strong,.profile-tool-disclosure>summary small{display:block}.profile-tool-disclosure>summary strong{font-size:12px}.profile-tool-disclosure>summary small{color:var(--muted);margin-top:3px;font-size:10px}.profile-tool-disclosure>summary>svg{color:var(--muted);flex:none;transition:transform .16s}.profile-tool-disclosure[open]>summary>svg{transform:rotate(90deg)}.profile-tool-disclosure>:not(summary){margin:0 12px 12px}.profile-transfer-disclosure .calendar-transfer-card{box-shadow:none;border:0}.profile-friend-code{color:var(--muted);border:1px solid var(--line);cursor:pointer;font:inherit;background:0 0;border-radius:20px;align-items:center;gap:5px;padding:4px 8px;display:inline-flex}.profile-friend-code:hover{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 55%)}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px;display:grid}.profile-facts-four{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-fact{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, var(--primary-soft));border-radius:11px;min-width:0;padding:10px 11px}.profile-fact span,.profile-fact strong{display:block}.profile-fact span{color:var(--muted);text-transform:uppercase;letter-spacing:.035em;margin-bottom:3px;font-size:10px;font-weight:750}.profile-fact strong{color:var(--text);text-overflow:ellipsis;font-size:13px;overflow:hidden}.profile-settings-list{border:1px solid var(--border);border-radius:13px;overflow:hidden}.profile-settings-list .setting-row{border-bottom:1px solid var(--border)}.profile-settings-list .setting-row:last-child{border-bottom:0}.text-button{color:var(--primary);cursor:pointer;background:0 0;border:0;font-weight:800}.profile-password-form{background:var(--bg);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:9px;margin-top:12px;padding:12px;display:grid}.profile-password-form .form-error{grid-column:1/-1}.profile-data-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.profile-data-actions .setting-row{border:1px solid var(--border);border-radius:12px}.goal-groups-panel,.measurable-goals-embedded{margin-top:16px}.goal-groups-panel>.page-header{margin-bottom:12px}.measurable-period-switch{width:fit-content;margin:0 0 12px auto}@media (max-width:700px){.profile-hero-compact{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px}.profile-hero-avatar{border-radius:17px;width:58px;height:58px;font-size:20px}.profile-hero-copy h1{font-size:22px}.profile-hero-compact>.button{grid-column:1/-1;justify-content:center;width:100%}.profile-sections-grid,.profile-inline-form,.profile-facts,.profile-facts-four{grid-template-columns:1fr}.profile-section-wide{grid-column:auto}.profile-section-card,.profile-edit-card{padding:15px}.profile-edit-dialog{padding:17px}.profile-data-actions{grid-template-columns:1fr}.profile-save-notice{justify-content:center;width:100%}}.settings-column{gap:15px;display:grid}.settings-card{padding:7px 20px}.settings-card h2{padding:11px 0 4px;font-size:15px}.setting-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;min-height:68px;display:grid}.setting-row>svg{color:var(--muted)}.setting-row strong{font-size:12px;display:block}.setting-row p{color:var(--muted);margin:4px 0 0;font-size:10px}.setting-row select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:7px}.setting-row.action{cursor:pointer}.setting-row.action:hover strong{color:var(--primary)}.status-on{color:var(--green);font-size:10px;font-weight:800}.coming{color:var(--muted);background:var(--surface-soft);border-radius:7px;padding:5px 7px;font-size:9px}.danger-zone .danger,.danger-zone .danger>svg{color:var(--danger)}.setting-switch{width:42px;height:24px;display:inline-block;position:relative}.setting-switch input{opacity:0;pointer-events:none;position:absolute}.setting-switch span{cursor:pointer;background:#cbd0dc;border-radius:999px;transition:all .18s;position:absolute;inset:0}.setting-switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #14182838}.setting-switch input:checked+span{background:var(--primary)}.setting-switch input:checked+span:after{transform:translate(18px)}.setting-switch input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--primary), transparent 65%);outline-offset:2px}.toast{z-index:200;color:#fff;background:#20243b;border-radius:12px;align-items:center;gap:9px;padding:13px 15px;font-size:12px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 15px 40px #0a0c1440}.toast>svg{color:#68deb4}.toast button{color:#fff;cursor:pointer;background:0 0;border:0}.toast .toast-action{color:#fff;background:#ffffff24;border-radius:8px;min-height:30px;padding:0 9px;font-weight:800}.toast .toast-action:hover,.toast .toast-action:focus-visible{background:#ffffff3d}.confirmation-backdrop{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1215246b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.task-review-backdrop{z-index:320;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12152475;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.task-review-dialog{width:min(500px,100%);max-height:calc(100vh - 36px);color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:19px;padding:22px;overflow-y:auto;box-shadow:0 24px 75px #0f122247}.task-review-heading{align-items:center;gap:13px;display:flex}.task-review-heading h2{margin:3px 0 0;font-size:20px}.task-review-icon{width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:13px;flex:none;place-items:center;display:grid}.task-review-question{color:var(--muted);margin:19px 0;font-size:14px;line-height:1.55}.task-review-question strong{color:var(--text)}.task-review-actions{gap:9px;display:grid}.task-review-actions button,.task-review-quick-grid button,.task-review-footer>button,.task-review-subview>button{min-height:44px;color:var(--text);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 13px;font-weight:750;display:flex}.task-review-actions button:hover,.task-review-quick-grid button:hover{border-color:var(--primary);background:var(--primary-soft)}.task-review-actions .task-review-complete{color:#fff;border-color:var(--green);background:var(--green)}.task-review-subview h3{margin:5px 0 14px}.task-review-subview p{color:var(--muted);font-size:13px;line-height:1.5}.task-review-subview label{margin-top:12px;display:block}.task-review-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.task-review-footer{justify-content:flex-end;gap:9px;margin-top:17px;display:flex}.task-review-queue{color:var(--muted);text-align:center;margin-top:14px;display:block}@media (max-width:560px){.task-review-backdrop{align-items:end;padding:10px}.task-review-dialog{border-radius:18px;width:100%;max-height:calc(100vh - 20px);padding:18px}}.confirmation-dialog{width:min(430px,100%);color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:17px;grid-template-columns:40px minmax(0,1fr);gap:13px;padding:20px;display:grid;position:relative;box-shadow:0 24px 70px #0f122240}.confirmation-icon{width:40px;height:40px;color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 90%);border-radius:12px;place-items:center;display:grid}.confirmation-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.confirmation-close:hover,.confirmation-close:focus-visible{color:var(--text);background:var(--surface-soft)}.confirmation-copy{min-width:0;padding-right:23px}.confirmation-copy h2{margin:1px 0 7px;font-size:18px}.confirmation-copy p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.confirmation-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.confirmation-actions button{cursor:pointer;border-radius:10px;min-height:40px;padding:0 14px;font-size:12px;font-weight:800}.confirmation-actions button:disabled{opacity:.58;cursor:wait}.confirmation-cancel,.confirmation-choice{color:var(--text);border:1px solid var(--line);background:var(--surface)}.confirmation-danger{color:#fff;border:1px solid var(--danger);background:var(--danger)}.confirmation-danger:hover,.confirmation-danger:focus-visible{background:color-mix(in srgb, var(--danger), #000 10%)}.confirmation-actions.stacked{display:grid}.confirmation-actions.stacked button{text-align:left;width:100%;min-height:47px}.confirmation-actions.stacked button span,.confirmation-actions.stacked button small{display:block}.confirmation-actions.stacked button small{opacity:.78;margin-top:3px;font-size:9px;font-weight:550}.confirmation-actions.stacked .confirmation-cancel{text-align:center;min-height:40px}@media (max-width:560px){.confirmation-backdrop{align-items:end;padding:10px}.confirmation-dialog{border-radius:17px;width:100%;padding:17px}.confirmation-actions:not(.stacked){grid-template-columns:1fr 1fr;display:grid}.toast{bottom:78px;left:10px;right:10px}}.metric-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.friends-page{max-width:1180px;margin:0 auto}.friends-hero{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.friends-hero h1{letter-spacing:-.045em;margin:5px 0 4px;font-size:clamp(30px,4vw,46px)}.friends-hero p{color:var(--muted);margin:0}.friends-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.friends-stats>div{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:34px auto 1fr;align-items:center;gap:9px;min-height:68px;padding:14px 16px;display:grid}.friends-stats svg{color:var(--primary)}.friends-stats strong{font-size:22px}.friends-stats span{color:var(--muted);font-size:12px}.friends-tabs{border:1px solid var(--line);background:var(--surface);scrollbar-width:none;border-radius:14px;gap:5px;margin-bottom:18px;padding:5px;display:flex;overflow:auto}.friends-tabs button{min-height:39px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 14px;font-weight:750;display:flex}.friends-tabs button.active{color:var(--text);background:var(--surface-soft);box-shadow:0 1px 3px #14193214}.friends-tabs button span{min-width:20px;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 88%);border-radius:20px;padding:2px 6px;font-size:10px}.friends-error{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger), transparent 70%);background:color-mix(in srgb, var(--danger), transparent 94%);border-radius:12px;margin-bottom:14px;padding:11px 14px;font-size:13px}.friends-toolbar{justify-content:space-between;gap:12px;margin-bottom:15px;display:flex}.friends-toolbar select,.friend-permission-modal select{min-height:44px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:0 12px}.friends-search{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:9px;width:min(440px,100%);min-height:44px;padding:0 13px;display:flex}.friends-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 88%)}.friends-search svg{color:var(--muted);flex:none}.friends-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;padding:0}.friends-search.large{width:100%;min-height:52px}.friends-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.friend-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-height:228px;padding:18px;position:relative;box-shadow:0 8px 22px #1e233c0a}.friend-card.skeleton{background:linear-gradient(100deg, var(--surface) 30%, var(--surface-soft) 50%, var(--surface) 70%);background-size:220% 100%;min-height:228px;animation:1.4s infinite friend-shimmer}@keyframes friend-shimmer{to{background-position-x:-220%}}.friend-main{width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex}.friend-main strong{margin-top:10px;font-size:16px}.friend-main>span:not(.friend-avatar){color:var(--muted);margin-top:3px;font-size:12px}.friend-avatar{color:#fff;background:linear-gradient(145deg, var(--primary), #6759d8);border-radius:50%;flex:none;place-items:center;width:43px;height:43px;font-size:12px;font-weight:850;display:grid;overflow:hidden}.friend-avatar.large{width:66px;height:66px;font-size:17px}.friend-avatar img{object-fit:cover;width:100%;height:100%}.friend-badges{text-align:center;justify-content:center;min-height:25px;margin:13px 0;display:flex}.friend-badges span,.relation-pill{min-height:25px;color:var(--muted);background:var(--surface-soft);border-radius:20px;align-items:center;gap:5px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.friend-badges span.active,.relation-pill.accepted{color:#16875c;background:#1ba8751f}.friend-actions{border-top:1px solid var(--line);justify-content:center;gap:6px;padding-top:12px;display:flex}.friend-actions .button{min-width:0;padding-inline:10px}.friend-calendar-link{white-space:nowrap;flex:1;justify-content:center}.friend-menu-wrap{position:relative}.friend-menu{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:205px;padding:6px;position:absolute;top:43px;right:0;box-shadow:0 15px 35px #14192d29}.friend-menu button,.friend-menu a{width:100%;color:var(--text);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;text-decoration:none;display:flex}.friend-menu button:hover,.friend-menu a:hover{background:var(--surface-soft)}.friend-menu button.danger{color:var(--danger)}.friends-empty{text-align:center;min-height:300px;color:var(--muted);border:1px dashed var(--line);background:var(--surface);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.friends-empty h2{color:var(--text);margin:12px 0 5px;font-size:19px}.friends-empty p{max-width:500px;margin:0 0 15px;font-size:13px}.friends-empty.compact{min-height:210px}.friend-request-list{gap:10px;display:grid}.friend-request{border:1px solid var(--line);background:var(--surface);border-radius:15px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.friend-request>div:last-child{gap:7px;display:flex}.friend-identity{align-items:center;gap:11px;min-width:0;display:flex}.friend-identity>div{min-width:0;display:grid}.friend-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.friend-identity span,.request-date{color:var(--muted);font-size:11px}.friend-discovery,.friend-external{border:1px solid var(--line);background:var(--surface);border-radius:18px;max-width:760px;margin:0 auto;padding:22px}.friend-discovery-head h2,.friend-external h2{margin:0 0 5px;font-size:21px}.friend-discovery-head p,.friend-external p{color:var(--muted);margin:0 0 17px;font-size:13px;line-height:1.55}.friends-searching{min-height:100px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.friend-suggestion-title{color:var(--text);justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;font-size:13px;font-weight:750;display:flex}.friend-suggestion-title span{color:var(--muted);font-size:11px;font-weight:500}.friend-search-results{gap:9px;margin-top:14px;display:grid}.friend-search-results article{border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.friend-result-profile{min-width:0;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;padding:0}.friend-result-profile p{max-width:520px;color:var(--muted);margin:7px 0 0 54px;font-size:11px}.friend-result-profile p.mutual-friends{color:var(--primary);font-weight:700}.friend-external{gap:18px;display:grid}.external-icon{width:48px;height:48px;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 88%);border-radius:14px;place-items:center;margin-bottom:13px;display:grid}.friend-external form{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.friend-external form label,.friend-permission-modal label{color:var(--muted);gap:7px;font-size:11px;font-weight:750;display:grid}.friend-external form input{min-height:43px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:0 12px}.friend-invite-link{background:var(--surface-soft);border-radius:12px;align-items:center;gap:8px;padding:10px;display:flex}.friend-invite-link code{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.external-history{border-top:1px solid var(--line);gap:7px;padding-top:14px;display:grid}.external-history h3{margin:0 0 4px;font-size:14px}.external-history>div{grid-template-columns:1fr auto auto;align-items:center;gap:12px;font-size:12px;display:grid}.external-history small{color:var(--muted)}.external-history button{color:var(--danger);cursor:pointer;background:0 0;border:0}.friend-profile-modal,.friend-permission-modal{border:1px solid var(--line);background:var(--surface);border-radius:19px;width:min(480px,100vw - 24px);padding:24px;position:relative;box-shadow:0 25px 70px #14192d40}.friend-profile-modal{text-align:center;flex-direction:column;align-items:center;display:flex}.friend-profile-modal h2{margin:12px 0 2px}.friend-profile-modal>span{color:var(--muted);font-size:12px}.friend-profile-modal p{margin:17px 0;line-height:1.55}.friend-profile-modal small{color:var(--muted)}.friend-profile-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.friends-notice{color:#176b4f;background:color-mix(in srgb, #d7f5e9, var(--surface) 40%);border:1px solid #28a77866;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700}.friend-permission-modal{gap:16px;display:grid}.friend-permission-modal .settings-toggle-row{color:var(--text);border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:11px 12px;display:flex}.friend-permission-modal .settings-toggle-row span{gap:3px;display:grid}.friend-permission-modal .settings-toggle-row small{color:var(--muted);font-weight:500}.friend-permission-modal .settings-toggle-row input{width:18px;height:18px;accent-color:var(--primary);flex:none}.shared-calendar-banner{border:1px solid color-mix(in srgb, var(--primary), transparent 72%);background:color-mix(in srgb, var(--primary), transparent 93%);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;padding:10px 12px;display:flex}.shared-calendar-banner>div{min-width:0;color:var(--primary);align-items:center;gap:10px;display:flex}.shared-calendar-banner span{min-width:0;color:var(--muted);gap:2px;font-size:11px;display:grid}.shared-calendar-banner strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.shared-calendar-banner .button{flex:none;min-height:36px}.friend-permission-title{gap:12px;padding-right:25px;display:flex}.friend-permission-title>svg{color:var(--primary);flex:none}.friend-permission-title h2{margin:0 0 4px;font-size:19px}.friend-permission-title p{color:var(--muted);margin:0;font-size:12px}.permission-warning{color:var(--muted);background:var(--surface-soft);border-radius:10px;align-items:center;gap:7px;margin:0;padding:10px;font-size:11px;display:flex}.friend-permission-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:520px){.friend-permission-actions{flex-direction:column-reverse}.friend-permission-actions .button{width:100%}}.blocked-users{border-top:1px solid var(--line);gap:7px;margin-top:22px;padding-top:17px;display:grid}.blocked-users h3{margin:0 0 4px;font-size:14px}.blocked-users>div{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}@media (max-width:900px){.friends-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.friends-page{padding-bottom:14px}.friends-hero{align-items:flex-start}.friends-hero p{max-width:230px}.friends-hero .button{padding-inline:11px;font-size:0}.friends-hero .button svg{margin:0}.friends-stats{gap:7px}.friends-stats>div{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:78px;padding:8px;display:flex}.friends-stats svg{width:17px}.friends-stats strong{font-size:18px}.friends-grid{grid-template-columns:1fr}.friend-actions{flex-wrap:wrap}.friend-calendar-link{flex-basis:calc(100% - 52px)}.friends-toolbar{flex-direction:column;align-items:stretch}.friends-search{width:100%}.friend-request{grid-template-columns:1fr}.friend-request>div:last-child{width:100%}.friend-request>div:last-child .button{flex:1}.request-date{display:none}.friend-discovery,.friend-external{padding:16px}.friend-external form{grid-template-columns:1fr}.friend-invite-link{flex-wrap:wrap}.friend-invite-link code{flex-basis:calc(100% - 30px)}.friend-search-results article{align-items:flex-start}.external-history>div{grid-template-columns:1fr auto}.external-history small{grid-column:1}}.friend-invitation-page{background:radial-gradient(circle at 50% 0, color-mix(in srgb, var(--primary), transparent 84%), transparent 42%), var(--background);align-content:center;place-items:center;gap:28px;min-height:100vh;padding:24px;display:grid}.friend-invitation-page>section{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:24px;flex-direction:column;align-items:center;width:min(480px,100%);padding:34px;display:flex;position:relative;box-shadow:0 25px 70px #14192d1f}.friend-invitation-page h1{letter-spacing:-.035em;margin:18px 0 9px;font-size:27px}.friend-invitation-page p{color:var(--muted);margin:0 0 22px;line-height:1.6}.friend-invitation-page .button+.button{margin-top:8px}.friend-invitation-page small{color:var(--muted);margin-top:18px}.friend-invite-symbol{color:#fff;background:var(--primary);box-sizing:content-box;border-radius:50%;margin-left:50px;padding:5px;position:absolute;top:77px}.metric-card{padding:17px}.metric-card small{color:var(--muted);font-size:9px;font-weight:750;display:block}.metric-card strong{margin-top:9px;font-size:22px;display:block}.live-workout{grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;margin-bottom:16px;padding:22px;display:grid;position:relative;overflow:hidden}.live-workout:before{content:"";background:var(--green);width:4px;position:absolute;inset:0 auto 0 0}.live-dot{background:var(--green);width:11px;height:11px;box-shadow:0 0 0 7px color-mix(in srgb, var(--green), transparent 85%);border-radius:50%;animation:1.6s infinite livePulse}.live-workout h2,.start-workout h2,.module-title h2{margin:3px 0 5px;font-size:18px}.live-workout p,.start-workout p{color:var(--muted);margin:0;font-size:10px}.live-workout small{color:var(--green);font-size:9px;font-weight:850}.workout-timer{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:31px}.live-actions{gap:8px;display:flex}.icon-button.danger{color:var(--danger)}.start-workout{grid-template-columns:1fr minmax(180px,240px) auto;align-items:center;gap:15px;margin-bottom:16px;padding:22px;display:grid}.start-workout select{min-height:42px}.two-column-modules{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:16px;display:grid}.module-panel{padding:20px}.module-title{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.module-title>svg{color:var(--primary)}.exercise-builder{background:var(--surface-soft);border-radius:12px;padding:13px}.section-line{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.exercise-edit{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;padding:10px;display:grid}.sets-row{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.sets-row>span{background:var(--surface-soft);border-radius:9px;align-items:center;gap:4px;padding:5px;display:flex}.sets-row input{width:58px;min-height:32px;padding:5px}.sets-row small{color:var(--muted);font-size:8px}.history-list{gap:9px;display:grid}.history-item{box-shadow:none;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px;display:grid}.sport-icon{width:35px;height:35px;color:var(--primary);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.history-item strong,.history-item small{display:block}.history-item strong{font-size:11px}.history-item small{color:var(--muted);margin-top:4px;font-size:9px}.empty-copy{color:var(--muted);text-align:center;padding:25px 0;font-size:11px}.suggestion-card{margin-top:16px;overflow:hidden}.suggestion-trigger{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:17px 20px;display:grid}.suggestion-trigger>svg{color:var(--orange)}.suggestion-trigger strong,.suggestion-trigger small{display:block}.suggestion-trigger strong{font-size:12px}.suggestion-trigger small{color:var(--muted);margin-top:4px;font-size:9px}.suggestion-form{padding:0 20px 20px}.check-label{align-items:center;gap:8px;flex-direction:row!important;display:flex!important}.check-label input{width:auto}.nutrition-summary{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px;padding:20px;display:grid}.nutrition-summary>div{border-right:1px solid var(--line);padding-right:14px}.nutrition-summary>div:nth-child(4){border:0}.nutrition-summary small,.nutrition-summary strong,.nutrition-summary em{display:block}.nutrition-summary small{color:var(--muted);font-size:8px;font-weight:800}.nutrition-summary strong{margin-top:8px;font-size:17px}.nutrition-summary em{color:var(--orange);margin-top:4px;font-size:8px;font-style:normal}.nutrition-summary>p{color:var(--muted);border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding-top:10px;font-size:8px}.food-search{gap:8px;margin-bottom:9px;display:flex}.food-search label{flex:1;position:relative}.food-search label svg{color:var(--muted);position:absolute;top:13px;left:11px}.food-search input{width:100%;min-height:42px;padding-left:35px}.food-results{gap:6px;max-height:250px;display:grid;overflow-y:auto}.food-results button{border:1px solid var(--line);color:var(--text);background:var(--surface);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.food-results button.active{border-color:var(--primary);background:var(--primary-soft)}.food-results strong,.food-results small{display:block}.food-results strong{font-size:10px}.food-results small,.food-results b{color:var(--muted);font-size:8px}.selected-food{background:var(--surface-soft);border-radius:12px;gap:10px;margin-top:12px;padding:13px;display:grid}.selected-food>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.meal-item{box-shadow:none;grid-template-columns:1fr auto;gap:10px;padding:13px;display:grid}.meal-item strong,.meal-item small,.meal-item span{display:block}.meal-item strong{font-size:11px}.meal-item small,.meal-item span{color:var(--muted);margin-top:4px;font-size:8px}.custom-food{margin-top:16px}@keyframes livePulse{50%{box-shadow:0 0 0 11px color-mix(in srgb, var(--green), transparent 94%)}}.skeleton{position:relative;overflow:hidden;background:var(--line)!important;border-color:#0000!important}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.title-skeleton{border-radius:10px;width:270px;height:40px;margin-bottom:30px}.skeleton.block{min-height:160px}.list-skeleton{min-height:330px}@keyframes shimmer{to{transform:translate(100%)}}@media (max-width:1120px){.sidebar{width:210px}.main-content{margin-left:210px}.app-shell>.notification-center{left:157px}.hero-grid{grid-template-columns:1.6fr 1fr}.hero-grid .week-card{grid-column:1/-1;min-height:120px}.dashboard-columns{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.side-column>.section-title:nth-of-type(2){grid-area:1/2}.side-column .goal-stack{grid-area:2/2}.side-column .gentle-card{grid-column:1/-1}.goal-grid-full{grid-template-columns:repeat(2,1fr)}.habit-row-full{grid-template-columns:auto 1fr auto auto}.habit-row-full .week-dots{grid-column:2/5}.calendar-grid.week{grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto}.calendar-day{min-height:400px}}.row-actions .plan-task-action{width:auto;color:var(--primary);background:var(--primary-soft);grid-template-columns:auto auto;gap:5px;padding:0 9px}@media (max-width:760px){.dashboard-schedule-title{align-items:flex-start;gap:10px}.dashboard-schedule-title .button{width:100%}.dashboard-calendar-frame{border-radius:14px}}.admin-shell-label{border:1px solid color-mix(in srgb, var(--primary), transparent 70%);color:var(--primary);background:var(--primary-soft);letter-spacing:.08em;border-radius:10px;align-items:center;gap:8px;margin:-12px 10px 22px;padding:9px 11px;font-size:11px;font-weight:850;display:flex}.admin-main-content{background:radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--primary), transparent 91%), transparent 27%), var(--background);min-height:100vh}.admin-dashboard-page{max-width:1440px}.admin-page-header{align-items:flex-end}.admin-overview-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:18px;display:grid}.admin-overview-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:5px 8px;min-width:0;padding:15px;display:grid;box-shadow:0 8px 26px #252b4b0a}.admin-overview-card svg{color:var(--primary);grid-row:1/span 2}.admin-overview-card span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.admin-overview-card strong{color:var(--text);font-size:21px;line-height:1}.admin-users-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden;box-shadow:0 12px 34px #252b4b0d}.admin-tabs{gap:8px;margin:0 0 14px;display:flex}.admin-tabs button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 15px;font-weight:800;display:inline-flex}.admin-tabs button.active{border-color:color-mix(in srgb, var(--primary) 45%, var(--line));background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary)}.admin-statistics-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:20px;padding:20px}.admin-statistics-card>header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.admin-statistics-card h2,.admin-statistics-card p{margin:0}.admin-statistics-card header p,.admin-statistics-note{color:var(--muted);line-height:1.5}.admin-statistics-card header>span{background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--primary);border-radius:999px;flex:none;padding:7px 10px;font-size:.8rem;font-weight:800}.admin-completed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.admin-completed-grid article{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:3px;padding:14px;display:grid}.admin-completed-grid strong{font-size:1.35rem}.admin-completed-grid span,.admin-sport-table small{color:var(--muted)}.admin-category-stats{flex-wrap:wrap;gap:8px;margin:-4px 0 18px;display:flex}.admin-category-stats span{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.8rem;display:inline-flex}.admin-category-stats strong{color:var(--text)}.admin-sport-table td:first-child{min-width:260px}.admin-sport-table td:first-child strong,.admin-sport-table td:first-child small{display:block}.admin-sport-table a{color:var(--primary);white-space:nowrap;font-weight:800}.admin-statistics-note{font-size:.86rem;margin-top:16px!important}.admin-users-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.admin-users-toolbar h2{margin:0 0 3px;font-size:17px}.admin-users-toolbar p{color:var(--muted);margin:0;font-size:12px}.admin-user-search{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:8px;width:min(440px,48%);min-height:43px;padding-left:12px;display:flex}.admin-user-search svg{color:var(--muted);flex:none}.admin-user-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:0}.admin-user-search button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:0 11px 11px 0;align-self:stretch;padding:0 14px;font-weight:750}.admin-users-table-wrap{overflow-x:auto}.admin-users-table{border-collapse:collapse;width:100%;font-size:12px}.admin-users-table th,.admin-users-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px 14px}.admin-users-table th{color:var(--muted);background:var(--surface-soft);letter-spacing:.035em;text-transform:uppercase;font-size:10px}.admin-users-table th svg{vertical-align:-2px;margin-right:3px;display:inline}.admin-user-identity{align-items:center;gap:10px;min-width:250px;display:flex}.admin-user-identity strong,.admin-user-identity span,.admin-user-identity small{display:block}.admin-user-identity span,.admin-user-identity small{color:var(--muted);margin-top:2px;font-size:10px}.admin-role{color:var(--muted);background:var(--surface-soft);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.admin-role.admin{color:var(--primary);background:var(--primary-soft)}.admin-pagination{justify-content:flex-end;align-items:center;gap:12px;padding:14px 18px;display:flex}.admin-pagination span{color:var(--muted);font-size:12px}@media (max-width:1180px){.admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.admin-tabs{overflow-x:auto}.admin-statistics-card{padding:15px}.admin-statistics-card>header{gap:10px;display:grid}.admin-statistics-card header>span{width:max-content}.admin-completed-grid{grid-template-columns:1fr}.admin-mobile-nav{grid-template-columns:repeat(3,1fr)}.admin-page-header,.admin-users-toolbar{flex-direction:column;align-items:stretch}.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-search{width:100%}}@media (max-width:1000px){.two-column-modules{grid-template-columns:1fr}.live-workout{grid-template-columns:auto 1fr auto}.live-actions{grid-column:2/-1}.nutrition-summary{grid-template-columns:repeat(2,1fr)}.nutrition-summary>div:nth-child(2){border:0}}@media (max-width:760px){.auth-page{display:block}.auth-story{display:none}.auth-form-wrap{min-height:100vh;padding:25px}.sidebar{display:none}.theme-toggle-floating{z-index:64;background:var(--surface);border-radius:11px;place-items:center;width:38px;min-height:38px;padding:0;display:grid;position:fixed;top:10px;right:13px;box-shadow:0 3px 12px #181d3514}.theme-toggle-floating.beside-notifications{right:59px}.main-content{margin-left:0;padding-bottom:70px}.page{padding:25px 16px 45px}.page-header{margin-bottom:23px}.page-header-actions{gap:6px;max-width:55%}.page-header .button{min-height:38px;padding:0 10px;font-size:10px}.page-header .button svg{display:none}.mobile-nav{z-index:50;height:68px;padding:5px max(7px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(7px, env(safe-area-inset-left));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 4%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(7,1fr);align-items:center;display:grid;position:fixed;inset:auto 0 0}.mobile-nav a,.mobile-nav button{color:var(--muted);background:0 0;border:0;justify-items:center;gap:3px;font-size:7px;display:grid}.mobile-nav a.active{color:var(--primary)}.mobile-nav .mobile-add{color:#fff;grid-area:1/4}.mobile-add svg{background:var(--primary);border-radius:14px;width:42px;height:42px;margin-top:-23px;padding:10px;box-shadow:0 7px 18px #5b64dd4d}.app-shell:not(.admin-app-shell) .mobile-nav{grid-template-columns:repeat(6,1fr)}.app-shell:not(.admin-app-shell) .mobile-nav .mobile-add{grid-column:3}.app-shell:not(.admin-app-shell) .mobile-nav a:nth-child(3){grid-column:4}.mobile-nav a:nth-child(4){grid-column:5}.mobile-nav a:nth-child(5){grid-column:6}.hero-grid{grid-template-columns:1fr 1fr}.level-card{grid-column:1/-1;grid-template-columns:80px 1fr}.level-orb{width:75px;height:75px}.level-orb span{font-size:27px}.hero-grid>.card{min-height:145px;padding:17px}.hero-grid .week-card{grid-column:auto}.habit-grid{grid-template-columns:1fr}.side-column{display:block}.side-column>.section-title:nth-of-type(2),.side-column .goal-stack,.side-column .gentle-card{display:flex}.side-column .goal-stack{flex-direction:column}.task-row{grid-template-columns:auto auto 1fr}.task-row .priority{display:none}.toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.toolbar>.button{display:none}.task-detail-row{grid-template-columns:auto 3px 1fr auto;gap:10px;padding:14px}.task-detail-row>.priority{display:none}.row-actions{opacity:1;flex-direction:column}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.modal{padding:20px}.goal-grid-full{grid-template-columns:1fr}.habit-row-full{grid-template-columns:auto 1fr auto;gap:12px}.habit-row-full .week-dots{grid-column:1/-1;justify-content:center}.habit-row-full .xp-badge{display:none}.day-picker{justify-content:space-between}.day-picker button{width:36px}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-nav{flex-wrap:wrap}.calendar-nav h2{width:100%;margin:8px 0 0}.calendar-year-navigation{margin:0}.calendar-toolbar-actions{justify-content:space-between;width:100%}.calendar-grid.month{grid-template-columns:repeat(7,105px);overflow-x:auto}.calendar-day{min-height:350px}.calendar-grid.month .calendar-day{min-height:110px}.calendar-legend small{display:none}.calendar-calorie-card{padding:15px}.calendar-calorie-metrics{grid-template-columns:1fr;gap:11px}.calendar-calorie-metrics>span{border-right:0;border-bottom:1px solid var(--line);padding:0 0 10px}.calendar-calorie-metrics>span:last-child{border-bottom:0;padding-bottom:0}.calendar-calorie-metrics small{font-size:12px}.calendar-calorie-metrics strong{font-size:18px}.calorie-progress{grid-template-columns:1fr;gap:7px}.calorie-card-hint{justify-self:start}.calorie-detail-grid,.macro-detail{grid-template-columns:1fr}.calorie-detail-balance{flex-direction:column;align-items:flex-start}.week-range-switch{background:var(--surface-soft);border-radius:10px;gap:3px;width:fit-content;margin:0 0 9px;padding:3px;display:flex}.week-range-switch button{min-height:31px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 11px;font-size:10px;font-weight:750}.week-range-switch button.active{color:var(--primary);background:var(--surface);box-shadow:0 2px 8px #1e234614}.week-calendar-help{display:none}.week-calendar-scroll{scrollbar-gutter:auto;border-radius:13px;min-height:0}.week-time-canvas{width:100%;min-width:0}.week-days-header,.week-body{grid-template-columns:46px repeat(var(--visible-days,3), minmax(0, 1fr));width:100%;min-width:0}.week-calorie-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 3px;min-height:30px;padding:3px 4px;font-size:7.5px;line-height:12px;display:grid}.week-calorie-line>span:first-child{grid-column:1/-1}.week-calorie-line>span{text-overflow:ellipsis;overflow:hidden}.week-time-canvas.variant-day{--mobile-day-width:auto;width:100%}.variant-day .week-days-header,.variant-day .week-body{grid-template-columns:56px minmax(0,1fr);width:100%}.day-calendar-shell{width:100%}.day-calendar-shell .week-calendar-scroll{min-height:0}.variant-day .week-event{padding:7px 8px 10px 11px}.variant-day .week-event strong{font-size:10px}.variant-day .week-event small{display:block}.day-event-details p{display:none}.week-event{touch-action:pan-y;padding-left:8px;padding-right:4px}.week-calendar-shell,.full-day-calendar .week-calendar-scroll,.week-time-canvas,.week-body,.week-day-column{touch-action:pan-y}.full-day-calendar .week-calendar-scroll{overscroll-behavior-y:auto}.week-resize-handle{opacity:.3;width:44px;height:22px}.week-event.resizing .week-resize-handle{opacity:.82}.routine-days{grid-template-columns:repeat(4,minmax(0,1fr))}.routine-manager>div{grid-template-columns:8px minmax(0,1fr) auto}.routine-manager .button{grid-column:2;justify-self:start}.routine-manager .icon-button{grid-area:1/3/3}.app-shell>.notification-center{top:10px;left:auto;right:13px}.notification-trigger{width:38px;height:38px}.notification-panel{width:auto;max-height:calc(100vh - 84px);inset:8px 8px auto}.friend-results{max-height:190px;position:static}.shared-event-time{flex-direction:column;align-items:flex-start}.week-event strong{font-size:9px}.week-event small{display:none}.month-event-filters{flex-direction:column;align-items:stretch;gap:6px;padding:6px 7px 8px}.month-event-filters>div{flex-wrap:wrap;padding-bottom:2px}.month-event-filters label{min-height:25px;padding:3px 7px;font-size:9px}.month-event-filters .month-filter-all{align-self:flex-start}.month-event-filters>small{align-self:flex-end}.month-calendar,.annual-calendar{border-radius:12px}.annual-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-month{padding:8px}.annual-month-title{margin-bottom:6px;font-size:12px}.annual-day{min-height:28px;font-size:9px}.month-weekdays{height:31px;font-size:7px}.month-day{min-height:88px;padding:4px}.month-day-head{height:24px}.month-day-number{width:23px;height:23px;font-size:9px}.month-add{opacity:1;width:22px;height:22px}.month-add svg{width:12px}.month-calorie-compact{justify-content:center;width:25px;height:25px;margin:2px 0;padding:0}.month-calorie-compact span,.month-calorie-compact i{display:none}.month-calorie-compact:after{content:"⚖️";font-size:11px}.month-events{flex-wrap:wrap;gap:4px;margin:8px 2px 0;display:flex}.month-event{background:0 0;border:0;border-radius:50%;width:8px;height:8px;padding:0;display:block}.month-event.done{padding-right:0}.month-event.done:after{display:none}.month-event i{border-radius:50%;width:8px;height:8px;display:block}.month-event time,.month-event strong{display:none}.month-more{margin-top:6px;padding:1px 2px;font-size:7px}.month-event.expanded{width:100%;min-height:48px;display:grid}.month-event.expanded i{border-radius:4px;width:5px;height:28px;display:block}.month-event.expanded time,.month-event.expanded strong{display:block}.onboarding-page{padding:18px 16px 38px}.onboarding-header .button{min-width:auto;padding:0 10px;font-size:9px}.onboarding-layout{grid-template-columns:1fr;gap:22px;margin-top:30px}.onboarding-intro{padding:0 4px;position:static}.onboarding-intro h1{margin-top:14px;font-size:37px}.onboarding-intro ul{display:none}.onboarding-form-card{border-radius:16px}.health-form-wrap{padding:17px}.calorie-preview{grid-template-columns:auto 1fr}.calorie-preview>div:last-of-type{grid-column:2}.calorie-preview p{grid-column:1/-1}.report-hero{grid-template-columns:1fr}.global-score{grid-template-columns:auto 1fr;padding:18px}.score-ring{width:96px;height:96px}.score-ring:before{width:78px;height:78px}.score-ring strong{font-size:27px}.stat-cards{grid-template-columns:repeat(2,1fr)}.domain-scores{grid-template-columns:1fr}.domain-row:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.domain-row:last-child{border:0}.profile-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.live-workout{grid-template-columns:auto 1fr}.workout-timer{text-align:center;grid-column:1/-1}.live-actions{flex-wrap:wrap;grid-column:1/-1}.start-workout{grid-template-columns:1fr}.nutrition-summary{grid-template-columns:1fr 1fr}.selected-food>div,.exercise-edit{grid-template-columns:1fr}.sets-row{grid-column:1}}.weight-goal-panel,.weight-hero,.weigh-in-card,.weight-chart-card,.weekly-weight-report{padding:21px}.weight-goal-panel{margin-bottom:16px}.weight-goal-panel .module-title p{max-width:680px;color:var(--muted);margin:5px 0 0;font-size:10px}.weight-goal-form{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.weight-goal-form label,.weigh-in-card label{color:var(--text);gap:6px;font-size:9px;font-weight:750;display:grid}.weight-goal-form .check-label{align-self:end;min-height:42px}.weight-weighing-tip{color:var(--muted);background:var(--primary-soft);border-radius:11px;grid-column:1/-1;align-items:center;gap:8px;margin:0;padding:11px;font-size:9px;display:flex}.weight-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.weight-goal-space{gap:16px;margin-bottom:16px;display:grid}.weight-hero{background:linear-gradient(145deg, color-mix(in srgb, var(--primary-soft), var(--surface) 35%), var(--surface))}.weight-hero-head{justify-content:space-between;gap:15px;display:flex}.weight-hero-head h2{margin:5px 0;font-size:25px}.weight-hero-head h2 span{color:var(--primary)}.weight-hero-head p{color:var(--muted);margin:0;font-size:11px}.weight-hero-head p strong{color:var(--text)}.weight-progress-copy,.weight-progress-details{color:var(--muted);justify-content:space-between;gap:12px;margin-top:18px;font-size:9px;display:flex}.weight-progress-copy strong{color:var(--primary);font-size:13px}.weight-progress{background:var(--line);border-radius:10px;height:10px;margin-top:7px;overflow:hidden}.weight-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #8d94ef);height:100%;transition:width .3s;display:block}.weight-trend{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:17px;padding-top:13px;font-size:9px;display:flex}.weight-trend svg{color:var(--primary)}.weight-columns{grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:16px;display:grid}.weigh-in-card form{gap:10px;display:grid}.weigh-in-card>p{color:var(--muted);align-items:center;gap:7px;margin:13px 0 0;font-size:8px;display:flex}.weight-chart-card{min-width:0}.weight-chart{width:100%;height:190px;overflow:visible}.weight-chart-toolbar{gap:6px;margin:10px 0;display:flex}.weight-chart-toolbar button{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:750}.weight-chart-toolbar button.active{color:var(--primary);border-color:color-mix(in srgb, var(--primary), transparent 60%);background:var(--primary-soft)}.weight-chart-summary{color:var(--muted);flex-wrap:wrap;gap:8px 16px;font-size:9px;display:flex}.weight-chart-summary strong{color:var(--text);margin-left:4px}.weight-chart line{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.weight-chart polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.weight-chart polyline.real{stroke:var(--primary);stroke-width:3px}.weight-chart polyline.theory{stroke:var(--orange);stroke-width:2px;stroke-dasharray:5 5}.weight-chart line.target{stroke:var(--green);stroke-width:1.5px;stroke-dasharray:3 4}.weight-chart .weight-point{cursor:pointer;fill:var(--surface);stroke:var(--primary);stroke-width:1.4px;vector-effect:non-scaling-stroke}.weight-chart .weight-point:hover,.weight-chart .weight-point:focus,.weight-chart .weight-point.selected{fill:var(--primary);outline:none}.weight-chart-selection{color:var(--muted);justify-content:center;gap:8px;margin:-4px 0 8px;font-size:10px;display:flex}.weight-chart-selection strong{color:var(--primary)}.chart-legend{color:var(--muted);justify-content:center;gap:18px;font-size:8px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend i{border-radius:3px;width:16px;height:3px}.chart-legend i.real{background:var(--primary)}.chart-legend i.theory{background:var(--orange)}.weight-measurements{border-top:1px solid var(--line);gap:6px;margin-top:14px;padding-top:12px;display:grid}.weight-measurement-row{grid-template-columns:minmax(105px,auto) 1fr auto auto;align-items:center;gap:8px;min-height:38px;display:grid}.weight-measurement-row>span:first-child{gap:2px;display:grid}.weight-measurement-row small,.weight-measurement-note{color:var(--muted);font-size:9px}.weight-measurement-row input{min-width:0}.chart-empty{height:190px;color:var(--muted);background:var(--surface-soft);border-radius:12px;align-content:center;place-items:center;gap:10px;font-size:9px;display:grid}.weekly-weight-report{min-width:0;overflow:hidden}.weekly-table{overflow-x:auto}.weekly-row{border-top:1px solid var(--line);grid-template-columns:.7fr repeat(7,1fr);min-width:1020px;display:grid}.weekly-row span{color:var(--muted);padding:11px 8px;font-size:8px}.weekly-row span:first-child{color:var(--text);font-weight:750}.weekly-head{background:var(--surface-soft);border:0;border-radius:9px}.weekly-head span{color:var(--text);font-weight:800}.weekly-row .deficit{color:var(--green)}.weekly-row .surplus{color:var(--orange)}.weight-disclaimer{color:var(--muted);background:var(--surface-soft);border-radius:11px;gap:8px;margin:13px 0 0;padding:12px;font-size:8px;line-height:1.55;display:flex}.weight-disclaimer svg{color:var(--primary);flex:none}.weight-warning{margin:0}@media (max-width:900px){.weight-goal-form{grid-template-columns:1fr 1fr}.weight-columns{grid-template-columns:1fr}}@media (max-width:430px){.annual-calendar-grid,.weight-goal-form{grid-template-columns:1fr}.weight-goal-form .check-label,.weight-weighing-tip,.weight-form-actions{grid-column:1}.weight-form-actions .button{flex:1}.weight-progress-details{display:grid}.page-header{align-items:flex-end}.page-header p{font-size:12px}.hero-grid{scroll-snap-type:x mandatory;padding-bottom:5px;display:flex;overflow-x:auto}.hero-grid>.card{scroll-snap-align:start;min-width:76vw}.hero-grid .level-card{min-width:92vw}.level-content h2{font-size:16px}.habit-card{min-height:80px}.global-score{grid-template-columns:1fr}.score-ring{margin:auto}.toolbar .segmented{width:100%}.toolbar .segmented button{flex:1}.week-dots{gap:4px}.week-dots span{width:25px}.setting-row{grid-template-columns:auto 1fr}.setting-row>:last-child{grid-column:2;justify-self:start}.month-day{min-height:76px;padding:3px}.month-add{opacity:.78}.month-events{margin-top:5px}.month-more{white-space:nowrap;max-width:100%;overflow:hidden}.health-form .form-grid{gap:12px}.calorie-suggestion>div .button{width:100%}}.calorie-onboarding-choice{border:0;gap:8px;margin:4px 0 0;padding:0;display:grid}.calorie-onboarding-choice legend{color:var(--text);margin-bottom:3px;font-weight:750}.calorie-onboarding-choice>p{color:var(--muted);margin:0 0 3px;font-size:12px}.calorie-choice{border:1px solid var(--line);cursor:pointer;border-radius:13px;align-items:flex-start;gap:10px;padding:11px 12px;flex-direction:row!important;display:flex!important}.calorie-choice.selected{border-color:var(--primary);background:var(--primary-soft)}.calorie-choice input{margin-top:3px;width:auto!important}.calorie-choice span{gap:3px;display:grid}.calorie-choice small{color:var(--muted);font-weight:450;line-height:1.35}.calorie-settings-card{gap:16px;display:grid}.calorie-main-setting,.calorie-preference-row,.calorie-history-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.calorie-main-setting{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:15px}.calorie-main-setting p,.calorie-preference-row p,.calorie-history-actions p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.4}.calorie-disable-choice{background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);border-radius:14px;padding:15px}.calorie-disable-choice p{color:var(--muted);margin:5px 0 12px;font-size:12px}.calorie-disable-choice>div{flex-wrap:wrap;gap:8px;display:flex}.food-only-mode{text-align:left;border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.food-only-mode.active{border-color:var(--primary);background:var(--primary-soft)}.food-only-mode>span:nth-child(2){gap:3px;display:grid}.food-only-mode small{color:var(--muted)}.mode-indicator{color:var(--primary);font-size:12px;font-weight:750}.calorie-detail-settings{border-top:1px solid var(--line);padding-top:12px}.calorie-detail-settings h3{margin:0 0 5px;font-size:13px}.calorie-preference-row{min-height:58px;padding:8px 0}.calorie-history-actions{border-top:1px solid var(--line);padding-top:14px}.danger-outline{color:var(--danger)!important;border:1px solid color-mix(in srgb, var(--danger) 35%, transparent)!important;background:0 0!important}.settings-message{color:var(--primary);background:var(--primary-soft);border-radius:10px;margin:0;padding:10px 12px;font-size:12px}@media (max-width:680px){.calorie-main-setting,.calorie-history-actions{align-items:flex-start}.calorie-history-actions{flex-direction:column}.food-only-mode{grid-template-columns:auto 1fr}.food-only-mode .mode-indicator{grid-column:2}}.calendar-calorie-metrics[data-hide-burned=true]>span:first-child,.calendar-calorie-metrics[data-hide-consumed=true]>span:nth-child(2),.calendar-calorie-metrics[data-hide-balance=true]>span:nth-child(3),.calorie-detail-content[data-hide-burned=true]>section:first-of-type,.calorie-detail-content[data-hide-consumed=true]>section:nth-of-type(2),[hidden]{display:none!important}.calendar-link-filters{flex-wrap:wrap;gap:7px;margin:-7px 0 14px;display:flex}.planning-page .calendar-link-filters{margin:0 0 8px}.calendar-link-filters select{border:1px solid var(--line);min-width:145px;min-height:34px;color:var(--text);background:var(--surface);border-radius:9px;padding:0 9px;font-size:10px}.planning-page .calendar-link-filters select{min-height:30px}.planning-page .weekly-calorie-summary{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 7px;padding:6px 10px;display:flex}.planning-page.calendar-fullscreen-active{z-index:120;background:var(--background);width:100%;max-width:none;height:100%;margin:0;padding:8px 12px 10px;position:fixed;inset:0;overflow:auto}.planning-page.calendar-fullscreen-active>.page-header,.planning-page.calendar-fullscreen-active>.calendar-link-filters,.planning-page.calendar-fullscreen-active>.calendar-calorie-card,.planning-page.calendar-fullscreen-active>.weekly-calorie-summary,.planning-page.calendar-fullscreen-active>.calendar-inline-error,.planning-page.calendar-fullscreen-active>.calendar-copy-notice,.planning-page.calendar-fullscreen-active>.calendar-legend{display:none}.planning-page.calendar-fullscreen-active .calendar-toolbar{min-height:40px;margin-bottom:6px}.planning-page.calendar-fullscreen-active .week-calendar-help{display:none}@media (max-width:760px){.planning-page{padding-top:14px;padding-bottom:24px}.planning-page>.page-header{margin-bottom:10px}.planning-page .calendar-toolbar{margin-bottom:6px}.shared-calendar-banner{flex-direction:column;align-items:stretch}.shared-calendar-banner .button{width:100%}.calendar-fullscreen-button span{display:none}.calendar-fullscreen-button{width:35px;padding:0}.planning-page.calendar-fullscreen-active{padding:max(6px, env(safe-area-inset-top)) 7px max(7px, env(safe-area-inset-bottom))}.calendar-selection-toolbar{flex-wrap:nowrap;min-height:44px;padding:6px;overflow-x:auto}.calendar-selection-toolbar strong,.calendar-selection-toolbar button,.selection-move-hint{flex:none}.calendar-selection-toolbar button{min-height:32px}.calendar-selection-toolbar .selection-cancel{margin-left:0}}.event-linked-summary{z-index:7;gap:3px;min-width:0;margin-top:3px;display:flex;position:relative}.event-linked-summary button{min-width:0;max-width:100%;height:17px;color:var(--primary);background:color-mix(in srgb, var(--primary-soft), var(--surface) 35%);cursor:pointer;border:0;border-radius:5px;align-items:center;gap:3px;padding:0 4px;font-size:7px;font-weight:750;display:flex;overflow:hidden}.event-linked-summary button span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-link-field{border:1px solid color-mix(in srgb, var(--primary), transparent 73%);background:color-mix(in srgb, var(--primary-soft), var(--surface) 58%);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px;width:100%;min-width:0;padding:14px;display:grid;position:relative}.event-link-field>*{min-width:0}.event-link-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.event-link-heading strong,.event-link-heading small{display:block}.event-link-heading small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.event-link-heading>div:last-child{flex:none;align-items:center;gap:5px;display:flex}.event-link-heading button,.event-completion-prompt button{min-height:30px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary), transparent 72%);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;padding:0 9px;font-size:9px;font-weight:750}.event-link-field>label{min-width:0;color:var(--muted);font-size:10px}.event-link-field>label select{width:100%;min-width:0;height:42px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-top:6px;padding:0 11px;font-size:11px}.linked-task-chips{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:7px;display:flex}.linked-task-chips button{max-width:100%;min-height:30px;color:var(--text);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:16px;align-items:center;gap:5px;padding:0 9px;font-size:9px;display:flex}.linked-task-chips button:hover{border-color:color-mix(in srgb, var(--primary), transparent 60%);background:color-mix(in srgb, var(--primary-soft), var(--surface) 50%)}.event-link-field>.friend-search{grid-column:1/-1}.event-completion-prompt{border:1px solid color-mix(in srgb, var(--green), transparent 65%);background:color-mix(in srgb, var(--green), transparent 93%);border-radius:12px;gap:9px;padding:12px;display:grid}.event-completion-prompt>div{flex-wrap:wrap;gap:6px;display:flex}.linked-sessions{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;gap:6px;padding:11px;display:grid}.linked-sessions>div{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.project-layout{grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:16px;display:grid}.project-list-panel{align-self:start;gap:7px;padding:12px;display:grid}.project-list-panel .search-field{min-width:0;margin-bottom:4px}.project-list-panel>button{min-height:56px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:5px minmax(0,1fr);align-items:stretch;gap:10px;padding:7px;display:grid}.project-list-panel>button.active{background:var(--primary-soft)}.project-list-panel>button i{border-radius:6px;width:5px}.project-list-panel strong,.project-list-panel small{display:block}.project-list-panel small{color:var(--muted);margin-top:4px;font-size:9px}.project-detail{min-height:500px;padding:22px}.project-detail>header{justify-content:space-between;align-items:center;display:flex}.project-detail>header>div{align-items:center;gap:12px;display:flex}.project-detail h2{margin:3px 0 0}.project-detail>p{color:var(--muted)}.project-color{color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.project-progress{gap:9px;margin:22px 0;display:grid}.project-progress>div{align-items:baseline;gap:9px;display:flex}.project-progress strong{font-size:24px}.project-progress span{color:var(--muted);font-size:10px}.project-progress>i{background:var(--surface-soft);border-radius:8px;height:8px;overflow:hidden}.project-progress b{border-radius:inherit;height:100%;display:block}.project-actions{flex-wrap:wrap;gap:8px;display:flex}.project-columns{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.project-columns section{border:1px solid var(--line);border-radius:13px;padding:14px}.project-columns h3{margin:0 0 10px;font-size:13px}.project-columns article{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:39px;display:flex}.project-columns article:last-child{border:0}.project-columns article>span{min-width:0}.project-columns article strong,.project-columns article small{display:block}.project-columns article small{color:var(--muted);margin-top:2px;font-size:8px}.project-columns article>span.done{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.duration-preview{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;flex-direction:column;justify-content:center;gap:5px;min-height:68px;padding:10px 13px;display:flex}.duration-preview small{color:var(--muted);font-size:10px}.duration-preview strong{font-size:15px}.calculated-metrics{color:var(--primary);background:var(--primary-soft);border-radius:10px;flex-wrap:wrap;gap:8px 18px;padding:10px 13px;font-size:11px;font-weight:700;display:flex}.advanced-options{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;padding:12px 14px}.advanced-options summary{color:var(--text);cursor:pointer;font-size:11px;font-weight:800}.advanced-options label{margin-top:12px}.exercise-edit>label{font-size:9px}.food-filters{flex-wrap:wrap;gap:7px;margin:0 0 10px;display:flex}.food-filters button{border:1px solid var(--line);min-height:32px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:999px;padding:0 11px;font-size:10px}.food-filters button.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.food-filters select{flex:1;min-width:170px;min-height:32px;font-size:10px}.food-result-row{grid-template-columns:minmax(0,1fr) 36px;gap:5px;display:grid}.food-result-row>button:first-child{width:100%}.food-favorite-button{place-items:center;color:var(--orange)!important;padding:0!important;display:grid!important}.food-source-badge{border:1px solid color-mix(in srgb, var(--primary), transparent 70%);width:fit-content;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:750}.nutrition-per100-grid,.nutrition-consumed-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;display:grid!important}.nutrition-per100-grid>span,.nutrition-consumed-grid>span{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0;padding:9px}.nutrition-per100-grid small,.nutrition-consumed-grid small,.nutrition-per100-grid b,.nutrition-consumed-grid b{display:block}.nutrition-per100-grid small,.nutrition-consumed-grid small{color:var(--muted);font-size:8px}.nutrition-per100-grid b,.nutrition-consumed-grid b{overflow-wrap:anywhere;margin-top:4px;font-size:10px}.quantity-mode{grid-template-columns:none!important;gap:5px!important;display:flex!important}.quantity-mode button{border:1px solid var(--line);min-height:32px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:9px;flex:1}.quantity-mode button.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.quantity-equivalent{color:var(--muted);margin:0;font-size:10px}.recipe-builder{margin-top:16px}.recipe-ingredients,.saved-recipes{gap:8px;margin:12px 0;display:grid}.recipe-ingredients>div,.saved-recipes>article{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.recipe-ingredients label{align-items:center;gap:5px;display:flex}.recipe-ingredients input{width:86px}.saved-recipes strong,.saved-recipes small{display:block}.saved-recipes small{color:var(--muted);margin-top:3px;font-size:9px}.saved-recipes>article>span{color:var(--primary);font-size:10px;font-weight:750}@media (max-width:680px){.nutrition-per100-grid,.nutrition-consumed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.recipe-ingredients>div,.saved-recipes>article{grid-template-columns:1fr auto}.saved-recipes>article>span{grid-column:1}.calendar-link-filters{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.calendar-link-filters select{min-width:140px}.event-link-field{grid-template-columns:1fr;padding:11px}.event-link-field>*{grid-column:1}.event-link-heading{flex-wrap:wrap;align-items:flex-start}.event-link-heading>div:last-child{justify-content:flex-end;width:100%}.friend-invite-field{padding:11px}.participant-picker-header{flex-direction:column;align-items:stretch;gap:8px}.participant-picker-count{align-self:flex-start}.participant-picker-hint{padding-left:0}.selected-friends>button{overflow:hidden}.guest-invite-composer{grid-template-columns:minmax(0,1fr)}.guest-invite-composer input,.guest-invite-composer button,.guest-invite-composer button:first-of-type{width:100%;min-width:0}.project-layout{grid-template-columns:1fr}.project-list-panel{display:flex;overflow-x:auto}.project-list-panel .search-field{min-width:220px}.project-list-panel>button{min-width:210px}.project-columns{grid-template-columns:1fr}}.time-picker{width:100%;position:relative}.time-picker>input{width:100%}.time-picker-list{z-index:80;border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;max-height:220px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 35px #0f172a29}.time-picker-list button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;display:block}.time-picker-list button:hover,.time-picker-list button.nearest{background:var(--primary-soft,#eef2ff)}.task-recurrence-choice{border:1px solid var(--line);border-radius:12px;gap:10px;padding:14px;display:grid}.task-recurrence-choice legend{padding:0 6px;font-weight:750}.task-recurring-progress{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;gap:9px;margin-top:10px;padding:11px 12px;display:grid}.task-recurring-progress>div:first-child{flex-wrap:wrap;justify-content:space-between;gap:6px 12px;display:flex}.task-recurring-progress>div:first-child span{color:var(--muted);font-size:13px}.task-recurring-counters{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch!important;display:grid!important}.task-recurring-counters>span:first-child,.task-recurring-counters>span:last-of-type,.task-recurring-meter{grid-column:1/-1}.task-recurring-counters .over-target{color:var(--success,#15803d);font-weight:750}.task-recurring-meter{background:var(--line);border-radius:999px;height:7px;margin-top:3px;position:relative;overflow:visible}.task-recurring-meter i{border-radius:inherit;background:var(--primary);height:100%;display:block}.task-recurring-meter small{color:var(--muted);position:absolute;top:-19px;right:0}.task-recurring-progress>button{width:max-content;color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:750;display:inline-flex}.recurring-history-modal{width:min(720px,100vw - 28px);max-height:min(780px,100vh - 36px);overflow:hidden}.recurring-history-modal .modal-head p{color:var(--muted);margin:5px 0 0;font-size:13px}.recurring-history-loading{color:var(--muted);text-align:center;padding:36px 12px}.recurring-history-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.recurring-history-summary span{border:1px solid var(--line);background:var(--surface-soft);min-width:0;color:var(--muted);border-radius:11px;gap:3px;padding:11px 12px;font-size:11px;display:grid}.recurring-history-summary strong{color:var(--text);font-size:18px}.recurring-history-list{gap:8px;max-height:min(540px,100vh - 245px);padding-right:3px;display:grid;overflow-y:auto}.recurring-history-list article{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:9px;padding:12px 13px;display:grid}.recurring-history-period-head,.recurring-history-values{justify-content:space-between;align-items:center;gap:12px;display:flex}.recurring-history-period-head>strong{font-size:14px}.recurring-history-values{color:var(--muted);font-size:13px}.recurring-history-values>strong{color:var(--text);font-size:15px}.recurring-history-status{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.recurring-history-status.current{color:var(--primary);background:var(--primary-soft)}.recurring-history-status.success{color:#14794f;background:#22a06b24}.recurring-history-status.missed{color:#a86616;background:#e49a3129}.recurring-history-meter{background:var(--line);border-radius:999px;height:7px;overflow:hidden}.recurring-history-meter i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #48a7e8);height:100%;display:block}@media (max-width:760px){.task-recurring-counters{grid-template-columns:1fr}.task-recurring-counters>span,.task-recurring-meter{grid-column:1!important}.recurring-history-summary{grid-template-columns:1fr}.recurring-history-summary span{grid-template-columns:auto 1fr;align-items:baseline}.recurring-history-list{max-height:calc(100vh - 315px)}}.week-event.event-short{padding:2px 23px 2px 7px}.week-event.event-short strong{font-size:8px;line-height:1.1}.week-event.event-short time{margin-top:1px;font-size:7px;line-height:1}.week-event.event-short small,.week-event.event-short .event-join-button,.week-event.event-short .day-event-details,.week-event.event-short .event-linked-summary{display:none}.week-event.event-very-short{padding:0 20px 0 6px;display:block;overflow:visible}.week-event.event-very-short strong{z-index:13;width:max-content;min-width:0;max-width:none;color:var(--text);text-overflow:clip;text-shadow:0 1px 2px color-mix(in srgb, var(--surface), transparent 18%);pointer-events:none;font-size:10px;line-height:1.15;position:absolute;top:50%;left:6px;right:21px;overflow:visible;transform:translateY(-50%)}.week-event.event-very-short.event-short-title-compact strong{text-overflow:ellipsis;width:auto;max-width:calc(100% - 27px);font-size:8px;overflow:hidden}.week-event.event-very-short time,.week-event.event-very-short small,.week-event.event-very-short .event-join-button,.week-event.event-very-short .day-event-details,.week-event.event-very-short .event-linked-summary,.week-event.event-very-short .week-event-nested-mark{display:none}.week-event.event-very-short .event-more-button{width:18px;height:18px}.week-event.event-very-short .event-more-button svg{width:11px;height:11px}.download-page{max-width:980px;margin:0 auto;padding-bottom:48px}.download-page-header{align-items:center}.download-page-header>svg{color:var(--primary);opacity:.8}.download-card{align-items:flex-start;gap:18px;margin-top:20px;padding:24px;display:flex}.download-card-icon{width:52px;height:52px;color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 86%);border-radius:16px;flex:0 0 52px;place-items:center;display:grid}.download-card-content{min-width:0}.download-card h2{margin:0 0 6px}.download-card p{max-width:620px;color:var(--muted);margin:0 0 18px;line-height:1.55}.download-button{align-items:center;gap:8px;display:inline-flex}.download-unavailable{border:1px solid color-mix(in srgb, var(--primary), transparent 72%);max-width:600px;color:var(--muted);background:color-mix(in srgb, var(--primary), transparent 94%);border-radius:12px;gap:4px;padding:12px 14px;font-size:13px;display:grid}.download-unavailable strong{color:var(--text);font-size:14px}.download-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.download-info-grid .card{align-items:flex-start;gap:12px;padding:18px;display:flex}.download-info-grid svg{color:var(--primary);flex:none}.download-info-grid h3{margin:0 0 4px;font-size:15px}.download-info-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (max-width:640px){.download-page{padding:0 14px 32px}.download-page-header>svg{display:none}.download-card{padding:18px}.download-info-grid{grid-template-columns:1fr}}
