:root{--text-display:20px;--text-primary:14px;--text-secondary:12px;--text-tertiary:11px;--weight-name:500;--ink:#1f2937;--ink-strong:#0f172a;--ink-muted:#6b7280;--ink-faint:#94a3b8;--surface:#fff;--surface-raised:#f8fafc;--hairline:#eef1f5;--line:#e2e8f0;--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;--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;--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--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}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100vh;display:flex}body{background:var(--surface);color:var(--ink);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.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-name);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-name);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,.surface-select:hover{background:var(--surface-raised)}.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 3px #2563eb59}.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-name)}.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:linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.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-name);color:var(--ink);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-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-group{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.week-view__toolbar-divider{background:#e2e8f0;width:1px;height:20px;margin:0 2px}.week-view__toolbar-group .week-view__toolbar-btn{background:0 0;border-color:#0000}.week-view__toolbar-group .week-view__toolbar-btn:hover:not(:disabled){background:#fff}.week-view__toolbar-group--nav .week-view__toolbar-btn--today{background:#fff;box-shadow:0 1px 2px #0f172a1a}.week-view__nav-btn{font-size:var(--text-primary);color:#64748b;padding:6px 9px;line-height:1}.week-view__toolbar-btn:hover{background:#f5f5f5}.week-view__toolbar-btn:active{background:#ececec}.week-view__toolbar-btn--today{color:#2563eb;border-color:#2563eb}.week-view__toolbar-btn--danger{color:#dc2626;border-color:#dc2626;margin-right:auto}.week-view__toolbar-btn--danger:hover{background:#fef2f2}.week-view{--draw-gutter:16px;border:1px solid #e2e2e2;border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.week-view__header{z-index:2;box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e2e2;flex-shrink:0;display:flex}.week-view__day-label{text-align:center;border-left:1px solid #eee;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:.85rem;font-weight:400;display:flex}.week-view__weekday{font-size:var(--text-tertiary);color:#888;font-weight:400}.week-view__date-num{font-size:var(--text-primary);font-weight:500}.week-view__day-label--today .week-view__date-num{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.week-view__month-label{font-size:var(--text-tertiary);color:#444;justify-content:center;align-items:center;font-weight:400;display:flex}.week-view__all-day-row{box-sizing:border-box;background:#fafafa;border-bottom:1px solid #e2e2e2;flex-shrink:0;padding-top:4px;display:flex}.week-view__all-day-label{font-size:var(--text-tertiary);color:#94a3b8;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;height:20px;font-size:var(--text-secondary);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;border-radius:8px;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;box-shadow:0 1px 2px #0f172a12}.week-view__all-day-event:hover{box-shadow:0 4px 12px #0f172a29}.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{z-index:1;background:#fff;flex-shrink:0;width:56px;position:sticky;left:0}.week-view__hour-label{font-size:var(--text-tertiary);color:#888;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 #eee;position:relative}.week-view__hour-cell{box-sizing:border-box;z-index:1;background:0 0;border-bottom:1px solid #f2f2f2;position:relative}.week-view__band-layer{pointer-events:none;z-index:0;position:absolute;inset:0}.week-view__band{opacity:.55;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;font-size:var(--text-secondary);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);border-radius:8px;padding:3px 8px 3px 7px;line-height:1.35;transition:box-shadow .12s,transform .12s;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0f172a12}.week-view__event:hover,.week-view__task-block:hover{box-shadow:0 4px 12px #0f172a29}.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-tertiary);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;left:0;right:0}.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:4px;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:2px solid #fff;border-width:0 2px 2px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform: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-tertiary);opacity:.72;overflow-wrap:anywhere;margin-top:1px;font-weight:400;line-height:1.3;display:block}.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;left:0;right:0}.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;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:#222;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;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-name);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}.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-name);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}.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-name);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.sync-status{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.sync-status--button{cursor:pointer}.sync-status--button:hover{border-color:var(--line);background:var(--surface-raised,#f8fafc);color:var(--ink)}.sync-status__dot{opacity:.55;background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.sync-status--attention{color:#b45309;background:#fef3c7}.sync-status--attention .sync-status__dot{opacity:1}.sync-status--attention.sync-status--button:hover{color:#b45309;background:#fde68a;border-color:#b45309}@media (width<=900px){.sync-status__label{display:none}}.import-summary__text{color:#333;margin:0;font-size:.85rem;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}}.view-controls__group{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.view-controls__icon-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:30px;height:28px;padding:0;display:inline-flex}.view-controls__icon-btn:hover:not(:disabled){color:#0f172a;background:#fff}.view-controls__icon-btn:disabled{opacity:.4;cursor:not-allowed}.view-controls__icon-btn--on{color:#2563eb;background:#fff;box-shadow:0 1px 2px #0f172a1a}.view-controls__icon-btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.view-controls__zoom-level{text-align:center;min-width:42px;font-size:var(--text-tertiary);color:#6b7280;font-variant-numeric:tabular-nums;font-weight:400}.view-controls__menu-anchor{display:flex;position:relative}.view-controls__menu-backdrop{z-index:5;position:fixed;inset:0}.view-controls__menu{z-index:6;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:2px;min-width:178px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0f172a29}.view-controls__menu--hidden{visibility:hidden;pointer-events:none}.view-controls__menu-item{width:100%;font:inherit;font-size:var(--text-secondary);color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-weight:400;display:block}.view-controls__menu-item:hover{color:#0f172a;background:#f1f5f9}.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-name)}.date-strip__num--today{color:var(--accent);font-weight:var(--weight-name)}.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-name);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(--border)}.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(--border);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}.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:420px;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__tabs{background:#f1f5f9;border-radius:10px;gap:4px;padding:4px;display:flex}.item-modal__tab{font-size:var(--text-primary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px;font-weight:500}.item-modal__tab--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1f}.item-modal__title{font-size:var(--text-display);color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-weight:500}.item-modal__progress{flex-direction:column;gap:6px;display:flex}.item-modal__progress-head{font-size:var(--text-secondary);color:#475569;justify-content:space-between;align-items:center;font-weight:400;display:flex}.item-modal__progress-input-label{align-items:center;gap:5px;display:flex}.item-modal__progress-input{width:52px;font:inherit;font-size:var(--text-secondary);color:#0f172a;box-sizing:border-box;text-align:right;border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-weight:400}.item-modal__progress-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.item-modal__progress-track{background:#e2e8f0;border-radius:5px;height:8px;overflow:hidden}.item-modal__progress-fill{background:linear-gradient(90deg,#14b8a6 0%,#0d9488 100%);border-radius:5px;height:100%;transition:width .15s}.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-dep-list{border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;max-height:132px;display:flex;overflow-y:auto}.form-dep-option{font-size:var(--text-secondary);color:#334155;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-weight:400;display:flex}.form-dep-option:not(:last-child){border-bottom:1px solid #f1f5f9}.form-dep-option:hover{background:#f8fafc}.form-dep-option__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-band-swatch{border:1px solid #0f172a1f;border-radius:4px;flex-shrink:0;width:12px;height:12px}.form-band-swatch--none{background-image:linear-gradient(to top right,#0000 calc(50% - 1px),#cbd5e1 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px))}.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-name);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-field-row{gap:12px;display:flex}.form-field-row .form-field{flex:1}.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-advanced{border:1px dashed #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.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:#dc2626;border-color:#fecaca;margin-right:auto}.item-modal__btn--danger:hover{background:#fef2f2}.item-modal__segmented{background:#f1f5f9;border-radius:9px;gap:2px;padding:3px;display:flex}.item-modal__segment{font:inherit;font-size:var(--text-secondary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:6px 10px;font-weight:500}.item-modal__segment--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1f}.item-modal__segment:focus-visible{outline-offset:1px;outline:2px solid #4f46e5}.item-modal__more{flex-direction:column;gap:12px;display:flex}.item-modal__more-summary{color:var(--accent);font-size:var(--text-primary);cursor:pointer;padding:12px 2px;list-style:none}.item-modal__more-summary::-webkit-details-marker{display:none}.item-modal__more-summary:before{content:"›";width:14px;transition:transform .15s;display:inline-block}.item-modal__more[open]>.item-modal__more-summary:before{transform:rotate(90deg)}.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}.month-view{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.month-view__toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.month-view__toolbar-left,.month-view__toolbar-right{align-items:center;gap:8px;display:flex}.month-view__toolbar-group{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.month-view__nav-btn,.month-view__today-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;line-height:1}.month-view__nav-btn{font-size:var(--text-primary);color:#64748b;padding:6px 9px}.month-view__today-btn{font-size:var(--text-secondary);font-weight:var(--weight-name);color:#333;background:#fff;padding:6px 12px;box-shadow:0 1px 2px #0f172a1a}.month-view__nav-btn:hover{color:var(--ink-strong);background:#fff}.month-view__title{font-size:var(--text-display);font-weight:var(--weight-name);color:var(--ink-strong);white-space:nowrap;margin:0}.month-view__toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 2px}.month-view__add-btn{border:1px solid var(--action);border-radius:var(--radius-control);background:var(--action);color:#fff;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;align-items:center;gap:5px;padding:7px 14px;line-height:1;display:inline-flex;box-shadow:0 1px 3px #2563eb59}.month-view__add-btn:hover{background:var(--action-hover);border-color:var(--action-hover)}.month-view__add-plus{font-size:1.05rem;font-weight:500;line-height:1}.month-view__weekdays{background:var(--surface);border-bottom:1px solid #e2e2e2;flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.month-view__weekday{font-size:var(--text-tertiary);color:#888;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-secondary);font-weight:var(--weight-name);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-tertiary);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-secondary);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-tertiary);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-name);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-name);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-tertiary);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-tertiary);color:var(--ink-muted)}.print-week__date{font-size:var(--text-primary);font-weight:var(--weight-name);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-tertiary);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-tertiary);font-variant-numeric:tabular-nums;opacity:.75}.print-block__label{font-size:var(--text-tertiary);font-weight:var(--weight-name);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-tertiary);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-tertiary);font-variant-numeric:tabular-nums;color:var(--ink)}.print-month__date mark{color:var(--ink-strong);font-weight:var(--weight-name);background:0 0}.print-month__more{font-size:var(--text-tertiary);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-name)}.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)}.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}}.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)}
