:root{--bg:#f7f9fc;--surface:#fff;--surface-soft:#f9fbfe;--ink:#0d1325;--ink-soft:#6f7890;--blue:#1769e8;--blue-deep:#0e55c7;--blue-soft:#eaf2ff;--line:#e1e7f0;--line-strong:#cfd7e4;--green:#21b98a;--orange:#ef7a22;--violet:#7c30db;--red:#d84c4c;--amber:#d99a10;--sidebar-width:240px;--radius:8px;--radius-lg:12px;--shadow:0 8px 24px #1f33590f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Vend Sans,Helvetica Neue,Arial,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.45}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:3px;text-decoration:none}button{color:inherit}::selection{color:#07142d;background:#cfe1ff}:focus-visible{outline-offset:2px;outline:3px solid #1769e847}*{scrollbar-color:#b9c5d8 transparent;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b9c5d8;border-radius:8px}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.main-canvas{min-width:0;min-height:100vh}.global-sync-error{color:#a32323;background:#fff2f2;border:1px solid #efb4b4;border-radius:10px;margin:0 0 16px;padding:10px 14px;font-size:14px}.sidebar{z-index:20;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0}.brand{width:fit-content;color:var(--blue-deep);letter-spacing:-.03em;margin:0 14px 28px;font-family:inherit;font-size:38px;font-weight:700;line-height:1}.sidebar nav{gap:5px;display:grid}.mobile-more{display:none}.nav-link{color:#26324b;border-radius:10px;align-items:center;gap:15px;min-height:50px;padding:0 15px;font-size:17px;transition:color .16s,background .16s;display:flex}.nav-link:hover{color:var(--blue-deep);background:#f3f6fb}.nav-link.active{background:var(--blue-soft);color:var(--blue-deep);font-weight:600}.nav-link svg{stroke-width:1.9px;flex:none}.sidebar-foot{gap:6px;margin-top:auto;display:grid}.owner-card{border-top:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;margin-top:8px;padding:10px 10px 4px;display:grid}.owner-avatar{color:#fff;background:#aeb8c8;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:600;display:grid}.owner-copy{min-width:0;display:grid}.owner-copy strong{font-size:14px}.owner-copy small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.logout{min-height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:flex}.logout:hover{color:var(--red);background:#fff1f1}.dashboard-page,.workspace-page{padding:18px 26px 28px}.dashboard-page{max-width:1600px;margin:0 auto}.dashboard-header{justify-content:space-between;align-items:center;gap:24px;min-height:68px;display:flex}.dashboard-header h1{letter-spacing:-.03em;margin:0;font-size:35px;line-height:1.05}.dashboard-date{color:#5f6880;font-variant-numeric:tabular-nums;align-items:center;gap:12px;display:flex}.icon-button{border:1px solid var(--line);background:var(--surface);color:#4a5873;cursor:pointer;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{color:var(--blue);border-color:#b9c9e3}.notification-button{position:relative}.notification-button i{border:2px solid var(--surface);background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:6px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:8px 0 18px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:138px;box-shadow:var(--shadow);grid-template-columns:44px minmax(0,1fr);gap:12px;padding:22px 24px;display:grid}.metric-icon{width:32px;height:32px;color:var(--blue);place-items:center;display:grid}.metric-icon svg{stroke-width:2px;width:25px;height:25px}.metric-card p{color:#3a4660;margin:1px 0 5px}.metric-card strong{font-variant-numeric:tabular-nums;font-size:29px;font-weight:700;line-height:1.15;display:block}.metric-card strong small{color:#8b94a7;font-size:21px;font-weight:500}.metric-card>div>small{color:var(--ink-soft);margin-top:2px;font-size:15px;display:block}.metric-progress{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;display:grid}.metric-progress:before,.metric-progress i{border-radius:6px;grid-area:1/1;height:8px}.metric-progress:before{content:"";background:#e5e9f0}.metric-progress i{background:var(--blue);position:relative}.metric-progress b{color:#546078;font-size:13px;font-weight:500}.dashboard-content-grid{grid-template-columns:1.06fr 1fr .92fr;grid-template-areas:"calendar tasks projects";gap:18px;animation:.42s cubic-bezier(.16,1,.3,1) both dashboard-settle;display:grid}.dashboard-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow)}.calendar-widget,.tasks-widget,.projects-widget{min-height:478px;padding:20px 18px}.calendar-widget{grid-area:calendar}.tasks-widget{grid-area:tasks}.projects-widget{grid-area:projects}.day-plan-widget{grid-area:plan}.focus-widget{grid-area:focus}.goal-widget{grid-area:goal}.card-header{justify-content:space-between;align-items:center;gap:14px;min-height:34px;display:flex}.card-header h2,.dashboard-card>h2{letter-spacing:-.02em;margin:0;font-size:20px;line-height:1.2}.card-header a{color:var(--blue);white-space:nowrap;align-items:center;gap:5px;font-size:14px;display:inline-flex}.card-header a:hover{text-decoration:underline}.month-controls{align-items:center;gap:8px;margin:16px 0 14px;display:flex}.month-controls button{cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.month-controls button:hover{background:var(--blue-soft);color:var(--blue)}.month-controls strong{text-transform:capitalize}.mini-calendar{text-align:center;grid-template-columns:repeat(7,minmax(28px,1fr));gap:8px 4px;display:grid}.mini-calendar b{color:#505b72;padding:6px 0;font-size:13px;font-weight:500}.mini-calendar-day{width:38px;min-height:38px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-self:center;place-items:center;padding:0;transition:background-color .14s,color .14s,transform .14s;display:grid;position:relative}.mini-calendar-day:hover{background:var(--blue-soft);color:var(--blue);transform:translateY(-1px)}.mini-calendar-day:focus-visible{outline-offset:1px;outline:3px solid #1769e838}.mini-calendar-day.muted{color:#9ca5b6}.mini-calendar-day.today{color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);font-weight:700}.mini-calendar-day.selected{background:var(--blue);color:#fff;box-shadow:none}.mini-calendar-day i{background:var(--blue);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}.mini-calendar-day.selected i{background:#fff}.dashboard-task-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:392px;margin-top:12px;padding-right:4px;overflow-y:auto}.dashboard-task-list article{border-top:1px solid var(--line);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;display:grid}.dashboard-task-list article.completed .task-title-button{color:#8a92a3;text-decoration:line-through}.dashboard-task-list article div{min-width:0}.task-title-button{max-width:100%;color:var(--ink);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;font-weight:500;display:block;overflow:hidden}.task-title-button:hover{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.task-title-button:focus-visible{outline-offset:2px;border-radius:3px;outline:3px solid #1769e838}.recurring-task-title{vertical-align:bottom;align-items:baseline;gap:5px;min-width:0;max-width:100%;display:inline-flex}.recurring-task-title-text{min-width:0}.recurring-task-title.truncate .recurring-task-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recurring-task-icon{color:currentColor;opacity:.72;flex:none;justify-content:center;align-self:center;align-items:center;width:1em;height:1em;display:inline-flex}.recurring-task-icon svg{width:100%;height:100%}.dashboard-task-list small{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px;display:block}.task-checkbox{color:#fff;width:19px;height:19px;font:inherit;cursor:pointer;background:#fff;border:1px solid #8ea0bb;border-radius:3px;flex:0 0 19px;place-items:center;padding:0;font-size:12px;transition:border-color .14s,background-color .14s,transform .14s;display:grid}.task-checkbox:not(:disabled):hover{border-color:var(--blue);transform:translateY(-1px)}.task-checkbox:focus-visible{outline-offset:2px;outline:3px solid #1769e838}.task-checkbox.checked{border-color:var(--blue);background:var(--blue)}.task-checkbox:disabled{cursor:default}.task-action-error{color:var(--red);margin:-4px 0 8px;font-size:13px}.task-details-dialog{background:var(--surface);width:min(760px,100vw - 32px);max-height:min(820px,100vh - 32px);color:var(--ink);border:0;border-radius:12px;padding:0;overflow:auto;box-shadow:0 24px 64px #0d20403d}.task-details-dialog::backdrop{background:#0d13256b}.task-details-panel{padding:24px}.task-details-panel>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.task-details-panel>header>div{flex-wrap:wrap;align-items:center;gap:9px 12px;min-width:0;display:flex}.task-details-panel h2{overflow-wrap:anywhere;letter-spacing:-.025em;width:100%;margin:0;font-size:24px;line-height:1.2}.dialog-close-button{background:var(--blue-soft);width:36px;height:36px;color:var(--blue);cursor:pointer;border:0;border-radius:8px;flex:0 0 36px;place-items:center;padding:0;display:grid}.dialog-close-button:hover{color:var(--blue-deep);background:#dce9ff}.dialog-close-button:focus-visible{outline-offset:2px;outline:3px solid #1769e838}.task-description-block{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;margin-top:24px;padding:18px}.task-description-block h3{margin:0 0 8px;font-size:14px}.task-description-block p{color:#4f5b72;overflow-wrap:anywhere;white-space:pre-wrap;min-height:44px;margin:0;line-height:1.55}.task-details-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 0;display:grid}.task-details-meta div{min-width:0}.task-details-meta dt{color:var(--ink-soft);font-size:12px}.task-details-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:14px;font-weight:500}.dashboard-task-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.dashboard-task-editor-grid>label{color:#46536d;align-content:start;gap:6px;min-width:0;font-size:13px;font-weight:650;display:grid}.dashboard-task-editor-grid>label>span{align-items:center;gap:5px;display:flex}.dashboard-task-editor-grid input,.dashboard-task-editor-grid textarea,.dashboard-task-editor-grid select{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd6e7;border-radius:8px;font-weight:400}.dashboard-task-editor-grid input,.dashboard-task-editor-grid select{min-height:42px;padding:0 11px}.dashboard-task-editor-grid textarea{resize:vertical;padding:10px 11px}.dashboard-task-editor-grid small{color:var(--ink-soft);font-size:11px;font-weight:400}.dashboard-task-editor-grid .editor-wide{grid-column:1/-1}.dashboard-task-time-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.dashboard-task-editor .task-dialog-checklist{margin-top:18px}.dashboard-task-editor>footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.dashboard-task-editor>footer button{color:#59647a;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd6e7;border-radius:8px;padding:0 18px}.dashboard-task-editor>footer button[type=submit]{border-color:var(--blue);background:var(--blue);color:#fff}.dashboard-task-editor>footer button:disabled{opacity:.58;cursor:default}.category-badge{color:#566177;text-overflow:ellipsis;white-space:nowrap;background:#edf2f8;border-radius:14px;max-width:98px;padding:4px 9px;font-size:11px;overflow:hidden}.category-работа{color:#16755b;background:#e4f6ef}.category-проекты{color:#1462c8;background:#e7f1ff}.category-здоровье{color:#b65318;background:#fff0e6}.category-развитие{color:#7831bb;background:#f0e6ff}.category-финансы{color:#8d6500;background:#fff5d9}@media (max-width:560px){.task-details-panel{padding:20px}.task-details-panel h2{font-size:21px}.task-details-meta{grid-template-columns:1fr;gap:12px}.dashboard-task-editor-grid,.dashboard-task-time-range{grid-template-columns:1fr}.dashboard-task-editor-grid .editor-wide{grid-column:1}}.dashboard-project-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:394px;margin-top:10px;padding-right:4px;overflow-y:auto}.dashboard-project-list article{border-top:1px solid var(--line);grid-template-columns:12px minmax(0,1fr) auto;align-items:start;gap:12px;min-height:91px;padding:14px 0;display:grid}.project-dot{background:var(--blue);border-radius:50%;width:12px;height:12px;margin-top:4px}.dot-1{background:#25bda0}.dot-2{background:var(--orange)}.dot-3{background:var(--violet)}.project-copy{gap:7px;min-width:0;display:grid}.dashboard-project-link{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.dashboard-project-link:hover{color:var(--blue);text-decoration:underline}.project-copy small{color:var(--ink-soft)}.dashboard-project-list article>b{font-size:13px;font-weight:500}.progress-track{background:#dfe4ec;border-radius:5px;height:7px;position:relative;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--blue);position:absolute;inset:0 auto 0 0}.day-plan-widget,.focus-widget,.goal-widget{min-height:176px;padding:18px}.day-plan-list{margin-top:10px}.day-plan-list div{color:#59647b;grid-template-columns:48px 8px minmax(0,1fr);align-items:center;gap:7px;min-height:25px;font-size:13px;display:grid}.day-plan-list time{color:#7b8598;font-variant-numeric:tabular-nums}.day-plan-list i{background:#9aa7bb;border-radius:50%;width:5px;height:5px}.day-plan-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.focus-widget{text-align:center;place-content:center;display:grid}.focus-widget>span{color:#9fa9ba;height:25px;font-family:Georgia,serif;font-size:46px;line-height:1}.focus-widget p{color:#36415a;margin:8px 0;font-size:17px}.focus-widget small{color:#969eae}.goal-main{align-items:center;gap:12px;margin:10px 0 12px;display:flex}.goal-main>span{background:var(--blue-soft);width:46px;height:46px;color:var(--blue);border-radius:50%;place-items:center;display:grid}.goal-main small{color:#3d4860;display:block}.goal-main strong{font-variant-numeric:tabular-nums;margin-top:2px;font-size:22px;display:block}.goal-main strong i{color:#8a93a5;font-size:15px;font-style:normal;font-weight:400}.goal-widget footer{color:var(--ink-soft);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.goal-widget footer b{color:#3c4962}.workspace-page{max-width:1500px;margin:0 auto}.workspace-header{justify-content:space-between;align-items:center;gap:22px;min-height:88px;display:flex}.workspace-header h1{letter-spacing:-.03em;margin:0;font-size:34px;line-height:1.1}.workspace-header p{color:var(--ink-soft);margin:5px 0 0;font-size:16px}.view-switch{border:1px solid var(--line);background:var(--surface);border-radius:9px;gap:4px;padding:4px;display:flex}.view-switch button{min-height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px}.view-switch button.selected{background:var(--blue-soft);color:var(--blue-deep);font-weight:600}.login-page{background:var(--surface);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-form{gap:12px;width:min(340px,100%);display:grid}.auth-form input,.auth-form button{border-radius:8px;width:100%;height:50px}.auth-form input{border:1px solid var(--line-strong);color:var(--ink);background:#fff;padding:0 15px}.auth-form input::placeholder{color:#8a94a6}.auth-form input:focus{border-color:var(--blue);outline:3px solid #1769e824}.auth-form button{background:var(--blue);color:#fff;cursor:pointer;border:0;font-weight:600}.auth-form button:hover{background:var(--blue-deep)}.auth-form button:disabled{cursor:wait;opacity:.65}.form-error{color:var(--red);text-align:center;margin:0;font-size:13px}.calendar-workspace-header{justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding-bottom:16px;display:flex}.calendar-workspace-header h1{letter-spacing:-.03em;margin:0;font-size:34px}.calendar-workspace-header p{color:var(--ink-soft);text-transform:capitalize;margin:5px 0 0}.calendar-controls,.period-navigation{align-items:center;gap:8px;display:flex}.period-navigation button{border:1px solid var(--line);background:var(--surface);min-width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.period-navigation button:hover{color:var(--blue);border-color:#aac6ee}.period-navigation button:focus-visible{outline-offset:2px;outline:3px solid #1769e838}.calendar-layout{grid-template-columns:minmax(0,1fr);gap:18px;height:calc(100vh - 132px);min-height:650px;transition:opacity .14s;display:grid}.calendar-layout.loading-period{opacity:.64;pointer-events:none}.day-panel,.time-calendar-panel,.month-calendar,.today-rail{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);overflow:hidden}.day-panel{grid-template-rows:48px minmax(0,1fr);display:grid}.all-day-row{border-bottom:1px solid var(--line);color:var(--ink-soft);grid-template-columns:82px 1fr;align-items:center;font-size:13px;display:grid}.all-day-row>*{padding:0 12px}.all-day-row>span{border-right:1px solid var(--line);text-align:right}.all-day-event{color:#735300;font:inherit;background:#fff3d4;border:0;border-radius:5px;margin-right:8px;padding:4px 8px;font-weight:500;display:inline-block}.all-day-event.editable{cursor:pointer}.all-day-event.editable:hover{background:#ffe9ac}.all-day-event.editable:focus-visible{outline-offset:2px;outline:3px solid #1769e838}.day-scroll{background:#fff;position:relative;overflow:auto}.day-grid{min-width:650px;position:relative}.time-slot{grid-template-columns:82px 1fr;display:grid;position:absolute;left:0;right:0}.time-slot time{color:#7c8698;text-align:right;font-variant-numeric:tabular-nums;padding:3px 11px 0 0;font-size:12px}.time-slot span{border-top:1px solid #edf0f4}.time-slot.hour span{border-top-color:#d9e0ea}.time-slot:hover span{background:#f8fbff}.time-slot.drop-target span{box-shadow:inset 0 2px var(--blue);background:#e8f1ff}.day-end-label{color:var(--ink-soft);font-size:12px;position:absolute;left:32px}.now-line{z-index:5;background:var(--red);height:2px;position:absolute;left:82px;right:0}.now-line:before{content:"";background:var(--red);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.now-line b{color:var(--red);background:#fff;padding:1px 5px;font-size:11px;position:absolute;bottom:4px;right:7px}.calendar-event{z-index:3;color:#175fac;background:#edf5ff;border:1px solid #b8d2f5;border-radius:6px;grid-template-columns:1fr auto;align-content:start;gap:1px 12px;padding:6px 10px;display:grid;position:absolute;left:92px;right:14px;overflow:hidden}.calendar-event.movable{cursor:grab;-webkit-user-select:none;user-select:none}.calendar-event.movable:active{cursor:grabbing}.calendar-event.movable:hover{filter:brightness(.98);box-shadow:0 4px 12px #1f33591a}.calendar-event.movable:focus-visible{outline-offset:2px;outline:3px solid #1769e84d}.calendar-event.dragging{opacity:.48}.calendar-event.saving{cursor:wait;opacity:.68}.calendar-event:before{content:"";background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.calendar-event-heading{align-items:baseline;gap:7px;min-width:0;display:flex;overflow:hidden}.calendar-event-heading strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:14px;overflow:hidden}.calendar-event span,.calendar-event small{font-size:12px}.calendar-event-status{opacity:.8;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:42%;overflow:hidden}.calendar-event-time{white-space:nowrap}.calendar-event.red{color:#b94b4b;background:#fff1f1;border-color:#f0c8c8}.calendar-event.amber{color:#8a6807;background:#fff8e4;border-color:#ead7a2}.calendar-event.green{color:#197a5c;background:#ecfaf5;border-color:#bce6d7}.calendar-event.violet{color:#7334aa;background:#f5effd;border-color:#d8c5ef}.calendar-action-error{color:var(--red);background:#fff1f1;border-radius:7px;margin:-4px 0 12px;padding:10px 12px;font-size:13px}.today-rail{grid-template-rows:minmax(0,1fr) auto;display:grid}.today-rail>section{border-bottom:1px solid var(--line);padding:18px}.today-rail>section:last-child{border-bottom:0}.unscheduled-drop-zone{transition:background-color .14s,box-shadow .14s}.unscheduled-drop-zone.drop-target{box-shadow:inset 0 0 0 2px var(--blue);background:#f3f8ff}.unscheduled-drop-zone.drop-target header{color:var(--blue-deep)}.unscheduled-drop-zone.drop-target header p{color:var(--blue);font-weight:600}.today-rail header{justify-content:space-between;align-items:flex-start;display:flex}.today-rail h2{margin:0;font-size:19px}.today-rail p{color:var(--ink-soft);margin:3px 0}.quick-add{grid-template-columns:1fr 42px;margin:15px 0;display:grid}.quick-add input{border:1px solid var(--line-strong);border-radius:7px 0 0 7px;min-width:0;height:42px;padding:0 11px}.quick-add button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:0 7px 7px 0}.unscheduled-list article{border-top:1px solid var(--line);cursor:grab;align-items:center;gap:8px;min-height:58px;display:flex}.unscheduled-list article:active{cursor:grabbing}.unscheduled-list article:hover{color:var(--blue)}.unscheduled-list article:focus-visible{outline-offset:2px;border-radius:5px;outline:3px solid #1769e838}.unscheduled-list article small{color:var(--ink-soft);display:block}.calendar-help{font-size:13px}.time-calendar-panel{min-height:0;display:block}.time-calendar-header,.time-all-day{min-width:max-content;display:grid}.time-calendar-header{z-index:9;border-bottom:1px solid var(--line);background:#fbfcfe;min-height:58px;position:sticky;top:0}.time-calendar-header>span,.time-all-day>span{border-right:1px solid var(--line)}.time-calendar-header>div{border-right:1px solid var(--line);min-width:132px;color:var(--ink-soft);justify-content:center;align-items:center;display:flex}.time-calendar-header>div:last-child{border-right:0}.time-calendar-date-button{width:100%;min-height:57px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0;display:flex}.time-calendar-date-button:hover{background:var(--blue-soft);color:var(--blue-deep)}.time-calendar-date-button:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #1769e83d;position:relative}.time-calendar-header>div span{text-transform:capitalize;font-size:12px}.time-calendar-header>div b{min-width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;font-size:15px;display:grid}.time-calendar-header>div.today b{background:var(--blue);color:#fff}.time-calendar-header>div.selected:not(.today) b{box-shadow:inset 0 0 0 1px var(--blue);color:var(--blue)}.time-all-day{z-index:8;border-bottom:1px solid var(--line);background:var(--surface);min-height:46px;position:sticky;top:58px}.time-all-day>span{color:var(--ink-soft);justify-content:flex-end;align-items:center;padding:0 10px;font-size:11px;display:flex}.all-day-cell{border-right:1px solid var(--line);min-width:132px;min-height:46px;padding:5px;transition:background-color .12s;overflow:hidden}.all-day-cell:last-child{border-right:0}.all-day-cell.drop-target{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue)}.all-day-cell .all-day-event{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0 4px 3px 0;overflow:hidden}.all-day-event.blue{color:#175fac;background:#edf5ff}.all-day-event.red{color:#b94b4b;background:#fff1f1}.all-day-event.amber{color:#8a6807;background:#fff8e4}.all-day-event.green{color:#197a5c;background:#ecfaf5}.all-day-event.violet{color:#7334aa;background:#f5effd}.time-calendar-scroll{scrollbar-color:#bcc9db #f4f7fb;scrollbar-width:thin;height:100%;min-height:0;overflow:auto}.time-calendar-grid{background:#fff;position:relative}.time-calendar-grid .time-slot{display:grid;position:absolute;left:0;right:0}.time-calendar-grid .time-slot time{border-right:1px solid var(--line);color:#7c8698;text-align:right;font-variant-numeric:tabular-nums;padding:3px 10px 0 0;font-size:11px;display:block}.time-slot-cell{cursor:pointer;background:0 0;border-top:1px solid #edf0f4;border-bottom:0;border-left:0;border-right:1px solid #edf0f4;padding:0;transition:background-color .1s;display:block}.time-slot.hour .time-slot-cell{border-top-color:#d9e0ea}.time-slot-cell:hover{background:#f8fbff}.time-slot-cell:focus-visible{z-index:2;outline-offset:-2px;outline:2px solid #1769e866;position:relative}.time-slot-cell.drop-target{box-shadow:inset 0 2px var(--blue);background:#e8f1ff}.time-calendar-grid .day-end-label{left:26px}.calendar-resize-handle{z-index:7;cursor:ns-resize;touch-action:none;background:0 0;border:0;height:9px;padding:0;position:absolute;left:8px;right:8px}.calendar-resize-handle:after{content:"";opacity:0;background:currentColor;border-radius:2px;width:30px;height:3px;transition:opacity .12s;position:absolute;left:50%;transform:translate(-50%)}.calendar-event:hover .calendar-resize-handle:after,.calendar-resize-handle:focus-visible:after{opacity:.65}.calendar-resize-handle.top{top:0}.calendar-resize-handle.top:after{top:2px}.calendar-resize-handle.bottom{bottom:0}.calendar-resize-handle.bottom:after{bottom:2px}.calendar-resize-handle:focus-visible{outline-offset:-1px;outline:2px solid #1769e859}.month-calendar{grid-template-rows:42px minmax(0,1fr);min-height:610px;display:grid;overflow:auto}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px;display:grid}.month-weekdays{z-index:4;border-bottom:1px solid var(--line);background:#fbfcfe;position:sticky;top:0}.month-weekdays span{border-right:1px solid var(--line);color:var(--ink-soft);place-items:center;font-size:12px;font-weight:600;display:grid}.month-grid{grid-template-rows:repeat(6,minmax(92px,1fr))}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0;padding:6px;transition:background-color .12s;overflow:hidden}.month-day:nth-child(7n){border-right:0}.month-day.muted{color:#9aa3b4;background:#fafbfc}.month-day.drop-target{background:var(--blue-soft);box-shadow:inset 0 0 0 2px var(--blue)}.month-day-number{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin-left:auto;padding:0;display:grid}.month-day-number:hover{background:var(--blue-soft);color:var(--blue)}.month-day-number:focus-visible{outline-offset:1px;outline:3px solid #1769e838}.month-day.today .month-day-number{background:var(--blue);color:#fff;font-weight:700}.month-events{gap:3px;display:grid}.month-event{min-width:0;height:25px;color:var(--ink);text-align:left;cursor:grab;background:0 0;border:0;border-radius:4px;grid-template-columns:7px auto minmax(0,1fr);align-items:center;gap:5px;padding:0 5px;display:grid}.month-event:hover{background:#f1f5fb}.month-event:focus-visible{outline-offset:1px;outline:2px solid #1769e852}.month-event i{background:currentColor;border-radius:50%;width:7px;height:7px}.month-event span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:10px}.month-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.month-event.blue{color:var(--blue)}.month-event.red{color:var(--red)}.month-event.amber{color:#a97800}.month-event.green{color:var(--green)}.month-event.violet{color:var(--violet)}.month-event.saving{cursor:wait;opacity:.55}.month-more{color:var(--ink-soft);padding-left:5px;font-size:10px}.task-editor-dialog{background:var(--surface);width:min(620px,100vw - 32px);max-height:min(760px,100vh - 32px);color:var(--ink);border:0;border-radius:12px;padding:0;overflow:auto;box-shadow:0 24px 64px #0d20403d}.task-editor-dialog::backdrop{background:#0d13256b}.task-editor-form{padding:24px}.task-editor-form>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.task-editor-form>header h2{letter-spacing:-.025em;margin:0;font-size:24px;line-height:1.2}.task-editor-form>header p{color:var(--ink-soft);margin:5px 0 0;font-size:13px}.task-editor-fields{gap:18px;padding:22px 0;display:grid}.task-editor-fields label{gap:7px;min-width:0;display:grid}.task-editor-fields label>span{color:#45516a;font-size:13px;font-weight:600}.task-editor-fields input,.task-editor-fields textarea,.task-editor-fields select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:7px;padding:10px 11px}.task-editor-fields input,.task-editor-fields select{height:42px}.task-editor-fields textarea{resize:vertical;min-height:116px;line-height:1.5}.task-editor-fields label>small{color:var(--ink-soft);font-size:12px;line-height:1.45}.calendar-create-dialog{width:min(720px,100vw - 32px)}.calendar-create-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-create-fields>label:first-child,.calendar-create-fields>label:nth-child(2),.calendar-create-fields .task-editor-times,.calendar-create-wide{grid-column:1/-1}.calendar-create-fields fieldset{min-width:0}.calendar-create-fields .task-recurrence-options legend{margin-bottom:8px}.calendar-create-fields .weekday-options label{display:block}.calendar-create-fields .annual-date-add button,.calendar-create-fields .annual-date-list button{background:var(--blue);color:#fff;cursor:pointer;border:0}.calendar-create-fields .annual-date-list button{color:inherit;background:0 0}.task-dialog-checklist{border:1px solid var(--line);background:#fafcff;border-radius:7px;gap:0;padding:8px 12px;display:grid}.task-dialog-checklist>label{border-bottom:1px solid var(--line);text-align:left;cursor:pointer;grid-template-columns:none;justify-content:flex-start;align-items:center;gap:9px;width:100%;min-height:38px;display:flex}.task-editor-fields .task-dialog-checklist>label>input[type=checkbox]{flex:0 0 17px;width:17px;min-width:17px;height:17px;margin:0;padding:0}.task-dialog-checklist>label>span{text-align:left;flex:auto;min-width:0}.task-dialog-checklist>label:last-child{border-bottom:0}.task-dialog-checklist>label.completed span{color:#7b8496;text-decoration:line-through}.task-dialog-checklist>p{color:var(--ink-soft);margin:6px 0}.task-editor-fields input:focus,.task-editor-fields textarea:focus,.task-editor-fields select:focus{border-color:var(--blue);outline:3px solid #1769e824}.task-editor-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.date-time-slot-input{align-content:start;gap:7px;min-width:0;display:grid}.date-time-slot-label{color:#45516a;font-size:13px;font-weight:600}.date-time-slot-input>div{grid-template-columns:minmax(130px,1fr) 64px auto 64px;align-items:center;gap:6px;min-width:0;display:grid}.date-time-slot-input input,.date-time-slot-input select{border:1px solid var(--line-strong);min-width:0;height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 9px}.date-time-slot-input>div>span{color:var(--ink-soft);text-align:center;font-weight:700}.date-time-slot-input input:focus,.date-time-slot-input select:focus{border-color:var(--blue);outline:3px solid #1769e824}.task-editor-error{color:var(--red);margin:-8px 0 16px;font-size:13px}.task-editor-form>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.task-editor-form>footer button{min-height:42px;font:inherit;cursor:pointer;border-radius:7px;padding:0 16px;font-weight:600}.task-editor-delete{color:var(--red);background:#fff7f6;border:1px solid #e2a29d;justify-content:center;align-items:center;gap:7px;margin-right:auto;display:inline-flex}.task-editor-delete:hover{border-color:var(--red);background:#fff0ee}.task-editor-cancel{border:1px solid var(--line-strong);background:var(--surface);color:#45516a}.task-editor-cancel:hover{background:var(--surface-soft)}.task-editor-save{border:1px solid var(--blue);background:var(--blue);color:#fff}.task-editor-save:hover{border-color:var(--blue-deep);background:var(--blue-deep)}.task-editor-form>footer button:focus-visible{outline-offset:2px;outline:3px solid #1769e838}.task-editor-form>footer button:disabled,.task-editor-form .dialog-close-button:disabled{cursor:wait;opacity:.6}.inline-form,.budget-add{align-items:center;gap:8px;display:flex}.inline-form input,.budget-add input,.budget-add select{border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;height:42px;padding:0 11px}.inline-form button,.budget-add button,.budget-list button,.ledger-actual button,.settings-row button,.settings-link-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 14px;display:inline-flex}.projects-create-row{align-items:center;gap:10px;display:flex}.projects-create-row .theme-create-form,.projects-create-row .project-create-form{flex:290px}.projects-create-row .project-create-form input{min-width:140px}.project-tabs-area{margin-bottom:18px;display:block}.theme-tabs{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.theme-tabs>button{border:1px solid var(--line);background:var(--surface);color:#59647b;cursor:pointer;border-radius:18px;align-items:center;gap:7px;min-height:38px;padding:0 14px;display:flex}.theme-tabs>button.active{border-color:var(--blue);background:var(--blue);color:#fff}.theme-tabs i{border-radius:50%;width:8px;height:8px}.theme-tab-item{border:1px solid var(--line);background:var(--surface);color:#59647b;border-radius:18px;align-items:center;min-height:38px;display:flex;overflow:hidden}.theme-tab-item.dragging{opacity:.45}.theme-tab-item.drop-before{box-shadow:-3px 0 var(--blue)}.theme-tab-item.drop-after{box-shadow:3px 0 var(--blue)}.theme-drag-handle{border:0;border-right:1px solid var(--line);color:#8a94a7;cursor:grab;background:0 0;align-self:stretch;place-items:center;width:26px;padding:0;display:grid}.theme-drag-handle:active{cursor:grabbing}.theme-tab-item.active .theme-drag-handle{color:#fff;border-color:#ffffff40}.theme-tab-item.active{border-color:var(--blue);background:var(--blue);color:#fff}.theme-tab-select,.theme-tab-action{min-height:36px;color:inherit;cursor:pointer;background:0 0;border:0}.theme-tab-select{align-items:center;gap:7px;min-width:0;padding:0 8px 0 13px;display:flex}.theme-tab-action{opacity:.68;place-items:center;width:30px;padding:0;display:grid}.theme-tab-action:hover,.theme-tab-action:focus-visible{opacity:1;background:#1769e81a}.theme-tab-item.active .theme-tab-action:hover,.theme-tab-item.active .theme-tab-action:focus-visible{background:#ffffff2e}.theme-tab-action.danger:hover,.theme-tab-action.danger:focus-visible{color:var(--red)}.theme-tab-item.active .theme-tab-action.danger:hover,.theme-tab-item.active .theme-tab-action.danger:focus-visible{color:#fff}.theme-tab-action:disabled{cursor:wait;opacity:.35}.theme-edit-form{border:1px solid var(--blue);background:var(--surface);border-radius:18px;align-items:center;min-height:38px;display:flex;overflow:hidden;box-shadow:0 0 0 3px #1769e81a}.theme-edit-form input{width:150px;min-width:80px;height:36px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 4px 0 13px}.theme-edit-form button{width:31px;min-height:36px;color:var(--blue);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.theme-edit-form button:hover{background:var(--blue-soft)}.theme-edit-form button:disabled{cursor:wait;opacity:.42}.theme-create-form{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;grid-template-columns:30px minmax(100px,1fr) auto;align-items:center;min-width:270px;display:grid;overflow:hidden}.theme-create-form>svg{color:var(--ink-soft);justify-self:center}.theme-create-form input{min-width:0;height:40px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.theme-create-form:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e81f}.theme-create-form button{background:var(--blue);color:#fff;min-height:40px;font:inherit;cursor:pointer;border:0;align-items:center;gap:5px;padding:0 12px;font-weight:600;display:inline-flex}.theme-create-form button:disabled{cursor:default;opacity:.48}.project-search-field{border:1px solid var(--line-strong);background:var(--surface);min-height:46px;box-shadow:var(--shadow);border-radius:9px;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;margin-bottom:14px;display:grid;overflow:hidden}.project-search-field>svg{color:var(--ink-soft);justify-self:center}.project-search-field input{min-width:0;height:44px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.project-search-field input::-webkit-search-cancel-button{display:none}.project-search-field button{width:42px;min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.project-search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e81f}.project-action-error,.task-action-error{color:var(--red);margin:0 0 12px;font-size:13px}.project-list{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.projects-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;background:#ffffff8c;grid-column:1/-1;padding:42px 24px}.projects-empty.compact{margin-top:12px;padding:28px 20px}.projects-empty h2{margin:0;font-size:19px}.projects-empty p{color:var(--ink-soft);margin:6px 0 0}.project-sheet{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:18px;container:project-card/inline-size}.project-overview-row{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px 14px 10px;transition:border-color .12s,box-shadow .12s,opacity .12s;display:grid;position:relative}.project-overview-row.dragging{opacity:.45}.project-overview-row.drop-before:before,.project-overview-row.drop-after:after{background:var(--blue);content:"";border-radius:3px;height:3px;position:absolute;left:10px;right:10px}.project-overview-row.drop-before:before{top:-7px}.project-overview-row.drop-after:after{bottom:-7px}.project-order-controls{grid-template-columns:28px 20px;align-items:center;gap:2px;display:grid}.project-order-controls button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.project-order-controls button:hover:not(:disabled){background:var(--blue-soft);color:var(--blue)}.project-order-controls button:focus-visible{outline-offset:1px;outline:3px solid #1769e833}.project-order-controls button:disabled{cursor:default;opacity:.25}.project-drag-handle{width:28px;min-height:44px;cursor:grab!important}.project-drag-handle:active{cursor:grabbing!important}.project-order-controls>div{display:grid}.project-order-controls>div button{width:20px;min-height:20px}.project-overview-main{min-width:0}.project-overview-summary{border-radius:8px;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:22px;min-height:54px;padding:4px 8px;display:grid}.project-overview-copy{min-width:0}.project-overview-title-line{align-items:center;gap:12px;display:flex}.project-overview-title-line>a{border-radius:5px;min-width:0}.project-overview-title-line>a:hover h2{color:var(--blue)}.project-overview-title-line>a:focus-visible{outline-offset:2px;outline:3px solid #1769e82e}.project-overview-title-line h2{align-items:center;gap:4px;display:flex}.project-overview-title-line h2 svg{color:var(--blue);flex:none}.project-work-status{border:1px solid var(--line);min-height:32px;color:var(--ink-soft);font:inherit;cursor:pointer;background:#f7f8fa;border-radius:16px;flex:none;align-items:center;gap:6px;padding:0 8px;font-size:11px;display:inline-flex}.project-work-status i{background:#98a2b3;border-radius:50%;flex:none;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000014}.project-work-status.active{color:#127557;background:#effaf6;border-color:#a9dfce}.project-work-status.active i{background:var(--green)}.project-work-status:hover:not(:disabled){border-color:var(--blue)}.project-work-status:focus-visible{outline-offset:2px;outline:3px solid #1769e833}.project-work-status:disabled{cursor:wait;opacity:.5}.project-overview-progress{color:var(--ink-soft);border-radius:7px;grid-template-columns:1fr auto;align-items:center;gap:7px 10px;padding:6px;font-size:12px;display:grid}.project-overview-progress:hover{background:#f7faff}.project-overview-progress:focus-visible{outline:3px solid #1769e82e}.project-overview-progress>span{min-width:0}.project-overview-progress>i{background:#e8edf4;border-radius:999px;grid-column:1;height:6px;overflow:hidden}.project-overview-progress>i b{border-radius:inherit;background:var(--blue);height:100%;display:block}.project-overview-progress>strong{color:var(--ink);grid-area:1/2/3;font-size:13px}.project-search-results{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:18px}.project-search-results>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:12px;display:flex}.project-search-results>header h2{margin:0;font-size:20px}.project-search-results>header span{background:var(--blue-soft);min-width:25px;height:25px;color:var(--blue-deep);border-radius:13px;place-items:center;font-size:12px;font-weight:700;display:grid}.project-search-group{padding-top:16px}.project-search-group h3{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin:0 0 7px;font-size:12px}.project-search-group a{border-top:1px solid var(--line);border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(120px,220px) 24px;align-items:center;gap:14px;min-height:48px;padding:8px 10px;display:grid}.project-search-group a:hover{background:var(--blue-soft)}.project-search-group a>span{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.project-search-group a small{color:var(--ink-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-search-group a svg{color:var(--blue)}.project-sheet>header{justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.project-sheet h2{margin:0;font-size:20px}.project-sheet h2 a{align-items:center;gap:4px;display:inline-flex}.project-sheet h2 a:hover{color:var(--blue);text-decoration:underline}.project-sheet p{color:var(--ink-soft);margin:4px 0 0}.project-card-controls{align-items:flex-end;gap:7px;display:flex}.project-card-actions{gap:5px;display:flex}.project-card-actions button,.project-name-edit-form button{border:1px solid var(--line-strong);background:var(--surface);width:34px;min-height:34px;color:var(--ink-soft);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid}.project-card-actions button:hover,.project-name-edit-form button:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.project-card-actions button.danger:hover{color:var(--red);background:#fff1f1;border-color:#efb4b4}.project-card-actions button:disabled,.project-name-edit-form button:disabled{cursor:wait;opacity:.45}.project-name-edit-form{align-items:center;gap:5px;min-width:0;display:flex}.project-name-edit-form input{border:1px solid var(--blue);background:var(--surface);width:min(300px,32vw);min-width:120px;height:36px;color:var(--ink);font:inherit;border-radius:7px;outline:3px solid #1769e81f;padding:0 9px}.project-theme-select{min-width:132px;color:var(--ink-soft);gap:3px;font-size:10px;display:grid}.project-theme-select>span{text-transform:uppercase;letter-spacing:.04em}.project-theme-select select{border:1px solid var(--line);background:var(--surface);min-width:132px;height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:0 28px 0 8px;font-size:12px}.project-theme-select select:focus{border-color:var(--blue);outline:3px solid #1769e81f}.project-theme-select select:disabled{cursor:wait;opacity:.58}.project-theme-select.compact{grid-template-columns:auto auto;align-items:center;gap:7px;display:inline-grid}.project-theme-select.compact>span{color:var(--ink-soft)}.task-tree-columns,.tree-row{grid-template-columns:minmax(260px,1fr) 88px minmax(150px,.55fr) 108px minmax(168px,auto);align-items:center;column-gap:14px;display:grid}.task-tree-columns{border-bottom:1px solid var(--line-strong);min-height:38px;color:var(--ink-soft);letter-spacing:.045em;text-transform:uppercase;padding:0 8px;font-size:11px;font-weight:750}.task-tree-columns span:first-child{padding-left:72px}.tree-row{border-bottom:1px solid var(--line);min-height:54px;padding:6px 8px;transition:background-color .1s,box-shadow .1s,opacity .1s;position:relative}.tree-row span{color:var(--ink-soft);font-size:13px}.tree-task-title .recurring-task-title-text{color:var(--ink)}.tree-row.done strong{color:#7b8496;text-decoration:line-through}.tree-row.done .tree-task-title .recurring-task-title-text{color:#7b8496}.tree-title-cell{grid-template-columns:26px 22px 24px minmax(0,1fr);align-items:center;gap:5px;min-width:0;display:grid}.tree-data-cell{color:#44516a;font-variant-numeric:tabular-nums;min-width:0;font-size:12px}.tree-data-cell.task-kind{width:fit-content;min-width:0;color:var(--ink-soft);background:#f0f2f5;border-radius:11px;padding:3px 7px;font-weight:700}.tree-data-cell.task-kind.google{color:#7440b5;background:#f0e9ff}.tree-data-cell.task-kind.meeting{color:var(--red);background:#fff0f0}.tree-data-cell.task-kind.empty{background:0 0;padding:0}.tree-data-cell .empty-cell{color:#a6afbd}.mobile-cell-label{display:none}.tree-task-actions{justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex}.task-status-toggle{color:#7d899d;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:24px;height:30px;padding:0;display:grid}.task-status-toggle:hover{background:var(--blue-soft);color:var(--blue)}.task-status-toggle.done{color:var(--green)}.task-status-toggle:disabled{cursor:wait;opacity:.45}.tree-task-title{flex-wrap:wrap;align-items:center;gap:3px 8px;min-width:0;display:flex}.tree-task-title strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.tree-task-title small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;font-size:11px;overflow:hidden}.tree-task-title>span{background:var(--blue-soft);color:var(--blue-deep);border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700}.task-row-actions{gap:3px;display:flex}.task-row-actions button{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.task-row-actions button:hover{background:var(--blue-soft);color:var(--blue)}.task-row-actions button.danger:hover{color:var(--red);background:#fff0ef}.task-inline-editor{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:calc(100% - 66px);margin:8px 0 12px 66px;padding:12px;display:grid;overflow:hidden}.task-inline-editor label{min-width:0;color:var(--ink-soft);gap:5px;font-size:11px;display:grid}.task-inline-editor label>span{align-items:center;gap:5px;display:flex}.task-inline-editor input,.task-inline-editor textarea,.task-inline-editor select{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:6px;padding:8px}.task-inline-editor textarea{resize:vertical}.task-inline-deadline{grid-column:1/-1}.task-inline-time-range{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.task-inline-pattern,.task-inline-source-note{grid-column:1/-1}.task-inline-pattern small{color:var(--ink-soft);font-size:11px;display:block}.task-inline-source-note{border-left:2px solid var(--blue);background:var(--blue-soft);color:var(--blue-deep);margin:0;padding:9px 10px;font-size:11px;line-height:1.45}.task-inline-actions{grid-column:1/-1;justify-content:flex-end;align-items:flex-end;gap:6px;display:flex}.task-inline-editor button,.checklist-add-form button{border:1px solid var(--line-strong);min-height:36px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:6px;padding:0 11px}.task-inline-editor button[type=submit],.checklist-add-form button{border-color:var(--blue);background:var(--blue);color:#fff}.task-checklist-block{background:#fafcff;border-left:2px solid #cbd9ee;margin:0 0 10px 66px;padding:9px 12px 11px}.checklist-occurrence-label{color:var(--ink-soft);margin-bottom:7px;display:block}.checklist-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:34px;display:flex}.checklist-item label{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.checklist-item label span{color:var(--ink)}.checklist-item.completed label span{color:#7b8496;text-decoration:line-through}.checklist-item>div{gap:2px;display:flex}.checklist-item button,.checklist-item-edit button{width:27px;height:27px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.checklist-item button:hover{background:var(--surface-soft);color:var(--blue)}.checklist-item-edit,.checklist-add-form{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin:6px 0;display:grid}.checklist-add-form{grid-template-columns:minmax(0,1fr) auto;margin-top:9px}.checklist-item-edit input,.checklist-add-form input{border:1px solid var(--line-strong);min-width:0;min-height:36px;font:inherit;background:#fff;border-radius:6px;padding:0 9px}.tree-row.dragging{opacity:.42}.tree-row.moving{cursor:wait;opacity:.58}.tree-row.drop-before{box-shadow:inset 0 2px var(--blue)}.tree-row.drop-after{box-shadow:inset 0 -2px var(--blue)}.tree-row.drop-inside{background:var(--blue-soft);box-shadow:inset 0 0 0 1px #1769e847}.task-drag-handle{color:#9aa4b5;cursor:grab;background:0 0;border:0;border-radius:5px;place-items:center;width:26px;height:30px;padding:0;display:grid}.task-drag-handle:hover{background:var(--surface-soft);color:var(--blue)}.task-drag-handle:active{cursor:grabbing}.task-drag-handle:focus-visible{outline-offset:1px;outline:3px solid #1769e838}.task-drag-handle:disabled{cursor:wait;opacity:.45}.tree-spacer{opacity:0;width:22px}.tree-toggle,.add-subtask-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0}.tree-toggle{border-radius:5px;place-items:center;width:22px;height:28px;padding:0;display:grid}.tree-toggle:hover,.add-subtask-button:hover{background:var(--blue-soft);color:var(--blue)}.tree-toggle:focus-visible,.add-subtask-button:focus-visible{outline-offset:1px;outline:3px solid #1769e838}.add-subtask-button{border-radius:6px;align-items:center;gap:4px;min-height:30px;padding:0 7px;display:inline-flex}.add-subtask-button span{font-size:11px}.subtask-composer{margin-left:min(90px,12%);padding:8px 0 10px}.root-task-drop{border:1px dashed var(--blue);background:var(--blue-soft);min-height:42px;color:var(--blue-deep);border-radius:7px;place-items:center;margin-top:6px;font-size:12px;font-weight:600;display:grid}.root-task-composer,.project-task-add{min-width:0}.project-task-add{grid-template-columns:minmax(140px,1fr) minmax(154px,auto) auto 42px;gap:0;margin-top:12px;display:grid}.project-task-add.root-composer{grid-template-columns:minmax(140px,1fr) minmax(154px,auto) 42px}.project-task-add>input{box-sizing:border-box;border:1px solid var(--line-strong);border-radius:7px 0 0 7px;width:100%;min-width:0;height:40px;padding:0 10px}.task-deadline-field{box-sizing:border-box;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);width:100%;min-width:154px;height:40px;color:var(--ink-soft);align-items:center;gap:5px;padding:0 8px;display:flex}.task-deadline-field input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;font-size:12px}.task-deadline-field input:disabled{color:#9aa4b5;cursor:not-allowed}.project-task-add button{background:var(--blue);color:#fff;cursor:pointer;border:0}.project-task-add>button[type=submit]{border-radius:0 7px 7px 0}.project-task-add .task-compose-cancel{width:38px;color:var(--ink-soft);background:#edf1f7}.project-task-add button:disabled{cursor:wait;opacity:.65}.task-compose-details{box-sizing:border-box;border:1px solid var(--line);background:#fbfcfe;border-top:0;border-radius:0 0 8px 8px;grid-column:1/-1;grid-template-columns:minmax(220px,1fr) minmax(180px,.42fr);gap:12px;width:100%;padding:12px;display:grid}.task-compose-details label{min-width:0}.task-compose-details label>span,.task-recurrence-options legend{color:#45516a;align-items:center;gap:5px;margin-bottom:6px;font-size:12px;font-weight:650;display:flex}.task-description-field{grid-row:span 2}.task-description-field textarea,.task-repeat-field select,.task-pattern-field input,.annual-date-add input{border:1px solid var(--line-strong);width:100%;min-height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:6px;padding:8px 9px;font-size:13px}.checklist-template-field textarea{border:1px solid var(--line-strong);width:100%;min-height:94px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:6px;padding:8px 9px;font-size:13px}.task-description-field textarea{resize:vertical;min-height:86px;line-height:1.45}.task-compose-details input:focus,.task-compose-details select:focus,.task-compose-details textarea:focus{border-color:var(--blue);outline:3px solid #1769e81f}.task-recurrence-options{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.task-time-range-field{border:0;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;min-width:0;margin:0;padding:0;display:grid}.task-time-range-field legend{color:#45516a;grid-column:1/-1;margin-bottom:2px;font-size:12px;font-weight:650}.task-time-range-field .date-time-slot-input{gap:5px;display:grid}.task-time-range-field .date-time-slot-input input,.task-time-range-field .date-time-slot-input select{height:38px;min-height:38px;font-size:13px}.task-time-range-field small{color:var(--ink-soft);grid-column:1/-1;font-size:11px}.weekday-options{flex-wrap:wrap;gap:6px;display:flex}.weekday-options label{border:1px solid var(--line-strong);min-width:38px;color:var(--ink-soft);text-align:center;cursor:pointer;background:#fff;border-radius:6px;padding:7px 9px;font-size:12px}.weekday-options label.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-deep);font-weight:700}.weekday-options input{opacity:0;pointer-events:none;position:absolute}.task-inline-editor .weekday-options input{border:0;width:1px;height:1px;padding:0}.task-pattern-field{grid-column:1/-1}.task-pattern-field small{color:var(--ink-soft);margin-top:5px;font-size:11px;display:block}.task-pattern-field.recurrence-end{grid-column:2}.annual-date-add{grid-template-columns:minmax(170px,1fr) auto;gap:7px;display:grid}.annual-date-add button{min-height:38px;padding:0 12px;border-radius:6px!important}.annual-date-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.annual-date-list>span{background:var(--blue-soft);color:var(--blue-deep);border-radius:14px;align-items:center;gap:5px;padding:5px 7px;font-size:11px;display:inline-flex}.annual-date-list button{color:currentColor;background:0 0;place-items:center;width:20px;height:20px;padding:0;display:grid;border-radius:50%!important}.back-link{width:fit-content;color:var(--blue-deep);align-items:center;gap:6px;margin-bottom:18px;font-weight:600;display:inline-flex}.back-link:hover{text-decoration:underline}.project-load-error{margin:24px 0}.project-details-header{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:150px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:32px;padding:24px;display:grid}.project-title-line{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.project-title-line h1{letter-spacing:-.03em;margin:0;font-size:34px}.project-title-line>span{background:var(--blue-soft);color:var(--blue-deep);border-radius:14px;padding:4px 9px;font-size:12px}.project-details-header>div>p{max-width:68ch;color:var(--ink-soft);margin:8px 0 0}.project-progress-summary{border-left:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding-left:28px;display:grid}.project-progress-summary>div{grid-column:1/-1;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;display:grid}.project-progress-summary svg{color:var(--green)}.project-progress-summary span{color:var(--ink-soft)}.project-progress-summary strong,.project-progress-summary b{font-variant-numeric:tabular-nums}.project-progress-summary .progress-track{align-self:center;height:8px}.project-details-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);margin-top:18px;padding:22px}.project-details-card>header{justify-content:space-between;align-items:center;gap:16px;min-height:38px;padding-bottom:12px;display:flex}.project-details-card>header>div{align-items:center;gap:9px;display:flex}.project-details-card>header svg{color:var(--blue)}.project-details-card h2{margin:0;font-size:21px}.project-details-card>header>span{background:var(--blue-soft);min-width:30px;height:30px;color:var(--blue-deep);border-radius:50%;place-items:center;font-weight:700;display:grid}.gantt{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-top:24px;padding:18px;overflow-x:auto}.gantt>header{justify-content:space-between;align-items:flex-end;padding-bottom:15px;display:flex}.gantt h2{margin:0;font-size:22px}.gantt p{max-width:680px;color:var(--ink-soft);margin:4px 0 0}.gantt-table{border:1px solid var(--line);border-bottom:0;min-width:1000px}.gantt-axis,.gantt-task{border-bottom:1px solid var(--line);grid-template-columns:240px repeat(14,1fr);min-height:40px;display:grid;position:relative}.gantt-axis>*{border-right:1px solid var(--line);text-align:center;padding:8px 5px;font-size:11px}.gantt-axis>span,.gantt-task>span{border-right:1px solid var(--line);text-align:left;padding:9px}.gantt-axis>span{text-align:center;place-items:center;font-weight:800;display:grid}.gantt-task{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#edf0f4 0);background-position:240px 0;background-repeat:repeat-x;background-size:calc(7.14286% - 17.1429px) 100%}.gantt-bar{background:var(--blue);color:#fff;cursor:grab;touch-action:none;border:0;border-radius:5px;justify-content:space-between;align-items:center;min-width:24px;height:24px;display:flex;position:absolute;top:8px}.gantt-bar.status-active{background:var(--green)}.gantt-bar.status-done{background:#8b95a6}.gantt-bar:active{cursor:grabbing}.gantt-bar small{pointer-events:none;margin:0 auto}.gantt-bar .resize{cursor:ew-resize;background:#ffffff57;border:0;align-self:stretch;width:8px}.gantt-milestone{border:2px solid var(--violet);cursor:grab;touch-action:none;background:#f3ebff;border-radius:3px;width:22px;height:22px;position:absolute;top:9px;transform:rotate(45deg)}.gantt-milestone.status-active{border-color:var(--green);background:#e5f7f1}.gantt-milestone.status-done{background:#edf0f4;border-color:#8b95a6}.gantt-task.saving{opacity:.58;pointer-events:none}.gantt-range-note{color:var(--ink-soft);grid-column:2/-1;align-self:center;padding:0 12px}.gantt-error{color:var(--red);background:#fff1f1;border-radius:7px;margin:0 0 12px;padding:10px 12px;font-size:13px}.budget-summary-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.budget-summary-strip>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:18px}.budget-summary-strip span{color:var(--ink-soft);font-size:13px;display:block}.budget-summary-strip strong{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:7px;font-size:21px;display:block;overflow:hidden}.budget-stack{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.journal-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:18px}.section-heading{justify-content:space-between;align-items:center;min-height:34px;display:flex}.section-heading h2{margin:0;font-size:20px}.budget-stack .section-heading{gap:18px;margin-bottom:14px}.budget-category-add-inline{align-items:center;gap:8px;display:flex}.budget-category-add-inline input,.budget-field input,.budget-field select{border:1px solid var(--line-strong);background:var(--surface);min-width:0;height:40px;color:var(--ink);font:inherit;border-radius:7px;padding:0 10px;font-size:14px}.budget-category-add-inline input{width:210px}.budget-category-add-inline input:focus,.budget-field input:focus,.budget-field select:focus{border-color:var(--blue);outline:3px solid #1769e81f}.budget-category-add-inline button,.budget-expense-add>button,.budget-edit-actions button{background:var(--blue);color:#fff;min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-weight:600;display:inline-flex}.budget-category-add-inline button:disabled,.budget-expense-add>button:disabled,.budget-edit-actions button:disabled{cursor:wait;opacity:.5}.budget-field{color:var(--ink-soft);gap:5px;font-size:12px;font-weight:600;display:grid}.budget-expense-add,.budget-expense-edit{background:var(--surface-soft);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px;display:flex}.budget-expense-add{margin-bottom:8px}.budget-expense-edit{border-top:1px solid var(--line);border-radius:0}.budget-field{flex:0 145px}.budget-field.grow{flex:240px}.budget-field.compact{flex-basis:82px}.budget-field.month{flex-basis:135px}.budget-field.category{flex-basis:180px}.budget-expense-add>button{flex:none}.budget-edit-actions{gap:7px;display:flex}.budget-edit-actions button.secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft)}.budget-category-groups{gap:18px;margin-top:16px;display:grid}.budget-category-group{border:1px solid var(--line);border-radius:9px;min-width:0;overflow:hidden}.budget-payment-list{border:1px solid var(--line);border-radius:9px;min-width:0;margin-top:16px;overflow:hidden}.budget-category-group-header{background:var(--surface-soft);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 12px;display:flex}.budget-category-group-header h3{margin:0;font-size:16px}.budget-category-group-actions{gap:5px;display:flex}.budget-category-group-actions button,.budget-category-edit button{border:1px solid var(--line-strong);background:var(--surface);width:34px;min-height:34px;color:var(--ink-soft);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid}.budget-category-group-actions button:hover,.budget-category-edit button:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.budget-category-group-actions button.danger:hover{color:var(--red);background:#fff1f1;border-color:#efb4b4}.budget-category-group-actions button:disabled{cursor:wait;opacity:.45}.budget-category-edit{align-items:center;gap:5px;display:flex}.budget-category-edit input{border:1px solid var(--blue);background:var(--surface);width:230px;height:36px;color:var(--ink);font:inherit;border-radius:7px;outline:3px solid #1769e81f;padding:0 10px;font-size:14px}.budget-list{padding:0 12px}.budget-list article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(250px,auto);align-items:center;gap:14px;min-height:82px;padding:10px 0;display:grid}.budget-list article:first-child{border-top:0}.budget-list article span{color:var(--ink-soft);font-size:13px;display:block}.budget-list article span.budget-overdue{color:var(--red);font-weight:650}.budget-list article>b{white-space:nowrap;font-size:17px}.budget-list article.settled{color:#8a93a3}.budget-list button:disabled{cursor:default;opacity:.72}.budget-list .payment-toggle{background:var(--green);min-width:132px}.budget-list .payment-toggle:hover{background:#168b69}.budget-list .payment-toggle.paid{color:#677186;background:#d9dee6}.budget-item-copy{min-width:0}.budget-item-title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.budget-item-category{background:var(--blue-soft);border-radius:12px;width:fit-content;padding:3px 7px;color:var(--blue-deep)!important;font-size:11px!important}.budget-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-row-actions .icon-button{border:1px solid var(--line-strong);background:var(--surface);width:38px;min-width:38px;min-height:38px;color:var(--ink-soft);padding:0}.budget-row-actions .icon-button:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.budget-row-actions .icon-button.danger:hover{color:var(--red);background:#fff1f1;border-color:#efb4b4}.budget-list-empty{color:var(--ink-soft);text-align:center;margin:0;padding:24px 12px}.budget-action-error,.trash-action-error{color:var(--red);background:#fff1f1;border-radius:7px;margin:0 0 14px;padding:10px 12px;font-size:13px}.section-total{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding-top:14px;display:flex}.section-total strong{white-space:nowrap;font-size:20px}.statistic-rate-note{color:var(--ink-soft);margin:0 0 14px;font-size:13px}.statistic-category-groups{margin-top:0}.statistic-category-actions{align-items:center}.budget-category-group-actions button.add-entry-button{border-color:var(--blue);background:var(--blue);color:#fff;gap:6px;width:auto;min-width:132px;padding:0 10px;font-weight:600;display:inline-flex}.budget-category-group-actions button.add-entry-button:hover{background:var(--blue-deep);color:#fff}.statistic-entry-form{border-top:1px solid var(--line);border-radius:0;margin:0}.budget-field.currency{flex-basis:170px}.statistic-list article.statistic-entry{grid-template-columns:minmax(0,1fr) minmax(150px,auto) auto}.statistic-entry-value{text-align:right;min-width:150px}.statistic-entry-value b{font-size:17px;display:block}.statistic-entry-value span{min-height:18px}.statistic-totals{border-top:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:18px;padding:12px;display:flex}.statistic-totals>div{flex-wrap:wrap;gap:6px;display:flex}.statistic-totals>div span{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:4px 8px;font-size:12px}.statistic-totals strong{white-space:nowrap;font-size:15px}.statistic-overall-total{border:1px solid var(--blue);border-radius:9px;margin-top:18px;overflow:hidden}.statistic-totals.grand{background:var(--blue-soft);border-top:0;padding:16px}.statistic-totals.grand strong{color:var(--blue-deep);font-size:20px}.account-ledger{grid-template-columns:1fr 1fr;margin-top:18px;display:grid}.account-ledger .section-heading{grid-column:1/-1}.ledger-target,.ledger-actual{padding:18px 0 0}.ledger-target{border-right:1px solid var(--line);padding-right:18px}.ledger-actual{padding-left:18px}.ledger-target span,.ledger-actual span{color:var(--ink-soft);font-size:13px}.ledger-target strong,.ledger-actual strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:30px;display:block}.ledger-target p{color:var(--ink-soft)}.ledger-actual button{margin-top:10px}.settings-page{max-width:1050px}.settings-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:128px;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:26px;margin-bottom:14px;padding:20px;display:flex}.settings-row>div{align-items:center;gap:18px;display:flex}.settings-row h2{margin:0;font-size:20px}.settings-row p{max-width:680px;color:var(--ink-soft);margin:4px 0 0}.connected{color:var(--green)}.google-mark{background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:50%;place-items:center;font-size:24px;font-weight:700;display:grid}.settings-actions{gap:8px!important;display:flex!important}.google-settings-row>div:first-child{align-items:flex-start}.google-payment-setting{color:var(--ink);align-items:center;gap:9px;margin-top:12px;font-size:14px;display:flex}.google-payment-setting input{width:17px;height:17px;accent-color:var(--blue)}.google-settings-row small{color:var(--ink-soft);margin-top:8px;display:block}.google-settings-row .settings-sync-error{color:var(--red)}.settings-actions .secondary-button{background:var(--surface);color:var(--ink-soft)}.settings-row button:disabled{cursor:default;opacity:.5}.settings-message{background:var(--blue-soft);color:var(--blue-deep);border-radius:7px;padding:12px 15px}.settings-link-button:hover{background:var(--blue-deep)}.trash-page{max-width:1050px}.trash-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.trash-list article{border-top:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:15px 18px;display:grid}.trash-list article:first-child{border-top:0}.trash-item-icon{background:var(--surface-soft);width:38px;height:38px;color:var(--ink-soft);border-radius:8px;place-items:center;display:grid}.trash-list article>div{gap:2px;min-width:0;display:grid}.trash-list strong{overflow-wrap:anywhere}.trash-list article>div span,.trash-list time{color:var(--ink-soft);font-size:13px}.trash-list button{border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--blue-deep);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:0 13px;font-weight:600;display:inline-flex}.trash-list button:hover{border-color:var(--blue);background:var(--blue-soft)}.trash-list button:disabled{cursor:wait;opacity:.55}.trash-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);min-height:260px;color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:8px;padding:36px;display:grid}.trash-empty h2{color:var(--ink);margin:4px 0 0;font-size:21px}.trash-empty p{max-width:520px;margin:0}.empty-note,.empty-cell{color:var(--ink-soft);font-style:normal}.page-error{color:var(--red);margin:32px}.page-load-error{justify-items:start;gap:12px;margin:32px;display:grid}.page-load-error p{color:var(--red);margin:0}.page-load-error button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:7px;min-height:40px;padding:0 16px}.loading{min-height:60vh;color:var(--ink-soft);place-items:center;display:grid}@container project-card (max-width:680px){.task-inline-time-range,.task-time-range-field{grid-template-columns:1fr}.task-time-range-field legend,.task-time-range-field small{grid-column:1}}@keyframes dashboard-settle{0%{opacity:.96;filter:blur(1px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (max-width:1220px){:root{--sidebar-width:210px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-content-grid{grid-template-columns:1fr 1fr;grid-template-areas:"calendar tasks""projects projects"}.projects-widget{min-height:auto}.focus-widget{min-height:130px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.project-list{grid-template-columns:1fr}.budget-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1221px) and (max-width:1500px){:root{--sidebar-width:218px}.dashboard-page{padding:16px 24px 24px}.dashboard-header{min-height:62px}.metric-card{min-height:126px;padding-top:18px;padding-bottom:18px}.calendar-widget,.tasks-widget,.projects-widget{min-height:438px}.day-plan-widget,.focus-widget,.goal-widget{min-height:174px}.budget-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:820px){:root{--sidebar-width:0px}.app-shell{padding-bottom:68px;display:block}.sidebar{z-index:50;border-top:1px solid var(--line);border-right:0;flex-direction:row;width:100%;height:68px;padding:0;position:fixed;inset:auto 0 0}.brand,.sidebar-foot{display:none}.sidebar nav{flex:auto;grid-template-columns:repeat(4,1fr);gap:0;min-width:0}.mobile-more{flex:0 0 70px;display:block;position:relative}.mobile-more summary{color:#26324b;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:67px;padding:4px;font-size:11px;list-style:none;display:flex}.mobile-more summary::-webkit-details-marker{display:none}.mobile-more.active summary{color:var(--blue-deep);box-shadow:inset 0 3px var(--blue);background:#f5f8fd;font-weight:600}.mobile-more-menu{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:3px;width:min(230px,100vw - 16px);padding:6px;display:grid;position:absolute;bottom:62px;right:8px;box-shadow:0 14px 38px #1f33592e}.mobile-more:not([open]) .mobile-more-menu{display:none}.mobile-more-menu a,.mobile-more-menu button{color:#26324b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;min-height:44px;padding:0 12px;display:flex}.mobile-more-menu a.active{background:var(--blue-soft);color:var(--blue-deep);font-weight:600}.mobile-more-menu button:hover{color:var(--red);background:#fff1f1}.nav-link{border-radius:0;flex-direction:column;justify-content:center;gap:2px;min-height:67px;padding:4px;font-size:11px}.nav-link.active{box-shadow:inset 0 3px var(--blue);background:#f5f8fd}.dashboard-page,.workspace-page{padding:16px 14px 24px}.dashboard-header{align-items:flex-start}.dashboard-header h1{font-size:28px}.metrics-grid{gap:10px;margin-top:12px}.metric-card{grid-template-columns:34px minmax(0,1fr);min-height:120px;padding:16px}.metric-card strong{font-size:23px}.dashboard-content-grid{grid-template-columns:1fr;grid-template-areas:"tasks""calendar""projects";gap:12px;display:grid}.calendar-widget,.tasks-widget,.projects-widget{min-height:auto}.workspace-header{flex-direction:column;align-items:flex-start;padding:8px 0 16px}.workspace-header h1{font-size:29px}.calendar-workspace-header{flex-direction:column;align-items:flex-start;gap:12px;padding:8px 0 16px}.calendar-workspace-header h1{font-size:29px}.calendar-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.view-switch{width:100%}.view-switch button{flex:1}.calendar-layout{height:auto;min-height:0;display:block}.day-panel,.time-calendar-panel{height:70vh;min-height:540px}.month-calendar{height:70vh;min-height:560px}.today-rail{margin-top:14px}.day-grid{min-width:560px}.calendar-event{left:88px}.inline-form{flex-wrap:wrap;width:100%}.inline-form input{flex:130px;min-width:0}.inline-form button{flex:100%}.project-list{grid-template-columns:1fr}.projects-create-row{flex-direction:column;align-items:stretch;width:100%}.projects-create-row .theme-create-form,.projects-create-row .project-create-form{flex-basis:auto;width:100%;min-width:0}.project-overview-row{grid-template-columns:48px minmax(0,1fr);align-items:start}.project-overview-summary{grid-template-columns:minmax(0,1fr);gap:12px}.project-card-controls{flex-direction:column;grid-column:2;align-items:stretch}.project-card-actions{justify-content:flex-end}.project-details-header{grid-template-columns:1fr;gap:20px}.project-progress-summary{border-top:1px solid var(--line);border-left:0;padding:20px 0 0}.task-tree-columns{display:none}.tree-row{grid-template-columns:minmax(0,1fr) minmax(110px,.45fr);gap:8px 14px;padding:12px 8px}.tree-title-cell{grid-column:1/-1}.tree-data-cell{align-items:center;gap:7px;display:flex}.tree-data-cell.task-kind{justify-self:start;width:auto}.tree-task-actions{justify-content:flex-start}.mobile-cell-label{color:var(--ink-soft);letter-spacing:.045em;text-transform:uppercase;font-weight:750;display:inline;font-size:10px!important}.budget-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-stack .section-heading{flex-wrap:wrap;align-items:flex-start}.budget-category-add-inline{margin-left:auto}.budget-list article{grid-template-columns:minmax(0,1fr) auto}.budget-row-actions{grid-column:1/-1;justify-content:flex-start}.statistic-list article.statistic-entry{grid-template-columns:minmax(0,1fr) auto}.statistic-entry-value{text-align:right}.statistic-category-actions{flex-wrap:wrap;justify-content:flex-end}.statistic-totals{flex-direction:column;align-items:flex-start}.budget-expense-add>button{flex:100%}.account-ledger{display:block}.account-ledger .section-heading{display:flex}.ledger-target{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.ledger-actual{padding-left:0}.settings-row{flex-direction:column;align-items:flex-start}.trash-list article{grid-template-columns:38px minmax(0,1fr)}.trash-list button{grid-column:2;width:fit-content}}@media (max-width:480px){.task-editor-form{padding:20px}.task-editor-times,.calendar-create-fields{grid-template-columns:1fr}.calendar-create-fields>label,.calendar-create-fields .task-editor-times,.calendar-create-wide{grid-column:1}.task-editor-form>footer{grid-template-columns:1fr 1fr;display:grid}.task-editor-delete{grid-column:1/-1;margin-right:0}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:104px}.dashboard-date{gap:7px}.calendar-widget,.tasks-widget,.projects-widget,.day-plan-widget,.focus-widget,.goal-widget{padding:15px}.card-header{align-items:flex-start}.card-header h2{font-size:18px}.card-header a{font-size:12px}.mini-calendar{gap:5px 2px}.mini-calendar-day{width:34px;min-height:34px}.dashboard-task-list article{grid-template-columns:22px minmax(0,1fr)}.category-badge{grid-column:2;width:fit-content}.budget-summary-strip{grid-template-columns:1fr}.budget-summary-strip strong{white-space:normal}.budget-stack .section-heading{grid-template-columns:1fr;display:grid}.budget-category-add-inline{width:100%;margin-left:0}.budget-category-add-inline input{width:100%;min-width:0}.budget-field,.budget-field.grow,.budget-field.compact,.budget-field.month,.budget-field.category,.budget-field.currency{flex-basis:100%}.budget-edit-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.budget-row-actions{grid-template-columns:38px 38px minmax(0,1fr);width:100%;display:grid}.budget-category-group-header{align-items:flex-start}.budget-category-edit{width:100%}.budget-category-edit input{width:100%;min-width:0}.statistic-category-actions{justify-content:flex-start;width:100%}.budget-category-group-actions button.add-entry-button{flex:auto}.statistic-list article.statistic-entry{grid-template-columns:1fr}.statistic-entry-value{text-align:left}.statistic-totals strong{white-space:normal}.project-sheet>header{flex-direction:column}.project-overview-row{grid-template-columns:40px minmax(0,1fr);gap:8px;padding-right:12px}.project-order-controls{grid-template-columns:1fr}.project-order-controls>div{grid-template-columns:1fr 1fr}.project-card-controls{grid-column:1/-1}.project-search-group a{grid-template-columns:minmax(0,1fr) 22px;gap:8px}.project-search-group a small{text-align:left;grid-area:2/1}.project-search-group a svg{grid-area:1/2/3}.project-details-header,.project-details-card{padding:18px}.project-title-line h1{font-size:28px}.calendar-controls{grid-template-columns:1fr;display:grid}.period-navigation{justify-content:space-between}.period-navigation button:nth-child(2){flex:1}.time-calendar-header>div,.all-day-cell{min-width:122px}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px}.project-overview-title-line{flex-direction:column;align-items:flex-start;gap:7px}.tree-row{grid-template-columns:1fr}.tree-title-cell,.tree-data-cell,.tree-task-actions{grid-column:1}.tree-task-actions{flex-wrap:wrap}.add-subtask-button{width:fit-content}.subtask-composer{margin-left:34px}.task-inline-editor{grid-template-columns:1fr;max-width:calc(100% - 34px);margin-left:34px}.task-inline-time-range,.task-inline-editor .annual-date-add{grid-template-columns:1fr}.task-inline-actions{justify-content:flex-end}.task-checklist-block{margin-left:34px}.project-task-add{grid-template-columns:minmax(0,1fr) 38px 42px;gap:6px}.project-task-add.root-composer{grid-template-columns:minmax(0,1fr) 42px}.project-task-add>input{border-radius:7px;grid-column:1/-1}.task-deadline-field{border:1px solid var(--line-strong);border-radius:7px;grid-area:2/1;min-width:0}.project-task-add .task-compose-cancel{border-radius:7px;grid-area:2/2}.project-task-add>button[type=submit]{border-radius:7px;grid-area:2/3}.project-task-add.root-composer>button[type=submit]{grid-column:2}.task-compose-details{border-top:1px solid var(--line);border-radius:7px;grid-template-columns:1fr}.task-description-field{grid-row:auto}.task-repeat-field,.task-pattern-field.recurrence-end{grid-column:1}.task-time-range-field{grid-template-columns:1fr}.task-time-range-field legend,.task-time-range-field small{grid-column:1}.date-time-slot-input>div{grid-template-columns:minmax(105px,1fr) 54px auto 54px;gap:4px}.settings-actions{flex-direction:column;width:100%}.settings-actions button,.settings-link-button{width:100%}.trash-list article{padding:14px}.trash-list button{grid-column:1/-1;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
