@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--text-display:20px;--text-primary:14px;--text-secondary:13px;--text-tertiary:12px;--text-dense:12px;--text-dense-meta:11px;--weight-item:400;--weight-medium:500;--weight-title:600;--tracking-title:-.01em;--leading-body:1.45;--leading-tight:1.25;--ink:#1e293b;--ink-strong:#0f172a;--ink-muted:#64748b;--ink-faint:#94a3b8;--surface:#fff;--surface-raised:#f8fafc;--surface-frame:#f7f8fa;--surface-hover:#eff2f6;--surface-selected:#e8ecf2;--hairline:#eef1f5;--line:#e2e8f0;--line-strong:#cbd5e1;--shadow-pop:0 1px 2px #0f172a0f, 0 8px 24px -6px #0f172a29;--shadow-dialog:0 2px 6px #0f172a0f, 0 24px 48px -12px #0f172a47;--event-tint:#eff6ff;--event-accent:#3b82f6;--event-border:#dbeafe;--event-text:#1e3a8a;--task-tint:#f0fdfa;--task-accent:#14b8a6;--task-border:#ccfbf1;--task-text:#115e59;--goal-tint:#f5f3ff;--goal-accent:#8b5cf6;--goal-border:#ede9fe;--goal-text:#5b21b6;--priority-1:#e2e8f0;--priority-2:#cbd5e1;--priority-3:#fbbf24;--priority-4:#fb923c;--priority-5:#f43f5e;--danger:#dc2626;--risk:#e11d48;--risk-bg:#fff1f2;--success:#0f766e;--success-bg:#d1fae5;--warning:#b45309;--warning-bg:#fef3c7;--action:#2563eb;--action-hover:#1d4ed8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--meta-gap:3px;--page-measure:1040px;--radius-control:6px;--radius-panel:8px;--radius-pill:999px;--row-pad-y:8px;--row-pad-x:14px;--progress-h:4px;--progress-track:#eef2f6;--progress-task:#0d9488;--progress-goal:#7c3aed;--sans:"Geist", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font-family:var(--sans);font-size:18px;line-height:var(--leading-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100dvh;display:flex}body{font-size:var(--text-primary);background:var(--surface);color:var(--ink);margin:0}button,input,select,textarea{font-family:inherit}h1,h2,h3{font-weight:var(--weight-title);color:var(--ink-strong)}p{margin:0}code{font-family:var(--mono);background:var(--surface-raised);color:var(--ink-strong);border-radius:4px;padding:1px 4px;font-size:.92em}@supports (appearance:base-select){@media (hover:hover) and (pointer:fine){select{appearance:base-select}::picker(select){appearance:base-select}select{align-items:center;gap:var(--space-2);cursor:pointer}select::picker-icon{content:"";background-color:var(--ink-faint);flex:none;width:12px;height:12px;margin-left:auto;transition:rotate .16s;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}select:hover::picker-icon{background-color:var(--ink-muted)}select:open::picker-icon{background-color:var(--ink-muted)}select:open::picker-icon{rotate:180deg}select:disabled{cursor:default}select:disabled::picker-icon{opacity:.4}::picker(select){box-sizing:border-box;min-width:anchor-size(width);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);max-height:min(320px,60vh);box-shadow:var(--shadow-pop);color:var(--ink);font-size:var(--text-primary);margin-block:4px;padding:4px}option{align-items:center;gap:var(--space-3);font-size:var(--text-primary);color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:4px;padding:6px 8px;display:flex}option:hover,option:focus-visible{background:var(--surface-hover);outline:none}option:checked{font-weight:var(--weight-medium);color:var(--ink-strong)}option::checkmark{font-size:var(--text-secondary);color:var(--ink-muted);order:1;margin-left:auto}option:disabled{color:var(--ink-faint);cursor:default}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){select:open::picker(select){transition:opacity .12s,translate .12s}@starting-style{select:open::picker(select){opacity:0;translate:0 -4px}}}}.tnum{font-variant-numeric:tabular-nums}.surface-page{box-sizing:border-box;width:100%;max-width:var(--page-measure);flex-direction:column;height:100%;min-height:0;margin:0 auto;display:flex}.surface-toolbar,.week-view__toolbar,.inbox-view__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--row-pad-y);flex-shrink:0;display:flex}.surface-toolbar__left,.surface-toolbar__right,.week-view__toolbar-right,.inbox-view__toolbar-left,.inbox-view__toolbar-right{align-items:center;gap:var(--space-2);display:flex}.surface-title,.inbox-view__title{font-size:var(--text-display);font-weight:var(--weight-title);letter-spacing:var(--tracking-title);color:var(--ink-strong);white-space:nowrap;margin:0}.surface-btn,.week-view__toolbar-btn,.inbox-view__reschedule,.surface-select{align-items:center;gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-medium);color:var(--ink);cursor:pointer;padding:7px 12px;line-height:1;display:inline-flex}.surface-btn:hover,.week-view__toolbar-btn:hover:not(:disabled),.inbox-view__reschedule:hover{background:var(--surface-raised);border-color:var(--line-strong)}.surface-select:hover{background-color:var(--surface-raised);border-color:var(--line-strong)}.surface-btn:focus-visible,.surface-select:focus-visible{outline:2px solid var(--action);outline-offset:1px}.surface-btn:disabled{opacity:.5;cursor:not-allowed}.surface-btn--add,.week-view__toolbar-btn--add,.inbox-view__add-btn{border-color:var(--action);background:var(--action);color:var(--surface);padding:7px 14px;box-shadow:0 1px 2px #2563eb4d}.surface-btn--add:hover,.week-view__toolbar-btn--add:hover,.inbox-view__add-btn:hover{background:var(--action-hover);border-color:var(--action-hover)}.surface-plus,.week-view__add-plus,.inbox-view__add-plus{font-size:1.05rem;line-height:1;font-weight:var(--weight-medium)}.surface-divider,.week-view__toolbar-divider,.inbox-view__toolbar-divider{width:1px;margin:0 var(--space-1);background:var(--line);align-self:stretch}.surface-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:calc(100% - 10px);background-repeat:no-repeat;background-size:12px 12px;padding-right:28px}@supports (appearance:base-select){@media (hover:hover) and (pointer:fine){.surface-select{appearance:base-select;background-image:none;padding-right:10px}}}.surface-list{margin:0;padding:0;list-style:none}.surface-row{align-items:center;gap:var(--space-2);padding:var(--row-pad-y) var(--row-pad-x);border-top:1px solid var(--hairline);display:flex}.surface-list>.surface-row:first-child,.surface-row:first-child{border-top:none}.surface-row:hover{background:var(--surface-raised)}.surface-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-primary);font-weight:var(--weight-item);color:var(--ink-strong);flex:1;overflow:hidden}.surface-row__meta{gap:var(--space-1);font-size:var(--text-secondary);color:var(--ink-muted);white-space:nowrap;flex-shrink:0;display:flex;overflow:hidden}.surface-row__meta>span:not(:last-child):after{content:"·";color:var(--priority-2);margin-left:5px}.surface-check{box-sizing:border-box;border:1.5px solid var(--ink-faint);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:16px;height:16px;padding:0;transition:border-color .12s;position:relative}.surface-check--marked{border-color:var(--mark)}.surface-check:hover:not(:disabled):not(.surface-check--marked){border-color:var(--ink-muted)}.surface-check:hover:not(:disabled):after{content:"";border:solid var(--mark,var(--ink-muted));border-width:0 1.5px 1.5px 0;width:3px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-65%)rotate(45deg)}.surface-check:focus-visible,.surface-ring:focus-visible{outline:2px solid var(--action);outline-offset:2px}.surface-check:disabled{opacity:.45;cursor:default}.surface-ring{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0;transition:color .12s;display:flex;position:relative}button.surface-ring:hover{color:var(--ink-muted)}@media (prefers-reduced-motion:reduce){.surface-check,.surface-ring{transition:none}}@media (width<=700px){.surface-check,.surface-ring .goal-ring{width:20px;height:20px}.surface-check:before,.surface-ring:before{content:"";position:absolute;inset:-10px}}.surface-act{border-radius:var(--radius-control);width:24px;height:24px;font-size:var(--text-primary);color:var(--ink-faint);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:400;transition:opacity .12s;display:flex}.surface-row:hover .surface-act,.surface-act:focus-visible,.surface-act[aria-pressed=true]{opacity:1}.surface-act:hover{border-color:var(--line);background:var(--surface);color:var(--ink)}@media (hover:none){.surface-act{opacity:1}}@media (width<=700px){.surface-act{width:40px;height:40px}.surface-toolbar{padding:var(--row-pad-y) var(--row-pad-x)}}.week-view-container{flex-direction:column;height:100%;display:flex;position:relative}.week-view__toolbar-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.week-view__toolbar-group{align-items:center;display:flex}.week-view__toolbar-group .week-view__toolbar-btn{border-radius:0;margin-left:-1px}.week-view__toolbar-group .week-view__toolbar-btn:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control);margin-left:0}.week-view__toolbar-group .week-view__toolbar-btn:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.week-view__title{text-overflow:ellipsis;overflow:hidden}.week-view__toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 2px}.week-view__nav-btn{color:var(--ink-muted);padding:7px 9px}.week-view__toolbar-btn:active{background:var(--surface-hover)}.week-view__toolbar-btn--danger{color:#dc2626;border-color:#dc2626;margin-right:auto}.week-view__toolbar-btn--danger:hover{background:#fef2f2}.week-view{border-top:1px solid var(--hairline);--draw-gutter:16px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.week-view__header{border-bottom:1px solid var(--line);background:var(--surface);z-index:2;box-sizing:border-box;flex-shrink:0;display:flex}.week-view__day-label{text-align:center;padding:var(--space-2) 0;flex-direction:column;flex:1;align-items:center;gap:2px;font-weight:400;display:flex}.week-view__weekday{font-size:var(--text-tertiary);color:var(--ink-muted);font-weight:400}.week-view__date-num{min-width:30px;height:30px;font-size:var(--text-display);color:var(--ink-strong);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:400;line-height:1;display:flex}.week-view__day-label--today .week-view__weekday{color:var(--action)}.week-view__day-label--today .week-view__date-num{color:var(--surface);background:var(--action);border-radius:var(--radius-pill);font-weight:var(--weight-medium)}.week-view__month-label{visibility:hidden}.week-view__all-day-row{box-sizing:border-box;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0;padding-top:4px;display:flex}.week-view__all-day-label{font-size:var(--text-tertiary);color:var(--ink-faint);justify-content:flex-end;align-items:flex-start;padding-right:6px;font-weight:400;display:flex}.week-view__all-day-grid{flex:1;position:relative}.week-view__all-day-event{--block-tint:#fffbeb;--block-accent:#f59e0b;--block-border:#fde68a;--block-text:#92400e;box-sizing:border-box;border-radius:var(--radius-control);height:20px;font-size:var(--text-dense);color:var(--block-text);background:var(--block-tint);border:1px solid var(--block-border);border-left:3px solid var(--block-accent);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;align-items:center;padding:0 8px 0 7px;font-weight:500;line-height:1.3;transition:box-shadow .12s;display:flex;position:absolute;overflow:hidden}.week-view__all-day-event:hover{box-shadow:var(--shadow-pop)}.week-view__all-day-event--free{border-color:var(--block-accent);box-shadow:none;background:#fff}.week-view__body{flex:1;display:flex;overflow:hidden auto}.week-view__gutter{background:var(--surface);z-index:1;flex-shrink:0;width:56px;position:sticky;left:0}.week-view__hour-label{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums;text-align:right;box-sizing:border-box;padding-right:6px;transform:translateY(-.5em)}.week-view__grid{grid-template-columns:repeat(var(--day-count,7), 1fr);flex:1;display:grid}.week-view__column{border-left:1px solid var(--hairline);position:relative}.week-view__hour-cell{border-bottom:1px solid var(--hairline);box-sizing:border-box;z-index:1;background:0 0;position:relative}.week-view__band-layer{pointer-events:none;z-index:0;position:absolute;inset:0}.week-view__band{opacity:.38;position:absolute;left:0;right:0}.week-view__column-content{inset:0 var(--draw-gutter) 0 2px;position:absolute}.week-view__draw-strip{width:var(--draw-gutter);z-index:2;position:absolute;top:0;bottom:0;right:0}.week-view__draw-strip:hover{background:#0f172a0b}.week-view__event,.week-view__task-block{box-sizing:border-box;border-radius:var(--radius-control);font-size:var(--text-dense);line-height:var(--leading-tight);cursor:grab;-webkit-user-select:none;user-select:none;color:var(--block-text);background:var(--block-tint);border:1px solid var(--block-border,transparent);border-left:3px solid var(--block-accent);padding:3px 7px 3px 6px;transition:box-shadow .12s,transform .12s;position:absolute;overflow:hidden;container:block/size}.week-view__event:hover,.week-view__task-block:hover{box-shadow:var(--shadow-pop)}.week-view__event{--block-tint:var(--event-tint);--block-accent:var(--event-accent);--block-border:var(--event-border);--block-text:var(--event-text)}.week-view__event-label{overflow-wrap:break-word;font-weight:500;display:block;overflow:hidden}.week-view__event--detailed .week-view__event-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.week-view__event-meta{font-size:var(--text-dense-meta);opacity:.72;overflow-wrap:anywhere;margin-top:1px;font-weight:400;line-height:1.3;display:block}.week-view__event--imported{cursor:default;border-left-style:dashed}.week-view__column{cursor:crosshair}.week-view__task-block{--block-tint:var(--task-tint);--block-accent:var(--task-accent);--block-border:var(--task-border);--block-text:var(--task-text);align-items:flex-start;gap:6px;display:flex}.week-view__task-block-body{flex:1;min-width:0;overflow:hidden}.week-view__task-block--goal{--block-tint:var(--goal-tint);--block-accent:var(--goal-accent);--block-border:var(--goal-border);--block-text:var(--goal-text)}.week-view__task-block-check{cursor:pointer;z-index:3;appearance:none;border:1.5px solid var(--block-accent);background:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin:1px 0 0;transition:background .12s,border-color .12s;position:relative}.week-view__task-block-check:hover{background:var(--block-border)}.week-view__task-block-check:checked{background:var(--block-accent);border-color:var(--block-accent)}.week-view__task-block-check:checked:after{content:"";border:1.75px solid #fff;border-width:0 1.75px 1.75px 0;width:2.5px;height:5.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-65%)rotate(45deg)}.week-view__task-block-check:focus-visible{outline:2px solid var(--block-accent);outline-offset:1px}.week-view__task-block-label{overflow-wrap:break-word;font-weight:500;display:block}.week-view__task-block--detailed .week-view__task-block-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.week-view__task-block-meta{font-size:var(--text-dense-meta);opacity:.72;overflow-wrap:anywhere;margin-top:1px;font-weight:400;line-height:1.3;display:block}@container block (height<=46px){.week-view__event-label,.week-view__task-block-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@container block (height<=30px){.week-view__event-label,.week-view__task-block-label{-webkit-line-clamp:1;line-clamp:1;overflow-wrap:anywhere}}@container block (height<=14px){.week-view__event-label,.week-view__task-block-label{font-size:var(--text-dense-meta);line-height:1}}.week-view__task-block--pinned{outline:2px solid var(--block-accent);outline-offset:-2px}.week-view__task-block--overdue{outline-offset:-2px;outline:2px solid #f59e0b;box-shadow:0 0 0 2px #f59e0b40}.week-view__task-block--missed{--block-tint:#fef2f2;--block-accent:#ef4444;--block-border:#fecaca;--block-text:#991b1b;outline-offset:-2px;outline:2px solid #f87171}.week-view__task-block--done{--block-tint:#f8fafc;--block-border:#e2e8f0;--block-text:#94a3b8;box-shadow:none;opacity:.85}.week-view__task-block--done .week-view__task-block-label{font-weight:400;text-decoration:line-through;text-decoration-thickness:1.5px}.week-view__task-block--done .week-view__task-block-check:checked{background:var(--block-accent);border-color:var(--block-accent)}.week-view__block-handle{cursor:ns-resize;z-index:2;height:6px;position:absolute;left:0;right:0}.week-view__block-handle--top{top:0}.week-view__block-handle--bottom{bottom:0}@keyframes week-view-settle{0%{opacity:0;transform:translateY(7px)scale(.985)}to{opacity:1;transform:none}}.week-view__task-block--settling{animation:.3s cubic-bezier(.2,.7,.3,1) both week-view-settle}.week-view__task-block--settling.week-view__block--dragging{animation:none}@media (prefers-reduced-motion:reduce){.week-view__task-block--settling{animation:none}}.week-view__block--dragging{opacity:.55;cursor:grabbing;box-shadow:0 6px 16px #0f172a4d}@media (width<=700px){.week-view--single-day .week-view__block--dragging{opacity:.9;transform:scale(1.03);box-shadow:0 10px 24px #0f172a59}}.week-view__block-preview{pointer-events:none;z-index:40;background:#2563eb24;border:2px dashed #1d4ed8;border-radius:7px;position:absolute}.week-view__now-line{pointer-events:none;z-index:6;border-top:2px solid #ef4444;height:0;position:absolute;left:0;right:0}.week-view__now-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-1px;box-shadow:0 0 0 2px #ef444440}.week-view__event--preview{box-shadow:none;pointer-events:none;z-index:40;background:#2563eb33;border:1px dashed #2563eb;left:0;right:0}.week-view__popover-backdrop{z-index:10;visibility:visible;pointer-events:auto;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.week-view__popover{background:#fff;border-radius:10px;flex-direction:column;gap:14px;width:280px;padding:20px;display:flex;box-shadow:0 10px 30px #0003}.week-view__popover-title{font-size:var(--text-primary);color:#222;margin:0;font-weight:500}.week-view__join{border:1px solid var(--event-border);background:var(--event-tint);color:var(--event-text);font-size:var(--text-secondary);text-align:center;border-radius:6px;padding:8px 10px;font-weight:500;text-decoration:none;display:block}.week-view__join:hover{border-color:var(--event-accent)}.week-view__join:focus-visible{outline:2px solid var(--event-accent);outline-offset:2px}.week-view__popover-note{font-size:var(--text-tertiary);color:#6b7280;margin:0}.week-view__event-video{opacity:.75;vertical-align:baseline;margin-right:4px;font-size:.75em}.week-view__meeting-keys{font-size:var(--text-tertiary);grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.week-view__meeting-keys dt{color:#6b7280}.week-view__meeting-keys dd{color:#222;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;margin:0}.week-view__popover-field{font-size:var(--text-secondary);color:#666;flex-direction:column;gap:4px;font-weight:500;display:flex}.week-view__popover-checkbox{font-size:var(--text-secondary);color:#444;cursor:pointer;align-items:center;gap:6px;font-weight:400;display:flex}.week-view__popover-field input,.week-view__popover-field select,.week-view__popover-field textarea{font:inherit;font-size:var(--text-primary);color:var(--ink-strong);border:1px solid var(--line);border-radius:var(--radius-control);background-color:var(--surface);box-sizing:border-box;padding:6px 8px}.week-view__popover-field textarea{resize:vertical;min-height:44px}.week-view__popover-times{gap:12px;display:flex}.week-view__popover-times .week-view__popover-field{flex:1}.week-view__popover-actions{justify-content:flex-end;gap:8px;display:flex}.week-view__task-block-check:disabled{opacity:.45;cursor:default}.week-view__task-block-check:disabled:hover{border-color:inherit;background:inherit;transform:none}@media (width<=700px){.week-view--single-day .week-view__block-handle{height:16px}.week-view--single-day{border:none;border-radius:0}.week-view--single-day .week-view__header{display:none}.week-view--single-day .week-view__gutter{width:46px}.week-view--single-day .week-view__grid{animation:.2s ease-out week-view-day-in}.week-view--single-day .week-view__grid[data-direction="-1"]{animation-name:week-view-day-in-back}}@keyframes week-view-day-in{0%{opacity:.4;transform:translate(9%)}}@keyframes week-view-day-in-back{0%{opacity:.4;transform:translate(-9%)}}@media (prefers-reduced-motion:reduce){.week-view--single-day .week-view__grid,.week-view--single-day .week-view__grid[data-direction="-1"]{animation:none}}.week-view__replan{z-index:6;border:1px solid var(--task-accent);background:var(--task-accent);color:#fff;font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-medium);cursor:pointer;border-radius:999px;padding:9px 16px;position:absolute;bottom:10px;right:10px;box-shadow:0 3px 12px #0f172a38}.week-view__replan:active{background:#0f766e}.week-view__task-block[data-flat]{border-left-width:1px;border-left-color:var(--block-border,transparent)}.week-view__event[data-selected],.week-view__task-block[data-selected]{outline:2px solid var(--action,#2563eb);outline-offset:1px;z-index:40}.phone-header{padding-top:env(safe-area-inset-top,0);background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex}.phone-header__row{grid-template-columns:44px 1fr 44px;align-items:center;min-height:48px;padding:0 4px;display:grid}.phone-header__corner{width:44px;height:44px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.phone-header__corner:active{background:var(--surface-raised)}.phone-header__corner--add{color:var(--ink-strong);font-size:26px;line-height:1}.phone-header__centre{justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.phone-header__step{width:34px;height:40px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:22px;line-height:1}.phone-header__step:active{color:var(--ink-strong)}.phone-header__title{min-width:0;font:inherit;color:var(--ink-strong);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;margin:0;padding:2px 0;display:flex}h1.phone-header__title{cursor:default}.phone-header__title-text{font-size:15px;font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.view-controls__group{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);align-items:center;gap:2px;padding:2px;display:flex}.view-controls__icon-btn{width:28px;height:24px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.view-controls__icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--ink-strong)}.view-controls__icon-btn:disabled{opacity:.4;cursor:not-allowed}.view-controls__icon-btn--on,.view-controls__icon-btn--on:hover:not(:disabled){background:var(--surface-selected);color:var(--ink-strong)}.view-controls__icon-btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.view-controls__zoom-level{text-align:center;min-width:38px;font-size:var(--text-tertiary);color:var(--ink-muted);font-variant-numeric:tabular-nums;font-weight:400}.date-strip{background:var(--surface);grid-template-columns:repeat(5,1fr);align-items:start;padding:2px 4px 6px;display:grid}.date-strip__day{font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-height:44px;padding:2px 0;display:flex}.date-strip__weekday{font-size:var(--text-tertiary);color:var(--ink-faint)}.date-strip__num{width:28px;height:28px;font-size:var(--text-primary);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.date-strip__num--on{background:var(--ink-strong);color:var(--surface);font-weight:var(--weight-medium)}.date-strip__num--today{color:var(--action);font-weight:var(--weight-medium)}.today-button{z-index:6;border:1px solid var(--line);background:var(--surface);color:var(--ink-strong);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-medium);cursor:pointer;border-radius:999px;padding:9px 16px;position:absolute;bottom:10px;left:10px;box-shadow:0 3px 12px #0f172a2e}.today-button:active{background:var(--surface-raised)}.project-color{flex-direction:column;gap:8px;display:flex}.project-color__swatches{flex-wrap:wrap;gap:6px;display:flex}.project-color__swatch{border-radius:var(--radius-pill);cursor:pointer;width:24px;height:24px;box-shadow:none;border:1px solid #0000001f;padding:0;transition:box-shadow .12s}.project-color__swatch:hover{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--line)}.project-color__swatch--on,.project-color__swatch--on:hover{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--ink)}.project-color__swatch:focus-visible{outline:2px solid var(--action,#2563eb);outline-offset:2px}.project-color__swatch--none{background:linear-gradient(to bottom right, transparent calc(50% - 1px), var(--ink-faint) calc(50% - 1px), var(--ink-faint) calc(50% + 1px), transparent calc(50% + 1px)), var(--surface-raised)}.project-color__custom{align-items:center;gap:8px;display:flex}.project-color__custom-label{font-size:var(--text-tertiary);color:var(--ink-muted)}.project-color__input{border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer;background:0 0;width:32px;height:24px;padding:0}.project-color__input::-webkit-color-swatch-wrapper{padding:2px}.project-color__input::-webkit-color-swatch{border:none;border-radius:3px}.project-color__input::-moz-color-swatch{border:none;border-radius:3px}.project-color__hex{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums}.form-head{flex-direction:column;gap:2px;display:flex}.form-head__title,.form-head__details{box-sizing:border-box;border-radius:var(--radius-control);width:calc(100% + 16px);font:inherit;color:var(--ink-strong);background:0 0;border:1px solid #0000;margin:0 -8px;padding:4px 8px}.form-head__title{font-size:var(--text-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-title);line-height:var(--leading-tight)}.form-head__details{resize:none;field-sizing:content;min-height:30px;max-height:160px;font-size:var(--text-primary);line-height:var(--leading-body);color:var(--ink)}.form-head__title::placeholder,.form-head__details::placeholder{color:var(--ink-faint)}.form-head__title:hover,.form-head__details:hover{border-color:var(--line)}.form-head__title:focus,.form-head__details:focus{border-color:var(--action);outline:none;box-shadow:0 0 0 3px #2563eb26}.form-head__title:disabled,.form-head__details:disabled{border-color:#0000}.form-rows{flex-direction:column;gap:6px;display:flex}.form-row{column-gap:var(--space-3);grid-template-columns:104px minmax(0,1fr);align-items:start;display:grid}.form-row__label{font-size:var(--text-secondary);color:var(--ink-muted);padding-top:7px;line-height:18px}.form-row__control{align-items:center;gap:6px var(--space-2);flex-wrap:wrap;min-width:0;min-height:32px;display:flex}.form-row__hint{font-size:var(--text-tertiary);color:var(--ink-muted);grid-column:2;margin:4px 0 2px;line-height:1.4}.form-row__control>.form-hint{flex-basis:100%}.form-row__note{min-width:0;font-size:var(--text-tertiary);color:var(--ink-muted);flex:1;line-height:1.4}.form-unit{font-size:var(--text-secondary);color:var(--ink-muted)}.form-row__control input:not([type=checkbox]):not([type=radio]),.form-row__control select{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-width:0;max-width:100%;height:32px;font:inherit;font-size:var(--text-primary);color:var(--ink-strong);padding:0 8px}.form-row__control input:not([type=checkbox]):not([type=radio]):focus,.form-row__control select:focus{border-color:var(--action);outline:none;box-shadow:0 0 0 3px #2563eb26}.form-row__control input:disabled,.form-row__control select:disabled{color:var(--ink-faint);background:var(--surface-raised)}.form-row__control>select{flex:1 1 0;min-width:84px}.form-row__control>.form-repeat-every{align-items:center;gap:6px var(--space-2);flex-wrap:wrap;flex:100%;min-width:0;display:flex}.form-repeat-every>select{flex:1 1 0;min-width:84px}.form-row__control .form-repeat-every>input[type=number]{width:52px}.form-row__control input[type=number]{width:64px}.form-row__control input[type=time]{width:104px}.form-row__control>.dtp,.form-row__control>.form-wide,.form-row__control>.project-select-row,.form-row__control>.form-segmented{flex:100%;min-width:0}.form-switch{appearance:none;border-radius:var(--radius-pill);background:var(--line-strong);cursor:pointer;flex-shrink:0;width:30px;height:18px;margin:0;transition:background .15s;position:relative}.form-switch:after{content:"";background:var(--surface);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a40}.form-switch:checked{background:var(--ink)}.form-switch:checked:after{transform:translate(12px)}.form-switch:focus-visible{outline:2px solid var(--action);outline-offset:2px}.form-switch:disabled{opacity:.5;cursor:default}.form-chips{flex-wrap:wrap;gap:6px;display:flex}.form-chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);height:28px;font-size:var(--text-secondary);color:var(--ink-faint);cursor:pointer;align-items:center;gap:6px;padding:0 10px 0 8px;display:inline-flex;position:relative}.form-chip input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.form-chip:has(input:checked){border-color:var(--line-strong);background:var(--surface-selected);color:var(--ink-strong)}.form-chip:has(input:focus-visible){outline:2px solid var(--action);outline-offset:1px}.form-chip:hover{border-color:var(--line-strong)}.form-chip__swatch{box-sizing:border-box;background:0 0;border:1px solid #0f172a40;border-radius:50%;flex-shrink:0;width:10px;height:10px}.form-chip:has(input:checked) .form-chip__swatch{background:var(--chip-colour,transparent)}.form-tokens{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.form-token{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);max-width:100%;height:26px;font-size:var(--text-secondary);color:var(--ink);align-items:center;gap:2px;padding:0 2px 0 10px;display:inline-flex}.form-token__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.form-token__remove{width:20px;height:20px;font-size:var(--text-primary);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.form-token__remove:hover{background:var(--surface-hover);color:var(--ink-strong)}.form-section{border-top:1px solid var(--hairline)}.form-section__toggle{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:10px 0 8px;display:flex}.form-section__toggle:focus-visible{outline:2px solid var(--action);outline-offset:2px;border-radius:var(--radius-control)}.form-section__caret:before{content:"›";width:10px;color:var(--ink-muted);transition:transform .15s;display:inline-block}.form-section__toggle[aria-expanded=true] .form-section__caret:before{transform:rotate(90deg)}.form-section__title{font-size:var(--text-secondary);font-weight:var(--weight-medium);color:var(--ink-strong);flex-shrink:0}.form-section__summary{text-align:right;min-width:0;font-size:var(--text-tertiary);color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.form-section__toggle:hover .form-section__summary,.form-section__toggle:hover .form-section__caret:before{color:var(--ink)}.form-section__body{flex-direction:column;gap:6px;padding:2px 0 4px;display:flex}@media (prefers-reduced-motion:reduce){.form-switch,.form-switch:after,.form-section__caret:before{transition:none}}@media (width<=480px){.form-row{column-gap:var(--space-2);grid-template-columns:88px minmax(0,1fr)}}.item-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.item-modal{box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;gap:12px;width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #0f172a40}.item-modal__tabbar{align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--hairline);margin:-6px -20px 0;padding:0 20px;display:flex}.item-modal__tabs{gap:20px;display:flex}.item-modal__tab{font:inherit;font-size:var(--text-primary);font-weight:var(--weight-medium);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 0 10px}.item-modal__tab:hover{color:var(--ink-strong)}.item-modal__tab--active{border-bottom-color:var(--ink-strong);color:var(--ink-strong)}.item-modal__tab:focus-visible{outline:2px solid var(--action);outline-offset:2px}.item-modal__title{font-size:var(--text-display);font-weight:var(--weight-title);color:var(--ink-strong);letter-spacing:-.01em;margin:0}.item-modal__kind{font-size:var(--text-secondary);font-weight:var(--weight-item);color:var(--ink-muted);margin:0}.item-modal__log{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:12px 0 14px}.item-modal__placement{font-size:var(--text-secondary);color:#475569;background:#f1f5f9;border-radius:8px;padding:8px 10px;line-height:1.4}.item-modal__placement-warn{color:#b45309;font-weight:400}.form-field{font-size:var(--text-secondary);color:#475569;flex-direction:column;gap:4px;font-weight:500;display:flex}.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:var(--text-primary);color:#0f172a;box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-weight:400}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.form-select{font:inherit;font-size:var(--text-primary);color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-weight:400}.form-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.form-segmented{background:#f1f5f9;border-radius:9px;gap:4px;padding:3px;display:flex}.form-segmented__btn{font:inherit;font-size:var(--text-secondary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:6px;font-weight:500}.form-segmented__btn--active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0f172a1f}.form-hint.form-hint--muted{color:#64748b}.form-inline-create{gap:6px;display:flex}.form-inline-create input{flex:1;min-width:0}.form-inline-create__add,.form-inline-create__cancel{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-medium);cursor:pointer;border:1px solid #0000;padding:7px 12px}.form-inline-create__add{border-color:var(--action);background:var(--action);color:#fff}.form-inline-create__add:disabled{opacity:.5;cursor:not-allowed}.form-inline-create__cancel{color:var(--ink-muted);background:0 0}.form-inline-create__cancel:hover{color:var(--ink-strong)}.form-checkbox-field{font-size:var(--text-secondary);color:#334155;align-items:center;gap:8px;display:flex}.form-advanced-toggle{color:#2563eb;font-size:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500}.form-hint{font-size:var(--text-tertiary);color:#b45309;margin:0}.item-modal__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.item-modal__btn{color:#334155;font-size:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-weight:500}.item-modal__btn:hover{background:#f8fafc}.item-modal__btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.item-modal__btn--primary:hover{background:#1d4ed8}.item-modal__btn:disabled{opacity:.5;cursor:not-allowed}.item-modal__btn--danger{color:var(--danger);background:0 0;border-color:#0000;margin-right:auto}.item-modal__btn--danger:hover{background:#fef2f2}.item-modal__segmented{border-radius:var(--radius-control);background:var(--surface-hover);flex-shrink:0;gap:2px;margin:1px 0 0 auto;padding:2px;display:inline-flex}.item-modal__segment{font:inherit;font-size:var(--text-secondary);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px}.item-modal__segment:hover{color:var(--ink-strong)}@media (width<=360px){.item-modal__tabs{gap:14px}.item-modal__segment{padding:4px 8px}}.item-modal__segment--active{background:var(--surface);color:var(--ink-strong);box-shadow:0 1px 2px #0f172a1f}.item-modal__segment:focus-visible{outline:2px solid var(--action);outline-offset:2px}.task-picker{gap:var(--space-2);flex-direction:column;display:flex}.task-picker__list{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);max-height:200px;overflow-y:auto}.task-picker__item{align-items:center;gap:var(--space-2);border-top:1px solid var(--hairline);cursor:pointer;padding:7px 10px;display:flex}.task-picker__item:first-child{border-top:none}.task-picker__item:hover{background:var(--surface-raised)}.task-picker__item input[type=radio]{width:14px;height:14px;box-shadow:none;accent-color:var(--action);background:0 0;border:none;border-radius:0;flex-shrink:0;margin:0;padding:0}.task-picker__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-secondary);color:var(--ink);flex:1;font-weight:400;overflow:hidden}.task-picker__meta{font-size:var(--text-tertiary);color:var(--ink-faint);flex-shrink:0}.task-picker__empty{text-align:center;font-size:var(--text-secondary);color:var(--ink-faint);margin:0;padding:14px 10px;font-weight:400}.project-select-row{align-items:center;gap:8px;display:flex}.project-select-row select{flex:1;min-width:0}.project-swatch{border-radius:var(--radius-pill);border:1px solid #0000001f;flex-shrink:0;width:14px;height:14px}.dtp{position:relative}.dtp__trigger{width:100%;font:inherit;font-size:var(--text-primary);color:#94a3b8;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:400;display:flex}.dtp__trigger--set{color:#0f172a}.dtp__trigger:hover{border-color:#cbd5e1}.dtp__trigger:focus-visible{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.dtp__clear{color:#64748b;width:18px;height:18px;font-size:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.dtp__clear:hover{color:#0f172a;background:#f1f5f9}.dtp__popover{z-index:40;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:10px;width:260px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #0f172a2e}.dtp__cal-head{justify-content:space-between;align-items:center;display:flex}.dtp__month{font-size:var(--text-primary);color:#0f172a;font-weight:500}.dtp__nav{color:#475569;font-size:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;width:28px;height:28px;line-height:1}.dtp__nav:hover{color:#0f172a;background:#f1f5f9}.dtp__weekdays,.dtp__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dtp__weekday{text-align:center;font-size:var(--text-tertiary);color:#94a3b8;padding-bottom:2px;font-weight:400}.dtp__day{aspect-ratio:1;font:inherit;font-size:var(--text-secondary);color:#334155;cursor:pointer;background:0 0;border:none;border-radius:7px;font-weight:400}.dtp__day:hover{background:#eff6ff}.dtp__day--outside{color:#cbd5e1}.dtp__day--today{color:#2563eb;font-weight:500;box-shadow:inset 0 0 0 1px #93c5fd}.dtp__day--selected{color:#fff;background:#2563eb;font-weight:500}.dtp__day--selected:hover{background:#1d4ed8}.dtp__time-row{border-top:1px solid #f1f5f9;align-items:center;gap:8px;padding-top:10px;display:flex}.dtp__time-label{font-size:var(--text-secondary);color:#475569;font-weight:500}.dtp__time-input{font:inherit;font-size:var(--text-primary);color:#0f172a;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:7px;flex:1;padding:6px 8px;font-weight:400}.dtp__time-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.dtp__presets{flex-wrap:wrap;gap:5px;display:flex}.dtp__preset{color:#475569;font-size:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;font-weight:500}.dtp__preset:hover{background:#f8fafc;border-color:#cbd5e1}.dtp__preset--active{color:#2563eb;background:#eff6ff;border-color:#2563eb}.dtp__footer{border-top:1px solid #f1f5f9;justify-content:space-between;gap:8px;padding-top:10px;display:flex}.dtp__footer-btn{color:#334155;font-size:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:6px 14px;font-weight:500}.dtp__footer-btn:hover{background:#f8fafc}.dtp__footer-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.dtp__footer-btn--primary:hover{background:#1d4ed8}.log-time{flex-direction:column;gap:8px;display:flex}.log-time__label{font-size:var(--text-secondary);color:var(--ink-muted)}.log-time__presets{gap:6px;display:flex}.log-time__preset{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;flex:1;padding:7px 0}.log-time__preset:hover{border-color:var(--goal-border);background:var(--goal-tint);color:var(--goal-text)}.log-time__custom{gap:6px;display:flex}.log-time__custom input{border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;font:inherit;font-size:var(--text-secondary);color:var(--ink);background:var(--surface);flex:1;padding:7px 9px}.log-time__custom input:focus{border-color:var(--goal-accent);outline:none;box-shadow:0 0 0 3px #8b5cf626}.log-time__go{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-medium);cursor:pointer;background:var(--progress-goal);color:var(--surface);border:1px solid #0000;padding:7px 12px}.log-time__go:disabled{background:var(--goal-border);color:var(--goal-tint);cursor:not-allowed}.log-time__hint{font-size:var(--text-tertiary);color:var(--ink-faint);margin:0}.month-view{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.month-view__toolbar-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.month-view__toolbar-group{align-items:center;display:flex}.month-view__toolbar-group .surface-btn{border-radius:0;margin-left:-1px}.month-view__toolbar-group .surface-btn:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control);margin-left:0}.month-view__toolbar-group .surface-btn:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.month-view__nav-btn{color:var(--ink-muted);padding:7px 9px}.month-view__weekdays{border-top:1px solid var(--hairline);border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.month-view__weekday{font-size:var(--text-tertiary);color:var(--ink-muted);text-align:left;padding:6px 8px;font-weight:400}.month-view__grid{border-left:1px solid var(--hairline);flex-direction:column;flex:1;min-height:0;display:flex}.month-view__weeks{flex-direction:column;height:100%;min-height:0;animation:.16s cubic-bezier(.2,.7,.3,1) both month-arrive;display:flex}.month-view__weeks[data-direction="-1"]{animation-name:month-arrive-back}@keyframes month-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes month-arrive-back{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.month-view__weeks{animation:none}}.month-view__row{border-bottom:1px solid var(--hairline);flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid;position:relative}.month-view__row:last-child{border-bottom:none}.month-view__day{border-right:1px solid var(--hairline);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;min-width:0;padding:3px 4px;display:flex;position:relative}.month-view__day:last-child{border-right:none}.month-view__day--outside{background:var(--surface-raised)}.month-view__day--outside .month-view__date{color:var(--ink-faint)}.month-view__day--selected,.month-view__day--outside.month-view__day--selected{background:#2563eb1a;box-shadow:inset 0 0 0 1px #2563eb59}.month-view__date{min-width:18px;height:18px;font-size:var(--text-dense);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--ink);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:inline-flex}.month-view__day--today .month-view__date{color:#fff;background:var(--action);border-radius:50%}.month-view__more{font-size:var(--text-dense-meta);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:auto;padding:0 3px;font-weight:400}.month-view__more:hover{color:var(--ink-strong);text-decoration:underline}.month-view__lanes{pointer-events:none;grid-template-columns:repeat(7,1fr);grid-auto-rows:21px;align-items:start;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.month-view__chip{pointer-events:auto;min-width:0;height:19px;font-size:var(--text-dense);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;margin:0 3px;padding:0 5px;line-height:1;display:flex}.month-view__chip--bar{background:var(--block-tint,var(--event-tint));border-left:3px solid var(--block-accent,var(--event-accent));color:var(--block-text,var(--event-text))}.month-view__chip--bar:hover{background:var(--block-border,#e0ecfe)}.month-view__chip--bar.month-view__chip--free{box-sizing:border-box;border:1px solid var(--block-accent,var(--event-accent));border-left:3px solid var(--block-accent,var(--event-accent));background:0 0}.month-view__chip--bar.month-view__chip--free:hover{background:var(--surface-raised)}.month-view__chip--from-before{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.month-view__chip--runs-on{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.month-view__chip--timed{color:var(--ink)}.month-view__chip--timed:hover{background:var(--surface-raised)}.month-view__chip-dot{background:var(--block-accent,var(--event-accent));border-radius:50%;flex-shrink:0;width:6px;height:6px}.month-view__chip-time{font-size:var(--text-dense-meta);color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.month-view__chip-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--weight-medium);overflow:hidden}.month-view__chip:focus-visible,.month-view__more:focus-visible{outline:2px solid var(--action);outline-offset:1px}.print-sheet{--heading-mm:12mm;--weekday-row-mm:7mm;--date-row-mm:5mm;--cell-padding-mm:1.5mm;--lane-mm:4.2mm;--block-tint:var(--surface);--block-accent:var(--ink-faint);--block-border:var(--line);--block-text:var(--ink);box-sizing:border-box;background:var(--surface);width:100%;height:100%;color:var(--ink);font:var(--text-secondary) / 1.25 var(--sans);letter-spacing:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;display:flex}.print-sheet__heading{flex:0 0 var(--heading-mm);font-size:var(--text-display);font-weight:var(--weight-medium);letter-spacing:-.2px;color:var(--ink-strong);margin:0}.print-block--event,.print-chip--event,.print-banner--event{--block-tint:var(--event-tint);--block-accent:var(--event-accent);--block-border:var(--event-border);--block-text:var(--event-text)}.print-block--task,.print-chip--task,.print-banner--task{--block-tint:var(--task-tint);--block-accent:var(--task-accent);--block-border:var(--task-border);--block-text:var(--task-text)}.print-block--goal,.print-chip--goal,.print-banner--goal{--block-tint:var(--goal-tint);--block-accent:var(--goal-accent);--block-border:var(--goal-border);--block-text:var(--goal-text)}.print-week{flex-direction:column;flex:1;min-height:0;display:flex}.print-week__head,.print-week__body,.print-week__banners{display:flex}.print-week__gutter{box-sizing:border-box;padding-right:var(--space-1);text-align:right;font-size:var(--text-dense-meta);color:var(--ink-muted);flex:0 0 12mm}.print-week__head{flex:0 0 var(--weekday-row-mm);border-bottom:1px solid var(--ink-faint)}.print-week__day-head{align-items:baseline;gap:var(--space-1);box-sizing:border-box;padding-left:var(--space-1);border-left:1px solid var(--line);flex:1;display:flex}.print-week__weekday{font-size:var(--text-dense-meta);color:var(--ink-muted)}.print-week__date{font-size:var(--text-primary);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--ink-strong)}.print-week__banners{flex:0 0 calc(var(--banner-rows) * var(--lane-mm) + 1mm);border-bottom:1px solid var(--line)}.print-week__banner-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--lane-mm);flex:1;display:grid}.print-banner,.print-chip{align-items:center;gap:var(--space-1);box-sizing:border-box;min-width:0;padding:0 var(--space-1);border:1px solid var(--block-border);border-left:2px solid var(--block-accent);background:var(--block-tint);color:var(--block-text);font-size:var(--text-dense-meta);line-height:calc(var(--lane-mm) - .6mm);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;display:flex;overflow:hidden}.print-banner--free,.print-chip--free{background:var(--surface);border-style:dashed}.print-week__body{flex:1;min-height:0}.print-week__hours{flex-direction:column;display:flex}.print-week__hour{font-variant-numeric:tabular-nums;position:relative;top:-.6mm}.print-week__columns{border-top:1px solid var(--ink-faint);flex:1;display:flex}.print-week__column{border-left:1px solid var(--line);flex:1;position:relative;overflow:hidden}.print-week__column:last-child{border-right:1px solid var(--line)}.print-week__hour-line{border-top:1px solid var(--hairline);position:absolute;left:0;right:0}.print-block{box-sizing:border-box;padding:.3mm var(--space-1);border:1px solid var(--block-border);border-left:2px solid var(--block-accent);background:var(--block-tint);color:var(--block-text);border-radius:2px;position:absolute;overflow:hidden}.print-block__time{font-size:var(--text-dense-meta);font-variant-numeric:tabular-nums;opacity:.75}.print-block__label{font-size:var(--text-dense-meta);font-weight:var(--weight-medium);margin-left:var(--space-1)}.print-month{border-top:1px solid var(--ink-faint);border-left:1px solid var(--line);flex-direction:column;flex:1;min-height:0;display:flex}.print-month__weekdays{flex:0 0 var(--weekday-row-mm);border-bottom:1px solid var(--ink-faint);grid-template-columns:repeat(7,1fr);align-items:center;display:grid}.print-month__weekday{padding-left:var(--space-1);font-size:var(--text-dense-meta);color:var(--ink-muted)}.print-month__row{border-bottom:1px solid var(--line);flex:1;min-height:0;position:relative}.print-month__row:last-child{border-bottom:0}.print-month__cells{grid-template-columns:repeat(7,1fr);height:100%;display:grid}.print-month__cell{box-sizing:border-box;height:var(--date-row-mm);padding:0 var(--space-1);border-right:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex}.print-month__cell--outside .print-month__date{color:var(--ink-faint)}.print-month__date{font-size:var(--text-dense-meta);font-variant-numeric:tabular-nums;color:var(--ink)}.print-month__date mark{color:var(--ink-strong);font-weight:var(--weight-medium);background:0 0}.print-month__more{font-size:var(--text-dense-meta);color:var(--ink-muted);font-variant-numeric:tabular-nums}.print-month__lanes{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--lane-mm);gap:.3mm;padding:0 .4mm;display:grid;position:absolute;bottom:0;left:0;right:0}.print-chip--bar{font-weight:var(--weight-medium)}.print-chip__time{font-variant-numeric:tabular-nums;opacity:.75}.print-chip__label{text-overflow:ellipsis;overflow:hidden}@page{size:landscape;margin:10mm}@media print{body>#root{display:none}}.print-paper{--page-w:297mm;--page-h:210mm;--page-margin:10mm;transform:scale(var(--preview-scale));transform-origin:0 0;box-sizing:border-box;padding:var(--page-margin);background:var(--surface);box-shadow:var(--shadow-pop)}.print-preview{align-items:center;gap:var(--space-4);flex-direction:column;min-width:0;display:flex;overflow:auto}.print-paper-fit{flex:none}@media print{html,body{height:auto;margin:0;overflow:visible}.print-preview{gap:0;padding:0;display:block;overflow:visible}.print-paper-fit{width:auto!important;height:auto!important}.print-paper{box-shadow:none;break-after:page;padding:0;transform:none;width:100%!important;height:calc(var(--page-h) - 2 * var(--page-margin) - 1px)!important}.print-paper[data-last]{break-after:auto}}.view-switch{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.view-switch__btn{font-size:var(--text-secondary);font-weight:var(--weight-medium);color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 12px;line-height:1}.view-switch__btn:hover:not(.view-switch__btn--on){color:var(--ink-strong);background:#fff}.view-switch__btn--on{color:var(--action);background:#fff;box-shadow:0 1px 2px #0f172a1a}.view-switch__btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.print-range{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.print-stepper{gap:var(--space-1);display:flex}.print-count{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-secondary);color:var(--ink-muted);display:flex}.print-group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.print-group legend{margin-bottom:var(--space-2);font-size:var(--text-secondary);color:var(--ink-muted);padding:0}.print-hours{align-items:center;gap:var(--space-2);display:flex}.print-hours__dash{color:var(--ink-faint)}.import-summary__text{font-size:var(--text-secondary);color:#333;margin:0;line-height:1.5}.import-summary__loading .import-summary__text{text-align:center;animation:1.4s ease-in-out infinite import-summary-pulse}@keyframes import-summary-pulse{0%,to{opacity:.5}50%{opacity:1}}
