@font-face{font-family:Gilroy;src:url(/assets/Gilroy-Medium-BVFe7ABu.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Task;src:url(/assets/Gilroy-Light-C81lTVMp.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Task;src:url(/assets/Gilroy-Regular-Bghgj_A6.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Task;src:url(/assets/Gilroy-Medium-BVFe7ABu.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Task;src:url(/assets/Gilroy-Semibold-BP6WYEG3.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Board;src:url(/assets/Gilroy-Light-C81lTVMp.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Board;src:url(/assets/Gilroy-Regular-Bghgj_A6.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Board;src:url(/assets/Gilroy-Medium-BVFe7ABu.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Board;src:url(/assets/Gilroy-Semibold-BP6WYEG3.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Gilroy Board;src:url(/assets/Gilroy-Bold-CWvQ8Q14.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}:root{--bg-app: #000000;--bg-surface: #111111;--bg-surface-2: #141414;--bg-surface-3: #181818;--bg-surface-4: #1a1a1a;--bg-elev: #1e1e1e;--bg-elev-2: #1c1c1c;--bg-hover: rgba(255, 255, 255, .06);--bg-hover-strong: rgba(255, 255, 255, .1);--bg-active: rgba(90, 134, 238, .18);--text-primary: #e0e0e0;--text-strong: #ffffff;--text-secondary: #aaaaaa;--text-muted: #888888;--text-dim: #666666;--text-faint: #4a4a4a;--text-on-accent: #ffffff;--border: #2a2a2a;--border-strong: #2f2f2f;--border-muted: #1f1f1f;--divider: #2a2a2a;--accent: #5a86ee;--accent-soft: rgba(90, 134, 238, .18);--accent-glow: rgba(90, 134, 238, .35);--success: #15c466;--danger: #f33737;--danger-soft: rgba(243, 55, 55, .12);--overlay: rgba(0, 0, 0, .5);--shadow-elev: 0 4px 16px rgba(0, 0, 0, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .45)}[data-theme=light]{--bg-app: #ffffff;--bg-surface: #ffffff;--bg-surface-2: #f5f5f5;--bg-surface-3: #f5f5f5;--bg-surface-4: #f5f5f5;--bg-elev: #f5f5f5;--bg-elev-2: #f5f5f5;--bg-hover: rgba(0, 0, 0, .04);--bg-hover-strong: rgba(0, 0, 0, .08);--bg-active: rgba(90, 134, 238, .12);--text-primary: #000000;--text-strong: #000000;--text-secondary: #555555;--text-muted: #777777;--text-dim: #999999;--text-faint: #b5b5b5;--text-on-accent: #ffffff;--border: #e1e1e1;--border-strong: #d2d2d2;--border-muted: #ececec;--divider: #e2e2e2;--accent: #3b6fe6;--accent-soft: rgba(59, 111, 230, .14);--accent-glow: rgba(59, 111, 230, .3);--success: #0c9e4f;--danger: #d33030;--danger-soft: rgba(211, 48, 48, .1);--overlay: rgba(20, 20, 20, .32);--shadow-elev: 0 4px 16px rgba(0, 0, 0, .14);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .12);color-scheme:light}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:Gilroy,system-ui,sans-serif;line-height:1.4}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);color:var(--text-dim);font-size:.9375rem}.app-loading__spinner{position:relative;width:64px;height:64px;display:inline-block}.app-loading__ring{position:absolute;border-radius:50%;border:2px solid transparent;box-sizing:border-box}.app-loading__ring--outer{inset:0;border-top-color:#5a86ee;border-right-color:#5a86ee;animation:app-loading-spin 1.1s cubic-bezier(.45,0,.55,1) infinite}.app-loading__ring--inner{inset:12px;border-bottom-color:#8aa9f2;border-left-color:#8aa9f2;animation:app-loading-spin .9s cubic-bezier(.45,0,.55,1) infinite reverse}.app-loading__dot{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:#5a86ee;transform:translate(-50%,-50%);animation:app-loading-pulse 1.4s ease-in-out infinite;box-shadow:0 0 12px #5a86ee99}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@keyframes app-loading-pulse{0%,to{transform:translate(-50%,-50%) scale(.6);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}input,button,select{font-family:"Gilroy",inherit}*{scrollbar-width:none}*::-webkit-scrollbar{display:none}[data-theme=light] [style*="color:#ffffff"],[data-theme=light] [style*="color: #ffffff"],[data-theme=light] [style*="color:#fff;"],[data-theme=light] [style*="color: #fff;"],[data-theme=light] [style*="color:#e0e0e0"],[data-theme=light] [style*="color: #e0e0e0"],[data-theme=light] [style*="color: rgb(255, 255, 255)"],[data-theme=light] [style*="color:rgb(255, 255, 255)"],[data-theme=light] [style*="color: rgb(255,255,255)"],[data-theme=light] [style*="color:rgb(255,255,255)"],[data-theme=light] [style*="color: rgb(224, 224, 224)"],[data-theme=light] [style*="color:rgb(224, 224, 224)"]{color:#000!important}[data-theme=light] [style*="background:#ffffff"],[data-theme=light] [style*="background: #ffffff"],[data-theme=light] [style*="background-color:#ffffff"],[data-theme=light] [style*="background-color: #ffffff"],[data-theme=light] [style*="background: rgb(255, 255, 255)"],[data-theme=light] [style*="background:rgb(255, 255, 255)"],[data-theme=light] [style*="background-color: rgb(255, 255, 255)"],[data-theme=light] [style*="background-color:rgb(255, 255, 255)"]{background-color:#000!important;box-shadow:none}[data-theme=light] img[src*=".svg"]:not([src*=nav]):not([src*=molnia]):not([src*=check]):not([src*=kvcomplete]):not([src*=kvblue]):not([src*=chp-comp]):not([src*=pdf-pdf]):not([src*=favicon]):not([src*=react]):not([src*="net.svg"]):not([src*=net-]){filter:brightness(0)}.login-page{min-height:100vh;background:var(--bg-app);display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:320px}.login-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1rem}.login-label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-muted);font-size:.875rem}.login-input{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary);padding:.6rem .75rem;font-size:1rem;border-radius:4px}.login-input::placeholder{color:var(--text-faint)}.login-input:focus{outline:none;border-color:var(--text-secondary)}.login-message{color:var(--danger);font-size:.875rem;margin:0}.login-submit{background:var(--bg-elev);color:var(--text-primary);border:1px solid var(--border-strong);padding:.65rem;font-size:1rem;cursor:pointer;border-radius:4px;margin-top:.25rem}.login-submit:hover:not(:disabled){background:var(--bg-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-toggle{margin-top:1rem;background:none;border:none;color:var(--text-muted);font-size:.875rem;cursor:pointer;padding:.25rem;text-decoration:underline}.login-toggle:hover{color:var(--text-secondary)}.login-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.login-popup{background:var(--bg-surface-4);border:1px solid var(--border-strong);border-radius:8px;padding:1.25rem;max-width:360px}.login-popup__text{color:var(--text-primary);font-size:.9375rem;line-height:1.45;margin:0 0 1rem}.login-popup__btn{display:block;width:100%;background:var(--bg-elev);color:var(--text-primary);border:1px solid var(--border-strong);padding:.5rem 1rem;font-size:.9375rem;cursor:pointer;border-radius:4px}.login-popup__btn:hover{background:var(--bg-hover-strong)}.drop-slot__anchor{position:relative;width:100%;height:0;overflow:visible}.drop-slot__hit{position:absolute;left:0;right:0;top:-16px;height:32px;z-index:2;pointer-events:none}.drop-slot__line{position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:var(--accent);border-radius:1px;opacity:0;transition:opacity .18s ease;pointer-events:none}.drop-slot__hit--over .drop-slot__line{opacity:1}.calendar-popover{background:var(--bg-surface);color:var(--text-primary);padding:.75rem;min-width:220px}.calendar-popover__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.calendar-popover__nav-btn{background:none;border:none;color:var(--text-muted);padding:.25rem;cursor:pointer;font-size:.875rem}.calendar-popover__nav-btn:hover{color:var(--text-strong)}.calendar-popover__title{font-size:.8125rem;color:var(--text-secondary)}.calendar-popover__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.25rem}.calendar-popover__wd{font-size:.6875rem;color:var(--text-dim);text-align:center}.calendar-popover__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-popover__cell{background:none;border:none;color:var(--text-secondary);font-size:.8125rem;padding:.35rem;cursor:pointer;border-radius:2px;font-family:inherit}.calendar-popover__cell:hover{background:var(--bg-hover-strong);color:var(--text-strong)}.calendar-popover__cell--today{background:var(--accent);color:var(--text-on-accent)}.calendar-popover__cell--today:hover{background:var(--accent);filter:brightness(1.1)}.calendar-popover__cell--selected{border:1px solid var(--accent)}.calendar-popover__cell--selected:hover{border-color:var(--accent)}.task-item{margin-bottom:0}.task-item--top-1{margin-top:40px}.task-item--top-2{margin-top:2px;padding-top:12px;border-top:1px solid var(--divider)}.task-item__row{display:flex;align-items:center;gap:.5rem;min-height:1.5rem;position:relative}.task-item__drag-handle{flex-shrink:0;width:1.1rem;height:1.1rem;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--text-dim);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.task-item__drag-handle:active{cursor:grabbing}.task-item__drag-handle img{width:1.1rem;height:1.1rem;object-fit:contain;pointer-events:none}@media(max-width:500px){.task-item__drag-handle{width:1.5rem;height:1.5rem;padding:.2rem;margin:-.2rem}.task-item__drag-handle img{width:1.1rem;height:1.1rem}}.task-item__checkbox{flex:0 0 16px;width:16px;height:16px;border-radius:4px;border:none;background:var(--border);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--bg-surface-2);transition:background .12s}.task-item__checkbox:hover{background:var(--border-strong)}.task-item__checkbox--done,.task-item__checkbox--done:hover{background:var(--success);color:var(--bg-surface-2)}.task-item__checkbox-subtask-hint{display:inline-flex;flex-direction:column;gap:2px;align-items:stretch;width:9px}.task-item__checkbox-subtask-hint span{display:block;width:100%;height:1px;background:#ffffff4d;border-radius:1px}[data-theme=light] .task-item__checkbox-subtask-hint span{background:#0000004d}.task-item__lightning-btn{flex-shrink:0;width:1rem;height:1rem;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.task-item__lightning-btn img{width:1rem;height:1rem;object-fit:contain}.task-item__actions{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;gap:.5rem;padding-left:.5rem;background:var(--bg-app);opacity:0;transition:opacity .15s ease}.task-item__row:hover .task-item__actions{opacity:1}.task-item--editing .task-item__actions,.draggable-task--dragging .task-item__actions{display:none}.task-item__action-btn{flex-shrink:0;width:1.1rem;height:1.1rem;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.task-item__action-btn img{width:1.1rem;height:1.1rem;object-fit:contain}.task-item__pod-btn{flex-shrink:0;width:1.1rem;height:1.1rem;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.task-item__pod-btn img{width:1.1rem;height:1.1rem;object-fit:contain}.task-item__calendar-wrap{position:relative}.task-item__calendar-backdrop{position:fixed;inset:0;z-index:50}.task-item__calendar-popover{position:absolute;top:100%;right:0;margin-top:.25rem;z-index:51}.task-item__title{flex:1;min-width:0;font-family:Gilroy Task,Gilroy,system-ui,sans-serif;font-weight:var(--task-font-weight, 500);font-size:calc(.9375rem * var(--task-font-scale, 1));line-height:calc(1.5rem * var(--task-font-scale, 1));cursor:text;word-break:break-word}.task-item__title--completed{text-decoration:line-through}.task-item__input{flex:1;background:transparent;border:none;color:var(--text-primary);padding:0;margin:0;font-family:Gilroy Task,Gilroy,system-ui,sans-serif;font-weight:var(--task-font-weight, 500);font-size:calc(.9375rem * var(--task-font-scale, 1));line-height:calc(1.5rem * var(--task-font-scale, 1));box-sizing:border-box}.task-item__input--multiline{resize:none;overflow:hidden;min-height:calc(1.5rem * var(--task-font-scale, 1));word-wrap:break-word}@media(max-width:499px){.task-item--editing .task-item__input--multiline{scroll-margin-top:12px;scroll-margin-bottom:min(45vh,280px)}}.task-item__input:focus{outline:none;border:none}.task-item__color-btn-wrap{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:1px;border-radius:50%;border:1px solid transparent;box-sizing:content-box}.task-item__color-btn{flex-shrink:0;width:1rem;height:1rem;border:none;border-radius:50%;cursor:pointer;padding:0;display:block}.task-item__color-option-wrap{display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;border:1px solid transparent;box-sizing:content-box}.task-item__color-option-wrap:hover,.task-item__color-option-wrap--selected{border-color:var(--swatch-color)}.task-item__color-option{width:1.25rem;height:1.25rem;border:none;border-radius:50%;cursor:pointer;padding:0;display:block}.task-item__colors{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;margin-left:1.75rem}.task-item__delete{flex-shrink:0;width:1.25rem;height:1.25rem;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.task-item__delete img{width:1.25rem;height:1.25rem;object-fit:contain}.task-item__subtasks{list-style:none;margin:calc(.04rem + 11px) 0 0 1.75rem;padding:0;padding-left:.75rem}.task-item__subtasks li{margin:0;padding:0}.task-item__subtasks li+li{margin-top:10px}.task-item__subtasks--collapsed{display:none}.task-item--entering{animation:task-enter-done .4s ease-out}@keyframes task-enter-done{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.draggable-task{cursor:grab}.draggable-task:active{cursor:grabbing}.draggable-task--dragging{opacity:.85;z-index:10;cursor:grabbing;transition:none}.draggable-task--dragging .task-item{transition:none}.draggable-task--overlay .task-item--overlay{background:transparent;border-radius:6px;padding:.35rem .5rem;min-width:12rem}.task-item__checkbox--placeholder{width:1rem;height:1rem;border:1px solid var(--border-strong);border-radius:3px;display:inline-block;flex-shrink:0}.day-card{background:var(--bg-app);min-width:0}.day-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.day-card__title-btn{flex:1;font-size:.9375rem;font-weight:400;color:var(--text-dim);margin:0;padding:0;border:none;background:none;cursor:pointer;text-align:left;font-family:inherit;width:100%}.day-card__title-btn:hover{color:var(--text-strong)}.day-card__title-inner{display:flex;align-items:center;gap:.5rem;width:100%}.day-card__collapsed-icon{width:1rem;height:1rem;flex-shrink:0;object-fit:contain}.day-card__title-static{flex:1;font-size:.9375rem;font-weight:400;color:var(--text-dim);margin:0;padding:0;text-align:left;font-family:inherit;width:100%}.day-card__header-line{margin-top:15px;margin-bottom:.75rem;width:100%;border-bottom:1px solid var(--divider)}.day-card__header-actions{display:flex;align-items:center;gap:.25rem}.day-card__icon-btn{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer}.day-card__icon-btn img{width:1.25rem;height:1.25rem;object-fit:contain}@media(min-width:501px){.day-card__icon-btn--plus{opacity:0;transition:opacity .15s ease}.day-card__header:hover .day-card__icon-btn--plus{opacity:1}}.day-card__section{margin-bottom:.5rem}.day-card__section--completed{margin-top:.4rem}.day-card__completed-toggle{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-dim);font-size:.9375rem;cursor:pointer;padding:.25rem 0 .35rem;margin-bottom:.35rem;border-bottom:1px solid var(--divider);font-family:inherit}.day-card__completed-toggle:hover{color:var(--text-strong)}.day-card__list{list-style:none;margin:0;padding:0}.day-card__list li{margin:0;padding:0}.day-card__list li+li{margin-top:12px}.day-card__list--completed .task-item__title{color:var(--text-dim)}.habits-view{flex:0 1 auto;min-height:0;display:flex;flex-direction:column;gap:.75rem;align-self:flex-start;width:100%}.habits-view__drag-overlay{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;background:var(--bg-elev);border-radius:8px;border:1px solid var(--border-strong);color:var(--text-primary);font-size:.9375rem;max-width:280px;box-shadow:var(--shadow-elev)}.habits-view__toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.habits-view__toolbar-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto;flex-wrap:wrap}.habits-view__action-btn--icon{padding:.35rem;border:none;background:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);transition:opacity .15s ease}.habits-view__action-btn--icon:hover{opacity:.85}.habits-view__action-btn--icon img{width:1.25rem;height:1.25rem;object-fit:contain}.habits-view__days-select{min-width:3rem}.habits-view__main{flex:0 0 auto;display:flex;flex-direction:row;align-items:stretch;gap:0;align-self:flex-start;max-width:100%}.habits-view__sidebar-col{flex:0 0 auto;min-width:100px;display:flex;flex-direction:column;background:transparent;align-self:stretch}.habits-view__sidebar-spacer{flex-shrink:0;box-sizing:border-box;background:transparent;border:none}.habits-view__grid-wrap{flex:1 1 auto;min-width:0;overflow:auto;max-width:100%}.habits-view__grid-right{display:flex;flex-direction:column;min-width:min-content}.habits-view__header-stack{position:sticky;top:0;z-index:2;background:var(--bg-app)}.habits-view__month-row,.habits-view__head-row,.habits-view__data-grid{display:grid;min-width:min-content}.habits-view__head-row{background:var(--bg-surface);border-top:1px solid var(--border-strong);border-left:1px solid var(--border-strong)}.habits-view__data-grid{grid-auto-rows:minmax(2.75rem,auto);border-left:1px solid var(--border-strong)}.habits-view__month-cell{background:transparent;border:none;border-right:none;padding:.2rem .25rem .35rem;text-align:center;min-height:1.75rem;display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box}.habits-view__month-label{font-size:.7rem;color:var(--text-muted);text-transform:lowercase;line-height:1.2}.habits-view__head-cell{background:var(--bg-surface);border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border-strong);padding:.35rem .25rem;text-align:center;min-height:2.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;box-sizing:border-box}.habits-view__head-wd{font-size:.7rem;color:var(--text-muted);text-transform:lowercase}.habits-view__head-day{font-size:.9375rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.habits-view__name-row{display:flex;align-items:stretch;border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);min-height:2.75rem;background:transparent}.habits-view__name-row--first{border-top:1px solid var(--border-strong)}.habits-view__name-row--dragging{opacity:.6}.habits-view__name-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.5rem .75rem;background:none;border:none;color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;font-family:inherit}.habits-view__name-btn:hover{background:var(--bg-hover)}.habits-view__name-btn--active{background:var(--accent-soft);color:var(--accent)}.habits-view__name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habits-view__streak{flex-shrink:0;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--success)}.habits-view__stats-popup{width:min(640px,94vw);position:relative}.habits-view__stats-close{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:6px;padding:0;font-family:inherit}.habits-view__stats-close:hover{color:var(--text-primary);background:var(--bg-hover)}.habits-view__stats-title{color:var(--text-primary);font-size:1rem;font-weight:500;margin-bottom:.75rem;overflow-wrap:anywhere}.habits-view__stats-monthbar{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem}.habits-view__stats-monthlabel{color:var(--text-primary);font-size:.9375rem;min-width:9rem;text-align:center;font-variant-numeric:tabular-nums}.habits-view__stats-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:.25rem}.habits-view__stats-wd{text-align:center;font-size:.7rem;color:var(--text-muted);padding:.25rem 0;text-transform:lowercase}.habits-view__stats-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--border-strong);border-left:1px solid var(--border-strong);margin-bottom:.75rem}.habits-view__stats-cell{min-height:3.25rem;padding:.25rem .3rem;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);display:flex;flex-direction:column;gap:.15rem;box-sizing:border-box;background:var(--bg-app);overflow:hidden}.habits-view__stats-cell--empty{background:var(--bg-hover)}.habits-view__stats-cell--today{outline:1px solid var(--accent);outline-offset:-1px}.habits-view__stats-day{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1}.habits-view__stats-val{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;font-size:.8125rem;color:var(--text-primary);text-align:center;overflow:hidden}.habits-view__stats-yesno{width:1rem;height:1rem;object-fit:contain}.habits-view__stats-text{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.habits-view__stats-avg{color:var(--text-muted);font-size:1rem;margin-bottom:.25rem;text-align:center}.habits-view__stats-avg strong{color:var(--text-primary);font-weight:500;font-size:1.0625rem;font-variant-numeric:tabular-nums}.habits-view__reorder-popup{min-width:320px;max-width:480px}.habits-view__reorder-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;max-height:60vh;overflow-y:auto}.habits-view__reorder-row{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;background:var(--bg-surface-4);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-primary);font-size:.9375rem;-webkit-user-select:none;user-select:none}.habits-view__reorder-row--dragging{background:var(--bg-surface-2)}.habits-view__reorder-row--overlay{box-shadow:var(--shadow-elev);cursor:grabbing}.habits-view__reorder-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habits-view__reorder-handle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.2rem .35rem;cursor:grab;opacity:.7;touch-action:none}.habits-view__reorder-handle:active{cursor:grabbing}.habits-view__reorder-handle img{width:.9rem;height:.9rem;object-fit:contain}.habits-view__empty{padding:.75rem 1rem;font-size:.8125rem;color:var(--text-dim)}.habits-view__matrix-cell-wrap{border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);min-height:2.75rem;display:flex;align-items:center;justify-content:center;padding:2px;box-sizing:border-box;background:var(--bg-app)}.habits-view__matrix-cell-wrap--skip{background:var(--bg-app)}.habits-view__head-cell--today{position:relative;border-right-color:var(--accent);border-bottom-color:var(--accent)}.habits-view__head-cell--today-prev{border-right-color:var(--accent)}.habits-view__head-cell--today:before{content:"";position:absolute;top:-1px;left:0;right:-1px;height:1px;background:var(--accent);pointer-events:none;z-index:1}.habits-view__head-row--today-first{border-left-color:var(--accent)}.habits-view__cell{width:100%;height:100%;min-height:2.25rem;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;font-family:inherit}.habits-view__cell--yesno:hover{background:var(--bg-hover)}.habits-view__yesno-icon{width:1.1rem;height:1.1rem;object-fit:contain}.habits-view__cell--input{width:100%;height:100%;min-height:2.25rem;border:none;background:transparent;color:var(--text-primary);text-align:center;font-size:.8125rem;padding:0 2px;border-radius:4px;font-family:inherit}.habits-view__cell--input:focus{outline:none;background:var(--accent-soft)}.habits-view__cell--text{text-align:center;padding:0 .5rem}.habits-view__cell--time{font-size:.75rem}.habits-view__time-pick{font-size:.75rem;color:var(--text-primary)}.habits-view__time-pick:hover{background:var(--bg-hover)}.habits-view__time-24::-webkit-datetime-edit-ampm-field{display:none}.habits-view__time-24{color-scheme:dark}[data-theme=light] .habits-view__time-24{color-scheme:light}.habits-view__modal{max-width:420px}.habits-view__modal .habits-view__time-24{min-height:2.5rem}.habits-view__label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.8125rem;color:var(--text-muted)}.habits-view__type-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.habits-view__type-btn{padding:.45rem .65rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-primary);font-size:.8125rem;cursor:pointer;font-family:inherit}.habits-view__type-btn:hover{border-color:var(--accent);color:var(--accent)}.habits-view__type-btn--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.habits-view__toggle{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;font-size:.875rem;color:var(--text-primary);cursor:pointer}@media(max-width:599px){.habits-view__grid{font-size:.9em}.habits-view__modal{width:calc(100vw - 2rem);max-width:calc(100vw - 2rem);min-width:0;box-sizing:border-box;padding:1rem}.habits-view__modal .habits-view__time-24{width:100%;max-width:100%;min-width:0;box-sizing:border-box}}.board-view{position:relative;flex:1 1 auto;min-height:0;min-width:0;align-self:stretch;width:100%;display:flex;flex-direction:column}.board-view__toolbar-left,.board-view__toolbar-right{position:absolute;top:.5rem;z-index:5;display:flex;align-items:center;gap:.35rem;background:transparent;padding:0;border:none}.board-view__header-toolbar{display:flex;align-items:center;gap:.35rem}.board-view__toolbar-left{left:.5rem}.board-view__toolbar-right{right:.5rem}.board-view__zoom{position:relative}.board-view__zoom-btn{background:var(--bg-elev);border:none;color:var(--text-primary);font-size:.8125rem;padding:.3rem .6rem;border-radius:6px;cursor:pointer;font-family:inherit;min-width:3.5rem;height:2rem;font-variant-numeric:tabular-nums}.board-view__zoom-btn:hover{color:var(--accent)}.board-view__zoom-menu{position:absolute;top:calc(100% + .25rem);left:0;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:6px;padding:.25rem;display:flex;flex-direction:column;min-width:4.5rem;z-index:10;box-shadow:var(--shadow-elev)}.board-view__zoom-option{background:none;border:none;color:var(--text-primary);font-size:.8125rem;padding:.35rem .5rem;cursor:pointer;text-align:left;border-radius:4px;font-family:inherit;font-variant-numeric:tabular-nums}.board-view__zoom-option:hover{background:var(--bg-hover);color:var(--accent)}.board-view__zoom-option--active{color:var(--accent)}.board-view__icon-btn{width:2rem;height:2rem;border:none;background:var(--bg-elev);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;padding:0;transition:background .15s ease}.board-view__icon-btn:hover:not(:disabled){background:var(--border)}.board-view__icon-btn:disabled{opacity:.4;cursor:not-allowed}.board-view__icon-btn--active{background:var(--accent-soft)}.board-view__icon-btn img{width:1.1rem;height:1.1rem;object-fit:contain}.board-view__canvas{position:relative;flex:1 1 auto;min-height:0;min-width:0;overflow:auto;background:var(--bg-app);border:none;cursor:grab}.board-view__canvas--panning{cursor:grabbing}.board-view__world{position:relative;transform-origin:0 0;background:var(--bg-app)}.board-view__guide{position:absolute;background:#f46b6b;pointer-events:none;z-index:6}.board-view__lasso{position:absolute;border:1px solid var(--accent);background:var(--accent-soft);pointer-events:none;z-index:5}.board-view__block{position:absolute;box-sizing:border-box;border:1px solid transparent;background:transparent;color:var(--text-strong);font-size:.9375rem;line-height:1.4;cursor:grab;-webkit-user-select:none;user-select:none;overflow:visible;font-family:inherit;white-space:pre-wrap;touch-action:none;word-break:break-word}.board-view__block--selected{z-index:2}.board-view__block--editing{cursor:text;-webkit-user-select:auto;user-select:auto}.board-view__block-text{width:100%;height:100%;overflow:hidden;white-space:pre-wrap;word-break:break-word;pointer-events:none}.board-view__block-placeholder{color:var(--text-faint);font-style:italic}.board-view__block-editor{width:100%;height:100%;background:transparent;border:none;outline:none;color:inherit;font:inherit;padding:0;margin:0;resize:none;font-family:inherit;white-space:pre-wrap;word-break:break-word}.board-view__block-edit-btn{position:absolute;top:.2rem;right:.2rem;width:1.5rem;height:1.5rem;padding:0;background:#111111d9;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:3}.board-view__block-edit-btn:hover{background:#2a2a2ae6}[data-theme=light] .board-view__block-edit-btn{background:#ffffffd9}[data-theme=light] .board-view__block-edit-btn:hover{background:#e6e6e6f2}.board-view__block-edit-btn img{width:.85rem;height:.85rem;object-fit:contain}@media(max-width:499px){.board-view__block-edit-btn--selected:not(.board-view__block-edit-btn--hovered){top:auto;right:0;bottom:100%;margin-bottom:.25rem}}.board-view__block-mobile-resize{position:absolute;right:.2rem;bottom:.2rem;width:1.5rem;height:1.5rem;padding:0;background:#111111d9;border:none;border-radius:4px;cursor:nwse-resize;display:none;align-items:center;justify-content:center;color:var(--text-strong);z-index:5;touch-action:none}.board-view__block-mobile-resize:active{background:#2a2a2ae6}[data-theme=light] .board-view__block-mobile-resize{background:#ffffffd9}[data-theme=light] .board-view__block-mobile-resize:active{background:#e6e6e6f2}.board-view__block-mobile-resize svg{width:.85rem;height:.85rem;pointer-events:none}@media(max-width:499px){.board-view__block-mobile-resize{display:inline-flex}}.board-view__block-resize{position:absolute;z-index:4}.board-view__block-resize--n{top:-4px;left:8px;right:8px;height:8px;cursor:ns-resize}.board-view__block-resize--s{bottom:-4px;left:8px;right:8px;height:8px;cursor:ns-resize}.board-view__block-resize--e{right:-4px;top:8px;bottom:8px;width:8px;cursor:ew-resize}.board-view__block-resize--w{left:-4px;top:8px;bottom:8px;width:8px;cursor:ew-resize}.board-view__block-resize--ne{top:-6px;right:-6px;width:12px;height:12px;cursor:nesw-resize}.board-view__block-resize--nw{top:-6px;left:-6px;width:12px;height:12px;cursor:nwse-resize}.board-view__block-resize--se{bottom:-6px;right:-6px;width:12px;height:12px;cursor:nwse-resize}.board-view__block-resize--sw{bottom:-6px;left:-6px;width:12px;height:12px;cursor:nesw-resize}.board-view__line{border:none;box-sizing:content-box;padding:0;cursor:grab;overflow:visible}.board-view__line.board-view__block--selected{z-index:2}.board-view__line:before{content:"";position:absolute;inset:-4px;cursor:inherit}.board-view__line--h:before{inset:-6px 0}.board-view__line--v:before{inset:0 -6px}.board-view__line-resize{z-index:6}.board-view__line .board-view__block-edit-btn{top:-1.7rem;right:-1.5rem}.board-view__line .board-view__block-resize--n,.board-view__line .board-view__block-resize--s{left:-4px;right:-4px}.board-view__line .board-view__block-resize--e,.board-view__line .board-view__block-resize--w{top:-4px;bottom:-4px}.board-view__styling-popup{min-width:420px;max-width:560px;padding:1.75rem 1.75rem 1.5rem}.board-view__styling-side{position:fixed;top:0;right:0;bottom:0;width:480px;z-index:250;pointer-events:auto}.board-view__styling-popup--side{width:100%;height:100%;min-width:0;max-width:none;background:var(--bg-surface);border-left:1px solid var(--border);padding:1.75rem 1.75rem 1.5rem;overflow-y:auto;box-sizing:border-box}.board-view__styling-align-row{display:flex;align-items:center;gap:.35rem;margin-bottom:.75rem}body.board-styling-side-open .board-view__toolbar-right{right:calc(480px + .5rem)}body.board-styling-side-open .dashboard__refresh{right:calc(480px + 1.5rem)}body.board-styling-side-open .dashboard__edit-project-fab{right:calc(485px + 4rem)}body.board-styling-side-open .dashboard__board-pdf-fab{right:calc(490px + 6.5rem)}body.board-styling-side-open .dashboard.dashboard--board-pdf-only .dashboard__board-pdf-fab{right:calc(485px + 4rem)}.board-view__styling-section-label{color:var(--text-muted);font-size:.8125rem;margin:.75rem 0 .35rem}.board-view__styling-section-label:first-of-type{margin-top:0}.board-view__styling-colors{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.board-view__styling-swatch-wrap{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;box-sizing:border-box;padding:2px;border:1px solid transparent}.board-view__styling-swatch-wrap--selected,.board-view__styling-swatch-wrap:hover{border-color:var(--swatch-color, #5a86ee)}[data-theme=light] .board-view__styling-swatch-wrap[style*="--swatch-color:#ffffff"],[data-theme=light] .board-view__styling-swatch-wrap[style*="--swatch-color: #ffffff"]{--swatch-color: #000000}.board-view__styling-swatch{width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid var(--border-strong);padding:0;cursor:pointer}.board-view__styling-toggle{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;font-size:.875rem;color:var(--text-primary);cursor:pointer}.board-view__styling-paddings{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.board-view__styling-pad{padding:.35rem .55rem;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-primary);font-size:.8125rem;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums}.board-view__styling-pad:hover{border-color:var(--accent);color:var(--accent)}.board-view__styling-pad--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.board-view__styling-size-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.board-view__styling-size-field{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:6px;padding:.2rem .35rem}.board-view__styling-size-label{color:var(--text-muted);font-size:.8125rem;margin:0 .25rem 0 .15rem}.board-view__styling-size-btn{width:1.5rem;height:1.5rem;border:none;background:var(--border);color:var(--text-primary);border-radius:4px;cursor:pointer;font-family:inherit;font-size:.95rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.board-view__styling-size-btn:hover{background:var(--border-strong);color:var(--accent)}.board-view__styling-size-input{width:3.25rem;background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:.15rem .25rem;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.board-view__styling-size-input:focus{outline:none;color:var(--accent)}.board-view__styling-size-input::-webkit-outer-spin-button,.board-view__styling-size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.board-view__styling-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.board-view__styling-delete{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .75rem;background:none;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.875rem}.board-view__styling-delete:hover{border-color:var(--danger);color:var(--danger)}.board-view__styling-delete img{width:1rem;height:1rem;object-fit:contain}.board-view__styling-actions .dashboard__settings-submit{flex:1;margin:0}.board-view__offline-bar{position:fixed;left:1.5rem;bottom:1.5rem;z-index:10;display:flex;align-items:center;gap:.5rem}@media(min-width:600px){.dashboard--menu-open .board-view__offline-bar{left:calc(var(--sidebar-width, 220px) + 18px + 1.5rem - 15px)}}.board-view__offline-toggle{width:2.5rem;height:2.5rem;border:none;background:var(--bg-elev);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s ease;flex:0 0 auto}.board-view__offline-toggle:hover{background:var(--border)}.board-view__offline-toggle img{width:1.25rem;height:1.25rem;object-fit:contain}.board-view__sync-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-elev);border:none;color:var(--text-dim);font-family:inherit;font-size:.8125rem;padding:.4rem 1rem;border-radius:999px;cursor:pointer;height:2rem;transition:background .15s ease,color .15s ease}.board-view__sync-btn:hover:not(:disabled){color:var(--accent)}.board-view__sync-btn:disabled{opacity:.75;cursor:default}.board-view__sync-spinner{width:.85rem;height:.85rem;border:2px solid var(--text-faint);border-top-color:var(--accent);border-radius:50%;animation:board-view-spin .8s linear infinite;display:inline-block}@keyframes board-view-spin{to{transform:rotate(360deg)}}.board-view__context-menu{position:fixed;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:6px;padding:.25rem;min-width:10rem;z-index:100;box-shadow:var(--shadow-elev);display:flex;flex-direction:column}.board-view__context-item{background:none;border:none;color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:.45rem .65rem;text-align:left;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.5rem}.board-view__context-item:hover{background:var(--bg-hover);color:var(--accent)}.board-view__context-item--danger:hover{color:var(--danger)}.board-view__context-icon{width:1rem;height:1rem;flex:0 0 auto;color:inherit}.goal-plan-vis__popup{min-width:320px;max-width:380px;padding:1rem 1.25rem 1.1rem;border-radius:10px;border:1px solid var(--border)}.goal-plan-vis__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;cursor:pointer;color:var(--text-primary);font-size:.9375rem;font-family:inherit}.goal-plan-vis__row--indent{padding-left:1rem;color:var(--text-secondary)}.goal-plan-vis__group{border-left:1px solid var(--border);margin:.2rem 0 .3rem .4rem;padding-left:.6rem;transition:opacity .18s ease}.goal-plan-vis__group--muted{opacity:.45}.goal-plan-vis__sep{height:1px;background:var(--divider);margin:.55rem 0}.goal-plan-vis__label{flex:1;line-height:1.3}.goal-plan-vis__switch{position:relative;width:36px;height:20px;flex:0 0 auto;display:inline-block}.goal-plan-vis__switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.goal-plan-vis__switch-track{position:absolute;inset:0;background:var(--border-strong);border-radius:999px;transition:background .16s ease;pointer-events:none}.goal-plan-vis__switch--on .goal-plan-vis__switch-track{background:var(--accent)}.goal-plan-vis__switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-strong);border-radius:50%;transition:transform .16s ease,background .16s ease;pointer-events:none;box-shadow:0 1px 2px #0003}.goal-plan-vis__switch--on .goal-plan-vis__switch-thumb{transform:translate(16px);background:var(--text-on-accent)}.goal-plan{width:100%;font-family:Gilroy Task,Gilroy,sans-serif;font-weight:var(--task-font-weight, 500);color:var(--text-primary);touch-action:manipulation}.goal-plan *{font-weight:inherit}.goal-plan__layout{display:flex;gap:0;align-items:stretch;min-height:calc(100vh - 96px)}.goal-plan__sidebar{flex:0 0 320px;background:var(--bg-surface-2);margin:0 0 4px 4px;padding:0;align-self:stretch;border-radius:6px;position:relative}.goal-plan__resize-handle{position:absolute;top:0;right:-10px;width:12px;height:100%;cursor:ew-resize;z-index:5}.goal-plan__resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:transparent;border-radius:2px;transition:background .15s ease}@media(hover:hover){.goal-plan__resize-handle:hover:after,.goal-plan__resize-handle:active:after{background:var(--accent)}}.goal-plan__sidebar-inner{padding:12px 16px 16px;display:flex;flex-direction:column;gap:0}@media(max-width:899px){.goal-plan__layout{flex-direction:column;min-height:auto}.goal-plan__sidebar{flex:0 0 auto;margin:0 0 12px}.goal-plan__sidebar-inner{padding:12px 16px 16px}}.goal-plan__days{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;align-items:start;padding:4px 4px 0 20px}.goal-plan__days--stack{grid-template-columns:minmax(0,1fr);padding:16px 0 0;gap:24px}.goal-plan__section{display:flex;flex-direction:column;padding:6px 0 0}.goal-plan__section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}.goal-plan__section-title{font-size:calc(14px * var(--task-font-scale, 1));color:var(--text-dim);letter-spacing:.01em;flex:1;min-width:0}.goal-plan__section-head-tools{display:inline-flex;align-items:center;gap:2px;opacity:0;pointer-events:none;transition:opacity .12s ease}@media(hover:hover){.goal-plan__section-head:hover .goal-plan__section-head-tools{opacity:1;pointer-events:auto}}.goal-plan__section-head.is-touch-active .goal-plan__section-head-tools{opacity:1;pointer-events:auto}.goal-plan__section-toggle{width:22px;height:22px;background:transparent;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);cursor:pointer;transition:color .15s ease}.goal-plan__section-toggle:hover{color:var(--accent)}.goal-plan__chevron-svg{transition:transform .15s ease}.goal-plan__chevron-svg--collapsed{transform:rotate(-90deg)}.goal-plan__section-divider{height:1px;background:var(--divider);margin:8px 0 0}.goal-plan__section:last-child .goal-plan__section-divider{display:none}.goal-plan__rows{display:flex;flex-direction:column;gap:0;padding:2px 0 6px}.goal-plan__tree{display:flex;flex-direction:column}.goal-plan__tree--day{position:relative}.goal-plan__tree--day.goal-plan__tree--top-gap{margin-top:40px}.goal-plan__subtasks{margin-left:22px;display:flex;flex-direction:column;gap:0;padding:0 0 2px}.goal-plan__row{display:flex;align-items:flex-start;gap:6px;border-radius:6px;padding:4px 0;position:relative;min-height:28px}.goal-plan__row:hover,.goal-plan__row.is-touch-active{background:var(--bg-elev-2)}.goal-plan__day .goal-plan__row:hover,.goal-plan__day .goal-plan__row.is-touch-active{background:var(--bg-hover)}.goal-plan__row--dragging{background:var(--bg-hover-strong)}.goal-plan__row--done .goal-plan__inline-text,.goal-plan__row--done .goal-plan__input{color:var(--text-muted)!important;text-decoration:line-through}.goal-plan__row-actions{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:2px;padding:3px 4px;background:var(--bg-elev-2);border-radius:6px;z-index:5;opacity:0;pointer-events:none;transition:opacity .12s ease}.goal-plan__day .goal-plan__row-actions{background:var(--bg-surface-3)}@media(hover:hover){.goal-plan__row:hover .goal-plan__row-actions{opacity:1;pointer-events:auto}}.goal-plan__row.is-touch-active .goal-plan__row-actions,.goal-plan__row:focus-within .goal-plan__row-actions{opacity:1;pointer-events:auto}.goal-plan:has(textarea:focus) .goal-plan__row-actions,.goal-plan:has(textarea:focus) .goal-plan__section-head-tools,.goal-plan:has(textarea:focus) .goal-plan__color-btn--note{opacity:0!important;pointer-events:none!important}.goal-plan__subtask-toggle{width:18px;height:18px;background:transparent;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;flex:0 0 18px;transition:color .12s ease}.goal-plan__subtask-toggle:hover{color:var(--accent)}.goal-plan__check-subtask-hint{display:inline-flex;flex-direction:column;gap:2px;align-items:stretch;width:9px}.goal-plan__check-subtask-hint span{display:block;width:100%;height:1px;background:#ffffff4d;border-radius:1px}[data-theme=light] .goal-plan__check-subtask-hint span{background:#0000004d}.goal-plan__check{flex:0 0 16px;width:16px;height:16px;border-radius:4px;border:none;background:var(--border);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--bg-surface-2);transition:background .12s;margin-top:3px}@media(hover:none){.goal-plan__check{margin-top:1px}}.goal-plan__check:hover{background:var(--border-strong)}.goal-plan__check--done,.goal-plan__check--done:hover{background:var(--success);color:var(--bg-surface-2)}.goal-plan__row-text{flex:1 1 auto;min-width:0;width:100%}.goal-plan__inline{width:100%;text-align:left;background:transparent;border:none;color:var(--text-primary);padding:2px 2px 2px 0;cursor:text;font:inherit;font-size:calc(14px * var(--task-font-scale, 1));line-height:1.35;white-space:pre-wrap;word-break:break-word;display:block}.goal-plan__inline-text{display:inline}.goal-plan__inline-placeholder{color:var(--text-faint)}.goal-plan__input{width:100%;box-sizing:border-box;background:transparent;border:none;color:var(--text-strong);padding:2px 2px 2px 0;font:inherit;font-size:calc(14px * var(--task-font-scale, 1));line-height:1.35;outline:none;resize:none;overflow:hidden;display:block;word-break:break-word;white-space:pre-wrap;font-family:inherit}.goal-plan__input::placeholder{color:var(--text-faint)}.goal-plan__row-delete,.goal-plan__row-icon-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:0 2px;line-height:0;border-radius:4px;transition:color .12s;display:inline-flex;align-items:center;justify-content:center;height:22px}.goal-plan__row-delete img{width:16px;height:16px;object-fit:contain;display:block}.goal-plan__row-plus{display:inline-flex}.goal-plan__row-plus img{width:14px;height:14px;object-fit:contain}.goal-plan__row-gap-btn{color:var(--text-secondary)}.goal-plan__row-gap-btn:hover{color:var(--accent);background:var(--bg-hover)}.goal-plan__row-gap-btn--active,.goal-plan__row-gap-btn--active:hover{color:var(--accent)}.goal-plan__handle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:22px;background:transparent;border:none;padding:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto}.goal-plan__handle img{width:16px;height:16px;object-fit:contain;pointer-events:none}.goal-plan__handle:active{cursor:grabbing}.goal-plan__empty{font-size:calc(13px * var(--task-font-scale, 1));color:var(--text-faint);padding:6px 0;cursor:pointer}.goal-plan__plus-btn{background:transparent;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;transition:background .12s}.goal-plan__plus-btn img{width:16px;height:16px;object-fit:contain}.goal-plan__color-wrap{position:relative;display:inline-flex;align-items:center}.goal-plan__color-btn{width:12px;height:12px;border-radius:50%;border:none;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px #0003}.goal-plan__color-picker{position:absolute;right:0;top:calc(100% + 4px);z-index:60;display:flex;flex-wrap:wrap;gap:4px;background:var(--bg-elev);padding:6px;border-radius:8px;box-shadow:var(--shadow-elev);width:132px}.goal-plan__color-dot{width:18px;height:18px;border-radius:50%;border:none;padding:2px;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s}.goal-plan__color-dot span{display:block;width:100%;height:100%;border-radius:50%}.goal-plan__color-dot:hover{background:var(--bg-hover)}.goal-plan__color-dot--selected{background:var(--accent-soft)}.goal-plan__date-wrap{position:relative;display:inline-flex;align-items:center}.goal-plan__date-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:0 4px;height:22px;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:color .12s,background .12s}.goal-plan__date-btn img{width:16px;height:16px;object-fit:contain;display:block}.goal-plan__date-btn:hover{background:var(--bg-hover)}.goal-plan__date-label{font-size:12px;color:var(--accent);line-height:1;white-space:nowrap}.goal-plan__date-btn--set .goal-plan__date-label{color:var(--accent)}.goal-plan__calendar-backdrop{position:fixed;inset:0;z-index:70;background:transparent}.goal-plan__calendar-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:71;background:var(--bg-elev);border-radius:8px;box-shadow:var(--shadow-elev);overflow:hidden;display:flex;flex-direction:column;min-width:232px}.goal-plan__date-clear{background:transparent;border:none;color:var(--danger);cursor:pointer;font:inherit;font-size:12px;padding:8px 12px;border-top:1px solid var(--border);text-align:center;transition:background .12s}.goal-plan__date-clear:hover{background:var(--danger-soft)}.goal-plan__day{display:flex;flex-direction:column;background:transparent;padding:4px 4px 0 0;gap:2px}.goal-plan__day-head{display:flex;flex-direction:column;gap:6px;padding:4px 2px 2px 0}.goal-plan__day-head-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.goal-plan__day-title{margin:0;font-size:calc(14px * var(--task-font-scale, 1));color:var(--text-dim);flex:1;min-width:0}.goal-plan__day-progress{width:100%;height:4px;background:var(--border-muted);border-radius:3px;overflow:hidden}.goal-plan__day-progress-bar{height:100%;background:var(--success);transition:width .2s ease}.goal-plan__day-note-row{position:relative;display:flex;align-items:flex-start;gap:6px;padding:0}.goal-plan__day-note{width:100%;box-sizing:border-box;background:transparent;border:none;color:var(--text-strong);padding:4px 0;font:inherit;font-size:calc(13px * var(--task-font-scale, 1));line-height:1.4;resize:none;outline:none;font-style:normal;overflow:hidden;display:block}.goal-plan__day-note::placeholder{color:transparent;font-style:normal;transition:color .12s ease}.goal-plan__day-note:focus{color:var(--text-strong);background:var(--bg-hover)}@media(hover:hover){.goal-plan__day-note-row:hover .goal-plan__day-note::placeholder{color:var(--text-faint)}}.goal-plan__day-note-row.is-touch-active .goal-plan__day-note::placeholder,.goal-plan__day-note:focus::placeholder{color:var(--text-faint)}.goal-plan__day-note--start,.goal-plan__day-note--end{padding-left:0}.goal-plan__color-btn--note{margin-top:8px;flex:0 0 12px;opacity:0;pointer-events:none;transition:opacity .12s}@media(hover:hover){.goal-plan__day-note-row:hover .goal-plan__color-btn--note{opacity:1;pointer-events:auto}}.goal-plan__day-note-row.is-touch-active .goal-plan__color-btn--note,.goal-plan__color-wrap--note:focus-within .goal-plan__color-btn--note{opacity:1;pointer-events:auto}.goal-plan__color-wrap--note .goal-plan__color-picker{right:0;top:calc(100% + 4px)}.goal-plan__day-tasks{display:flex;flex-direction:column;gap:0;margin:2px 0;position:relative}.goal-plan__ctxmenu-backdrop{position:fixed;inset:0;z-index:200}.goal-plan__ctxmenu{position:fixed;z-index:201;background:var(--bg-elev);border-radius:8px;padding:.25rem 0;min-width:180px;box-shadow:var(--shadow-elev);font-family:Gilroy Task,Gilroy,sans-serif;font-weight:var(--task-font-weight, 500)}.goal-plan__ctxmenu-colors{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .75rem .4rem;max-width:220px}.goal-plan__ctxmenu-color-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px;border-radius:50%;border:1px solid transparent;box-sizing:content-box}.goal-plan__ctxmenu-color-wrap:hover,.goal-plan__ctxmenu-color-wrap--selected{border-color:var(--swatch-color)}.goal-plan__ctxmenu-color{width:1rem;height:1rem;border-radius:50%;border:none;padding:0;cursor:pointer;flex-shrink:0;display:block}.goal-plan__ctxmenu-separator{height:1px;background:var(--divider);margin:.2rem .75rem}.goal-plan__ctxmenu-item{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;color:var(--text-primary);padding:.5rem .75rem;font-size:calc(.9375rem * var(--task-font-scale, 1));cursor:pointer;font-family:inherit;font-weight:inherit}.goal-plan__ctxmenu-item--danger{color:var(--danger)}.goal-plan__ctxmenu-icon{width:1.1rem;height:1.1rem;object-fit:contain}.goal-plan__ctxmenu-item:hover{background:var(--bg-hover-strong)}.goal-plan__drag-overlay{background:var(--bg-elev);color:var(--text-strong);padding:6px 10px;border-radius:6px;font-size:calc(14px * var(--task-font-scale, 1));box-shadow:var(--shadow-elev);max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .goal-plan [style*="background:#ffffff"],[data-theme=light] .goal-plan [style*="background: #ffffff"],[data-theme=light] .goal-plan [style*="background-color:#ffffff"],[data-theme=light] .goal-plan [style*="background-color: #ffffff"],[data-theme=light] .goal-plan [style*="background: rgb(255, 255, 255)"],[data-theme=light] .goal-plan [style*="background:rgb(255, 255, 255)"],[data-theme=light] .goal-plan [style*="background-color: rgb(255, 255, 255)"],[data-theme=light] .goal-plan [style*="background-color:rgb(255, 255, 255)"]{background-color:#000!important;box-shadow:none}.no-date-list{margin-top:1.5rem}.no-date-list__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:0;padding-bottom:0;width:100%}.no-date-list__header-line{margin-top:.5rem;margin-bottom:.5rem;width:100%;border-bottom:1px solid var(--divider)}.no-date-list__title-btn{flex:1;font-size:.9375rem;font-weight:400;color:var(--text-dim);padding:0;margin:0;border:none;background:none;cursor:pointer;text-align:left;font-family:inherit}.no-date-list__title-btn:hover{color:var(--text-strong)}.no-date-list__title{flex:1;font-size:.9375rem;font-weight:400;color:var(--text-dim);margin:0;padding:0;text-align:left;font-family:inherit}.no-date-list__header-actions{display:flex;align-items:center;gap:.25rem}.no-date-list__icon-btn{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer}.no-date-list__icon-btn img{width:1.25rem;height:1.25rem;object-fit:contain}@media(min-width:501px){.no-date-list__icon-btn--plus{opacity:0;transition:opacity .15s ease}.no-date-list__header:hover .no-date-list__icon-btn--plus{opacity:1}}.no-date-list__body{margin-top:.5rem}.no-date-list__delete-project{background:none;border:none;color:var(--text-dim);font-size:.8125rem;cursor:pointer;padding:.25rem 0;font-family:inherit}.no-date-list__delete-project:hover{color:var(--accent)}.no-date-list__completed-toggle{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-dim);font-size:.8125rem;cursor:pointer;padding:.5rem 0 .35rem;margin-top:.75rem;margin-bottom:.35rem;border-bottom:1px solid var(--divider);font-family:inherit}.no-date-list__completed-toggle:hover{color:var(--text-strong)}.no-date-list__list{list-style:none;margin:0;padding:0}.no-date-list__list li{margin:0;padding:0}.no-date-list__list li+li{margin-top:12px}.no-date-list__list--completed .task-item__title{color:var(--text-dim)}.dashboard__settings-overlay.board-pdf-modal-overlay{align-items:flex-start;justify-content:center;padding:min(4vh,2rem) 1rem;box-sizing:border-box;overflow-y:auto}.board-pdf-modal{width:min(96vw,1180px);max-width:none;max-height:none;margin-bottom:1rem}.board-pdf-modal__toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin:.65rem 0 1rem;align-items:center}.board-pdf-modal__field{display:flex;align-items:center;gap:.55rem}.board-pdf-modal__field-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.board-pdf-modal__segmented{display:inline-flex;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.board-pdf-modal__segmented-btn{appearance:none;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.875rem;font-weight:500;padding:.4rem 1.05rem;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease;white-space:nowrap}.board-pdf-modal__segmented-btn:hover:not(:disabled):not(.board-pdf-modal__segmented-btn--active){color:var(--text-strong);background:var(--bg-hover)}.board-pdf-modal__segmented-btn--active{background:var(--accent);color:var(--text-on-accent);box-shadow:0 1px 6px var(--accent-glow)}.board-pdf-modal__segmented-btn:disabled{opacity:.5;cursor:default}.board-pdf-modal__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1rem 1.5rem;margin:.25rem 0 1rem;align-items:start}@media(max-width:840px){.board-pdf-modal__layout{grid-template-columns:1fr}}.board-pdf-modal__col{min-width:0}.board-pdf-modal__hint{margin:.5rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--text-secondary)}.board-pdf-modal__section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem}.board-pdf-modal__crop-frame{position:relative;width:100%;max-height:min(58vh,600px);background:var(--bg-surface-2);border-radius:8px;overflow:hidden;border:1px solid var(--border-strong);touch-action:none}.board-pdf-modal__crop-img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.board-pdf-modal__strip-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.875rem}.board-pdf-modal__crop-dim{position:absolute;background:#0009;pointer-events:none}.board-pdf-modal__crop-dim--top{top:0;left:0;right:0}.board-pdf-modal__crop-dim--bottom{bottom:0;left:0;right:0}.board-pdf-modal__crop-dim--left{left:0}.board-pdf-modal__crop-dim--right{right:0}.board-pdf-modal__crop-window{position:absolute;box-sizing:border-box;border:1.5px solid var(--accent);cursor:move;touch-action:none;z-index:2;background:transparent}.board-pdf-modal__corner-handle{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;padding:0;margin:0;border:2px solid var(--text-strong);background:var(--accent);border-radius:50%;cursor:nwse-resize;touch-action:none;box-shadow:0 1px 4px #0006}.board-pdf-modal__corner-handle:hover{background:var(--accent);filter:brightness(1.1)}.board-pdf-modal__sheet{width:100%;max-height:min(58vh,600px);background:var(--bg-surface-4);border-radius:8px;border:1px solid var(--border-strong);padding:14px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}.board-pdf-modal__sheet-bleed{position:relative;width:100%;height:100%;background:#fff;overflow:hidden;border-radius:2px;box-shadow:0 1px 8px #00000059}.board-pdf-modal__sheet-img{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none;object-fit:fill}.dashboard{--sidebar-width: 220px;min-height:100vh;background:var(--bg-app);color:var(--text-primary);padding:1rem 1rem 3rem;padding-left:18px;transition:padding-left .36s ease}.dashboard--habits{display:flex;flex-direction:column;box-sizing:border-box}.dashboard--board{display:flex;flex-direction:column;box-sizing:border-box;min-height:100vh}.dashboard__header{margin-bottom:1.25rem}.dashboard__header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.dashboard__top-left{display:flex;align-items:center;gap:.35rem}.dashboard__menu-btn{width:2.25rem;height:2.25rem;background:transparent;border:none;padding:0;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.dashboard__menu-btn img{width:1.25rem;height:1.25rem;object-fit:contain}.dashboard__select{background:var(--bg-elev);border:none;color:var(--text-dim);padding:0 .5rem;font-size:.9375rem;border-radius:6px;cursor:pointer;min-width:2.5rem;height:2.25rem;appearance:none;-webkit-appearance:none;background-image:none;text-align:center;text-align-last:center}.dashboard__select:focus{outline:none}.dashboard__shift-btn{width:2.25rem;height:2.25rem;background:var(--bg-elev);border:none;padding:0;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.dashboard__shift-btn img{width:1rem;height:1rem;object-fit:contain}.dashboard__shift-btn--today .dashboard__shift-today-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);display:block;transition:background .15s ease,transform .1s ease}.dashboard__shift-btn--today .dashboard__shift-today-dot--hover{background:var(--accent)}.dashboard__shift-btn--today:active .dashboard__shift-today-dot{transform:scale(.92)}.dashboard__header-actions,.dashboard__board-header-slot{display:flex;align-items:center;gap:.35rem}.dashboard__board-header-slot:empty{display:none}.dashboard__board-header-slot--left{margin-left:.25rem}.dashboard__board-header-slot--right{margin-right:.25rem}.dashboard__icon-btn{width:2rem;height:2rem;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.dashboard__icon-btn img{width:1.25rem;height:1.25rem;object-fit:contain}.dashboard__days{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:501px){.dashboard__days{flex-direction:row;flex-wrap:nowrap;align-items:flex-start}.dashboard__days .day-card{flex:1;min-width:0}}.dashboard__context-menu-backdrop{position:fixed;inset:0;z-index:200}.dashboard__context-menu{position:fixed;z-index:201;background:var(--bg-elev);border-radius:8px;padding:.25rem 0;min-width:180px;box-shadow:var(--shadow-elev)}.dashboard__context-menu-colors{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem .4rem}.dashboard__context-menu-color-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px;border-radius:50%;border:1px solid transparent;box-sizing:content-box}.dashboard__context-menu-color-wrap:hover,.dashboard__context-menu-color-wrap--selected{border-color:var(--swatch-color)}.dashboard__context-menu-color{width:1rem;height:1rem;border-radius:50%;border:none;padding:0;cursor:pointer;flex-shrink:0;display:block}.dashboard__context-menu-separator{height:1px;background:var(--divider);margin:.2rem .75rem}.dashboard__context-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;color:var(--text-primary);padding:.5rem .75rem;font-size:.9375rem;cursor:pointer;font-family:inherit}.dashboard__context-menu-item--danger{color:var(--danger)}.dashboard__context-menu-item-icon{width:1.1rem;height:1.1rem;object-fit:contain}.dashboard__context-menu-item:hover{background:var(--bg-hover-strong)}.dashboard__settings-overlay{position:fixed;inset:0;background:var(--overlay);z-index:100;display:flex;align-items:center;justify-content:center}.dashboard__settings-popup{background:var(--bg-surface);color:var(--text-primary);padding:1.25rem;min-width:220px}.dashboard__settings-popup--edit-project,.dashboard__settings-popup--new-project{min-width:340px}.dashboard__settings-title{color:var(--text-muted);font-size:.8125rem;margin-bottom:.75rem}.dashboard__confirm-text{color:var(--text-primary);font-size:.9375rem;margin-bottom:.75rem}.dashboard__settings-option{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-muted);padding:.5rem 0;font-size:.9375rem;cursor:pointer;font-family:inherit}.dashboard__settings-option:hover{color:var(--text-strong)}.dashboard__settings-option--active{color:var(--accent)}.dashboard__kind-toggle{position:relative;display:flex;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:8px;padding:3px;margin-bottom:.75rem;isolation:isolate}.dashboard__kind-toggle-indicator{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;transition:transform .25s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:0;box-sizing:border-box}.dashboard__kind-toggle--board .dashboard__kind-toggle-indicator{transform:translate(100%)}.dashboard__kind-toggle-option{flex:1 1 0;position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:transparent;color:var(--text-muted);border:none;padding:.45rem .75rem;font-size:.9375rem;border-radius:6px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:color .2s ease}.dashboard__kind-toggle-option:hover{color:var(--text-primary)}.dashboard__kind-toggle-option--active{color:var(--accent)}.dashboard__kind-toggle-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.dashboard__settings-input{display:block;width:100%;box-sizing:border-box;background:var(--bg-elev);border:1px solid var(--border-strong);color:var(--text-primary);padding:.5rem .75rem;font-size:.9375rem;margin-bottom:.75rem;border-radius:6px;font-family:inherit}.dashboard__settings-input:focus{outline:none;border-color:var(--accent)}.dashboard__settings-submit{display:block;width:100%;background:var(--text-dim);color:var(--text-on-accent);border:none;padding:.5rem .75rem;font-size:.9375rem;border-radius:6px;cursor:pointer;font-family:inherit}.dashboard__settings-submit:hover{background:var(--accent)}.dashboard__settings-edit-actions{display:flex;gap:.5rem;margin-top:.25rem}.dashboard__settings-edit-actions .dashboard__settings-submit{flex:1}.dashboard__settings-delete{flex:1;background:transparent;color:var(--text-dim);border:1px solid var(--border-strong);padding:.5rem .75rem;font-size:.9375rem;border-radius:6px;cursor:pointer;font-family:inherit}.dashboard__settings-delete:hover{color:var(--danger);border-color:var(--danger)}.dashboard__edit-project-fab{position:fixed;bottom:1.5rem;right:calc(4rem + 30px);width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-elev);border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease,transform .2s ease}.dashboard__edit-project-fab:hover{background:var(--bg-surface-2)}.dashboard__edit-project-fab:active{transform:translateY(1px)}.dashboard__edit-project-fab img{width:1.25rem;height:1.25rem;object-fit:contain}.dashboard__board-pdf-fab{position:fixed;bottom:1.5rem;right:calc(6.5rem + 10px);width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-elev);border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease,transform .2s ease}.dashboard__board-pdf-fab:hover{background:var(--bg-surface-2)}.dashboard__board-pdf-fab img{width:1.25rem;height:1.25rem;object-fit:contain}.dashboard__goal-plan-vis-fab{position:fixed;bottom:1.5rem;right:calc(4rem + 5px);width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-elev);border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease,transform .2s ease}.dashboard__goal-plan-vis-fab:hover{background:var(--bg-surface-2)}.dashboard__goal-plan-vis-fab:active{transform:translateY(1px)}.dashboard__goal-plan-vis-fab img{width:1.25rem;height:1.25rem;object-fit:contain}.dashboard--board .dashboard__refresh{right:1.5rem}.dashboard--board .dashboard__edit-project-fab{right:calc(4rem + 5px)}.dashboard--board .dashboard__board-pdf-fab{right:calc(6.5rem + 10px)}.dashboard--board.dashboard--board-pdf-only .dashboard__board-pdf-fab{right:calc(4rem + 5px)}.dashboard__board-pdf-popup{min-width:320px;max-width:420px}.dashboard__board-pdf-options{display:flex;flex-direction:column;gap:.75rem;margin:.5rem 0 1rem}.dashboard__board-pdf-option{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;color:var(--text-primary);font-size:.9375rem;line-height:1.35}.dashboard__board-pdf-option input{margin-top:.2rem;flex-shrink:0}.dashboard__board-pdf-download{width:100%;margin-top:.25rem}.dashboard__refresh{position:fixed;bottom:1.5rem;right:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-elev);border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.dashboard__refresh img{width:1.25rem;height:1.25rem;object-fit:contain}@media(min-width:600px){.dashboard--menu-open{padding-left:calc(var(--sidebar-width, 220px) + 18px)}}.dashboard-menu-overlay{position:fixed;inset:0;background:var(--overlay);z-index:90;display:flex;align-items:stretch}.dashboard-menu{background:var(--bg-surface-2);color:var(--text-primary);padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.dashboard-menu--mobile{animation:dashboardMenuSlideIn .36s ease both}.dashboard-menu--closing{animation:dashboardMenuSlideOut .36s ease both}.dashboard-menu-overlay--closing{animation:dashboardMenuOverlayFadeOut .36s ease both}.dashboard-menu__mobile-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dashboard-menu:not(.dashboard-menu--side){position:relative;padding-top:1rem}.dashboard-menu__close{width:2.75rem;height:2.75rem;border:none;background:none;color:var(--text-dim);font-size:1.5rem;line-height:1;cursor:pointer;padding:0}.dashboard-menu__close:hover{color:var(--accent)}.dashboard-menu--side{position:fixed;left:0;top:0;bottom:0;z-index:90;animation:dashboardMenuSlideIn .36s ease both;padding-bottom:.5rem;box-sizing:border-box}.dashboard-menu--side .dashboard-menu__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding-bottom:.25rem}.dashboard-menu__bottom-tools{display:flex;align-items:center;justify-content:flex-start;gap:0;padding:.5rem .75rem .25rem;flex-shrink:0;border-top:1px solid var(--bg-hover)}.dashboard-menu__bottom-tools .dashboard-menu__add-project+.dashboard-menu__font-btn,.dashboard-menu__bottom-tools .dashboard-menu__add-project+.dashboard-menu__order-btn{margin-left:20px}.dashboard-menu__add-project--in-bottom{position:static;left:auto;bottom:auto;margin:0}.dashboard-menu__bottom-tools .dashboard-menu__add-project{display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:0;line-height:1;transition:color .15s ease,background .15s ease}.dashboard-menu__bottom-tools .dashboard-menu__add-project img{width:1.1rem;height:1.1rem;object-fit:contain}.dashboard-menu__bottom-tools .dashboard-menu__add-project:hover{color:var(--accent);background:var(--bg-hover)}.dashboard-menu__resize-handle{position:absolute;top:0;right:-6px;width:12px;height:100%;cursor:ew-resize;z-index:95;touch-action:none}.dashboard-menu__resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:transparent;border-radius:2px;transition:background .15s ease}@media(hover:hover){.dashboard-menu__resize-handle:hover:after,.dashboard-menu__resize-handle:active:after{background:var(--accent)}}.dashboard-menu__font-btn{width:2rem;height:2rem;border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-dim);transition:color .15s ease,background .15s ease;flex-shrink:0}.dashboard-menu__font-btn:hover{color:var(--accent);background:var(--bg-hover)}.dashboard-menu__font-btn img{width:1.1rem;height:1.1rem;object-fit:contain}.dashboard-menu__order-btn{width:2rem;height:2rem;border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-dim);transition:color .15s ease,background .15s ease;flex-shrink:0}.dashboard-menu__order-btn:hover{color:var(--accent);background:var(--bg-hover)}.dashboard-menu__order-btn img{width:1.1rem;height:1.1rem;object-fit:contain}.dashboard-menu__theme-btn img{width:1.15rem;height:1.15rem}.dashboard-menu__mobile-font-row{display:none}.dashboard__font-popup{max-width:min(520px,calc(100vw - 2rem));min-width:min(400px,calc(100vw - 2rem));width:100%}.dashboard__font-popup .dashboard__settings-edit-actions{margin-top:20px}.dashboard__font-popup__subtitle{margin-top:1rem}.dashboard__font-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.dashboard__font-chip{min-width:4.5rem;padding:.45rem .65rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text-primary);font-size:.875rem;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background .15s ease,color .15s ease}.dashboard__font-chip:hover{border-color:var(--accent);color:var(--accent)}.dashboard__font-chip--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dashboard__font-popup__subtitle+.dashboard__font-options .dashboard__font-chip{min-width:unset;width:1.99375rem;height:1.99375rem;padding:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.25}.dashboard__menu-width-popup{max-width:320px}.dashboard__menu-width-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.25rem}.dashboard__menu-width-value{font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--text-primary);min-width:5.5rem;text-align:center}.dashboard__menu-width-step{width:2.75rem;height:2.75rem;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease,transform .1s ease}.dashboard__menu-width-step:hover{background:var(--accent-soft);border-color:var(--accent)}.dashboard__menu-width-step:active{transform:scale(.96)}.dashboard__menu-width-step-inner{font-size:1.5rem;line-height:1;font-weight:500}.dashboard-menu__project-drag-overlay{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;background:transparent;border-radius:8px;color:var(--text-primary);font-size:.9375rem;max-width:240px}.dashboard-menu__project-drag-overlay img{width:1.1rem;height:1.1rem;flex-shrink:0;object-fit:contain}.dashboard-menu__project-drag-overlay span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-menu--side.dashboard-menu--closing{animation:dashboardMenuSlideOut .36s ease both}@keyframes dashboardMenuSlideIn{0%{transform:translate(-14px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes dashboardMenuSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(-14px);opacity:0}}@keyframes dashboardMenuOverlayFadeOut{0%{opacity:1}to{opacity:0}}@media(max-width:599px){.dashboard-menu--mobile .dashboard-menu__item{font-size:1.0625rem;padding:.62rem .45rem;padding-left:calc(.45rem + 4px);gap:.65rem}.dashboard-menu--mobile .dashboard-menu__item img{width:1.2rem;height:1.2rem}.dashboard-menu--mobile .dashboard-menu__close{width:1.55rem;height:1.55rem;font-size:.95rem}.dashboard-menu--mobile .dashboard-menu__project-drag-handle{padding:.2rem}.dashboard-menu--mobile .dashboard-menu__project-drag-handle img{width:.82rem;height:.82rem}}.dashboard-menu__item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .25rem;padding-left:calc(.25rem + 4px);background:none;border:none;color:var(--text-dim);font-size:.9375rem;cursor:pointer;text-align:left;font-family:inherit;border-radius:8px;transition:background .26s ease,color .26s ease,transform .26s ease}.dashboard-menu__item:hover{color:var(--accent);background:var(--bg-hover)}.dashboard-menu__item:active{transform:translateY(1px)}.dashboard-menu__item img{width:1.1rem;height:1.1rem;object-fit:contain}.dashboard-menu__item--active{color:var(--accent);background:var(--accent-soft)}.dashboard-menu__dirty-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-dim);margin-left:auto;flex:0 0 6px}.dashboard-menu__divider{display:none}.dashboard-menu__add-project{position:absolute;left:.75rem;bottom:.75rem;width:2rem;height:2rem;background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer;padding:0;text-align:center;line-height:1}.dashboard-menu__add-project:hover{color:var(--accent)}.dashboard-menu__add-project-text{display:none}.dashboard-menu__project-row{display:flex;align-items:center;gap:.25rem;width:100%}.dashboard-menu__project-row .dashboard-menu__item{flex:1;min-width:0}.dashboard-menu__project-drag-handle{display:flex;align-items:center;justify-content:center;padding:.25rem;cursor:grab;opacity:0;transition:opacity .15s ease}.dashboard-menu__project-row:hover .dashboard-menu__project-drag-handle{opacity:1}.dashboard-menu__project-drag-handle:active{cursor:grabbing}.dashboard-menu__project-drag-handle img{width:.9rem;height:.9rem;object-fit:contain}.dashboard-menu__project-row--dragging .dashboard-menu__project-drag-handle{opacity:1}.dashboard-menu__order-popup{min-width:320px;max-width:480px}.dashboard-menu__order-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;max-height:60vh;overflow-y:auto}.dashboard-menu__order-row{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;background:var(--bg-surface-4);border-radius:6px;color:var(--text-primary);font-size:.9375rem;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none}.dashboard-menu__order-row:active{cursor:grabbing}.dashboard-menu__order-row--dragging{background:var(--bg-surface-2)}.dashboard-menu__order-row--overlay{box-shadow:var(--shadow-elev);cursor:grabbing}.dashboard-menu__order-icon{width:1.05rem;height:1.05rem;flex-shrink:0;object-fit:contain}.dashboard-menu__order-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-menu__order-handle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.2rem .35rem;opacity:.6;cursor:grab;touch-action:none}.dashboard-menu__order-handle:active{cursor:grabbing}.dashboard-menu__order-handle img{width:.9rem;height:.9rem;object-fit:contain}.dashboard-menu__order-vis{flex-shrink:0;width:1.7rem;height:1.7rem;border-radius:50%;background:transparent;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background .15s ease,opacity .15s ease}.dashboard-menu__order-vis:hover{background:var(--bg-hover)}.dashboard-menu__order-vis img{width:1rem;height:1rem;object-fit:contain}.dashboard-menu__order-vis--off{opacity:.55}.dashboard-menu__order-row--builtin{cursor:default}.dashboard-menu__order-divider{height:1px;background:var(--divider);margin:.25rem 0}@media(max-width:599px){.dashboard-menu.dashboard-menu--mobile{padding-bottom:11rem}.dashboard-menu--mobile .dashboard-menu__add-project{position:fixed;left:50%;bottom:86px;transform:translate(-50%);width:auto;height:auto;font-size:1rem;line-height:1;margin:0;padding:.5rem .9rem;border-radius:999px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--text-dim);transition:background .26s ease,transform .26s ease;z-index:95}.dashboard-menu--mobile .dashboard-menu__add-project:hover{background:var(--bg-hover-strong);color:var(--accent);transform:translate(-50%)}.dashboard-menu--mobile .dashboard-menu__add-project:active{transform:translate(-50%) translateY(1px)}.dashboard-menu--mobile .dashboard-menu__add-project-text{display:inline;font-size:.95rem;color:var(--text-dim)}.dashboard-menu--mobile .dashboard-menu__mobile-font-row{display:flex;justify-content:center;align-items:center;gap:5px;position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:95;padding:0}}
