/* Complex Work Surfaces: shared geometry; storage and tool behaviour stay owned by each tool. */
@import url('workbench-controls.css?v=1');
.tool-intro-actions .wb-action-options{inset-inline-start:0;inset-inline-end:auto}
.todo-page #view-head{flex-direction:row;align-items:center;flex-wrap:nowrap}.todo-page .view-controls{width:auto}.todo-page .view-controls .workspace-icon{display:none}
.todo-page #statusbar{min-width:0;gap:.5rem;padding-inline:.5rem;white-space:nowrap;font-size:.625rem}.todo-page #save-state{min-width:0;overflow:hidden;text-overflow:ellipsis}.todo-page #statusbar .metrics{flex:none;gap:.5rem;font-size:inherit}
@media(max-width:42rem){.todo-page .view-controls{width:auto;flex-basis:auto}.todo-page .view-controls button{display:flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem}.todo-page .view-controls .workspace-icon{display:block}.todo-page .view-controls button span{display:none}.todo-page #view-title{flex:1;min-width:0}.todo-page #todo-quick-toggle{width:2.75rem}.todo-page #statusbar .metrics .metric{white-space:nowrap}.todo-page .task-actions .danger{display:none}}
@media(max-width:30rem){.graph-page .graph-dock #graph-explore{font-size:0;gap:0;min-width:2.75rem}.graph-dock strong output{margin-inline-start:.5rem}}
.todo-page #todo-toolbar-tools{display:flex;align-items:center;gap:.25rem}.todo-page #todo-more{display:none}.todo-page #todo-toolbar-tools .tb-btn>span{display:none}.todo-page #todo-toolbar-tools .tb-export{width:2rem;padding:0}.todo-add-options-panel .wb-select{min-width:0}
@media(max-width:42rem){.todo-page #toolbar>.tb-sep{display:none}.todo-page #todo-more{display:flex;margin-inline-start:auto;min-width:2.75rem;height:2.75rem}.todo-page #todo-toolbar-tools{display:none;position:fixed;z-index:460;top:3rem;inset-inline-end:.5rem;min-width:13rem;max-width:calc(100vw - 1rem);padding:.375rem;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--raised);box-shadow:var(--shadow-raised)}.todo-page #todo-toolbar-tools.is-open{display:grid}.todo-page #todo-toolbar-tools>.tb-sep{display:none}.todo-page #todo-toolbar-tools .tb-btn{display:flex;align-items:center;justify-content:flex-start;width:100%;height:2.75rem;padding:.5rem;gap:.5rem;font-size:.72rem}.todo-page #todo-toolbar-tools .tb-btn>span{display:inline}.todo-page #toolbar #qa-focus,.todo-page #toolbar #toggle-sidebar{min-width:2.75rem;height:2.75rem}}

/* Spatial Graph: one stage, a compact dock and an optional bounded inspector. */
.graph-page{overflow:hidden;padding-bottom:0!important}
.graph-page .graph-shell{position:relative;height:100svh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.5rem;background:var(--canvas)}
.graph-page.graph-explorer-open .graph-shell{grid-template-columns:minmax(0,1fr) 18rem}
.graph-stage{height:100%;min-height:0;background:radial-gradient(circle,color-mix(in srgb,var(--ink) 14%,transparent) .0625rem,transparent .0625rem),var(--canvas);background-size:1.5rem 1.5rem}
.graph-stage #graph-canvas{height:100%;width:100%;outline-offset:-.2rem!important}
.graph-dock{position:absolute;top:.5rem;inset-inline:.5rem;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;max-width:max-content;padding:.25rem;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);box-shadow:var(--shadow-raised)}
.graph-dock strong{padding:0 .5rem;color:var(--ink);font-size:.7rem;font-weight:600}.graph-dock button{display:flex;align-items:center;justify-content:center;gap:.375rem;min-width:2rem;min-height:2rem;padding:.3rem .5rem;border:0;border-radius:var(--radius-2);background:transparent;color:var(--ink-muted);font-size:.65rem;cursor:pointer}.graph-dock button:hover{background:var(--surface-2);color:var(--ink)}.graph-dock button[aria-expanded=true]{color:var(--primary);background:var(--primary-soft)}.graph-dock output{min-width:2.5rem;font:.6rem var(--font-mono);color:var(--ink-faint);text-align:center}
.graph-hud{top:4rem;left:auto;inset-inline-start:.875rem;gap:.35rem}.graph-hud strong{font-size:.65rem}.graph-hud span{font-size:.58rem;color:var(--ink-faint)}
.graph-legend{left:auto;inset-inline-start:.875rem;bottom:.75rem;color:var(--ink-muted);font-size:.6rem;gap:.75rem}.graph-legend i{background:var(--info);border-radius:.125rem}.graph-legend i.orphan{background:var(--neutral)}
.graph-stage .graph-minimap{position:absolute;inset-inline-end:.625rem;bottom:.625rem;width:10rem;height:6.75rem;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);cursor:crosshair}
.graph-empty{position:absolute;inset:25% 1rem auto;max-width:24rem;margin:auto;text-align:center}.graph-empty[hidden]{display:none}.graph-empty>.workspace-icon{width:2rem;height:2rem;margin:auto;color:var(--info)}.graph-empty h1{margin:1rem 0 .5rem;font-size:1.25rem}.graph-empty p{color:var(--ink-muted);font-size:.75rem;line-height:1.6}.graph-empty a{display:inline-flex;text-decoration:none}
.graph-inspector{min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.graph-inspector[hidden]{display:none}.graph-inspector .panel-head{flex:none;justify-content:space-between}.graph-explorer-body{display:grid;gap:.75rem;align-content:start;overflow-y:auto;min-height:0;padding:.625rem;overscroll-behavior:contain}.graph-explorer-body h3{margin:0 0 .375rem;font-size:.65rem;color:var(--ink-faint);font-weight:500}.graph-toggle{font-size:.65rem;gap:.5rem;min-height:2rem}.graph-toggle input{accent-color:var(--primary);width:1rem;height:1rem}.graph-selection{gap:.45rem;margin:0;padding:.625rem;border-radius:var(--radius-2);background:var(--surface-2)}.graph-selection strong{font-size:.85rem;overflow-wrap:anywhere}.graph-selection small{font-size:.63rem}.graph-selection button{display:flex;align-items:center;justify-content:center;gap:.5rem}.graph-neighbors{gap:.125rem;max-height:20rem;overflow-y:auto}.graph-neighbors>button{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.25rem;padding:.4rem .5rem;border:0;border-radius:var(--radius-2);color:var(--ink-muted);font-size:.7rem}.graph-neighbors>button:hover,.graph-neighbors>button[aria-pressed=true]{background:var(--surface-2);color:var(--ink)}.graph-neighbors>button[aria-pressed=true]{box-shadow:none}.graph-neighbors>button>span{flex:1;min-width:0;overflow-wrap:anywhere;text-align:start}.graph-neighbors small{color:var(--ink-faint);font:.6rem var(--font-mono)}.graph-neighbors .workspace-icon{width:1rem;height:1rem;color:var(--ink-faint)}.graph-hint{color:var(--ink-faint);font-size:.65rem;line-height:1.6;margin:.25rem}
@media(max-width:64rem){.graph-page.graph-explorer-open .graph-shell{grid-template-columns:1fr}.graph-inspector{position:absolute;z-index:30;inset:.5rem .5rem .5rem auto;width:min(20rem,calc(100% - 1rem));box-shadow:var(--shadow-raised)}}
@media(max-width:42rem){.graph-page .graph-shell{padding:.25rem}.graph-dock{inset-inline-start:3rem;inset-inline-end:.25rem;top:.125rem;gap:0}.graph-dock strong{flex-basis:100%;padding:.375rem .5rem}.graph-dock button{min-width:2.75rem;min-height:2.75rem;padding:.25rem}.graph-dock #graph-explore{padding-inline:.375rem}.graph-hud{top:6.5rem;inset-inline-start:.5rem}.graph-hud span{display:none}.graph-stage .graph-minimap{width:7.5rem;height:5rem}.graph-inspector{inset-block:3.5rem .25rem}.graph-neighbors>button,.graph-selection button,.graph-inspector .icon-button{min-height:2.75rem}.graph-inspector .icon-button{min-width:2.75rem}.graph-empty{inset-block-start:32%}}

/* Lending Collection: preserve all repayment and image-reminder operations. */
.ledger-page .ledger-summary{box-shadow:none;margin-bottom:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.ledger-summary article{padding:.75rem .875rem}.ledger-summary strong{font-size:1.125rem;letter-spacing:-.035em;line-height:1.5;white-space:normal;overflow-wrap:anywhere;margin:.2rem 0}.ledger-summary small{font-size:.58rem}
.ledger-toolbar{gap:.5rem;margin-bottom:.75rem}.ledger-toolbar>.field{width:min(24rem,50%)}.ledger-toolbar .segmented{flex:none}
.ledger-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:.75rem;align-items:start}.loan-card{padding:.75rem;overflow:visible}.loan-card>header{grid-template-columns:2rem minmax(0,1fr) auto;gap:.5rem}.loan-avatar{width:2rem;height:2rem;border-color:var(--line);border-radius:var(--radius-2);background:var(--surface-2);color:var(--ink-muted);font-size:.6rem}.loan-card h2{font-size:.8rem}.loan-card header small{font-size:.6rem}.loan-status{padding:.3rem .45rem;border-radius:var(--radius-1);font-size:.56rem;font-weight:500}.loan-status.open{background:transparent;border-color:color-mix(in srgb,var(--info) 40%,var(--line));color:var(--info)}.loan-status.settled{background:transparent;border-color:color-mix(in srgb,var(--success) 40%,var(--line));color:var(--success)}.loan-status.overdue{background:transparent}
.loan-amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem;margin:.75rem 0 .5rem}.loan-amounts span{gap:.3rem;padding:.5rem;border-radius:var(--radius-2);background:var(--surface-2)}.loan-amounts strong{font-size:.72rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.loan-amounts span:last-child strong{color:var(--ink)}.loan-progress{height:.3125rem;border-radius:var(--radius-1);background:var(--surface-2)}.loan-progress i{background:var(--success)}.loan-meta{margin:.5rem 0;gap:.5rem}.loan-card>footer{display:flex;gap:.375rem;align-items:center;margin-top:.625rem;padding-top:.625rem}.loan-card>footer>.tool-action{display:flex;gap:.4rem;justify-content:center;padding-inline:.5rem;min-height:2rem;font-size:.65rem}.loan-card>footer>.wb-action-menu{margin-inline-start:auto}.loan-card .workspace-icon{width:1rem;height:1rem}.loan-card .wb-action-options{top:auto;bottom:calc(100% + .25rem)}
.repayment-history{margin-top:.5rem;border-radius:var(--radius-2)}.repayment-history summary{min-height:2rem;align-items:center;padding:.4rem .5rem;font-size:.6rem}.repayment-history>div{max-height:12rem;overflow-y:auto;overscroll-behavior:contain}.repayment-history button{min-height:2.5rem;border-radius:var(--radius-1)}
.ledger-page .finance-dialog{width:min(36rem,100%);max-height:calc(100svh - 2rem);border-radius:var(--radius-3);background:var(--overlay);box-shadow:var(--shadow-raised);transform:none!important}.ledger-page .finance-dialog.compact{width:min(29rem,100%)}.ledger-page .finance-dialog>header{padding:.625rem .875rem;background:var(--overlay);position:sticky;top:0;z-index:2}.ledger-page .finance-dialog-body{padding:.875rem}.ledger-page .finance-field{min-width:0;gap:.3rem;font-size:.65rem}.ledger-page .finance-form-grid{gap:.625rem}.ledger-page .finance-dialog textarea.field{min-height:5rem}.ledger-page .finance-dialog-actions{gap:.375rem}.ledger-page .finance-dialog .icon-button{display:grid;place-items:center}.ledger-page .finance-dialog .icon-button .workspace-icon{width:1rem;height:1rem}.ledger-page .finance-dialog .tool-action{display:flex;align-items:center;justify-content:center;gap:.375rem}
.ledger-page .reminder-dialog{width:min(57rem,100%)}.reminder-layout{gap:1rem}.reminder-preview-panel{border-color:var(--line);border-radius:var(--radius-3);background:var(--surface)}.reminder-canvas{max-height:28rem;object-fit:contain;border-radius:var(--radius-2)}.reminder-message-preview{max-height:10rem;overflow-y:auto;border-radius:var(--radius-2);border-color:var(--line);background:var(--canvas)}.reminder-options{gap:.375rem}.reminder-check{border-color:var(--line);border-radius:var(--radius-2);background:var(--surface)}.reminder-actions{display:flex;flex-wrap:wrap;gap:.375rem}.reminder-actions .tool-action{flex:1 0 auto;min-height:2.125rem}.reminder-actions .whatsapp{background:var(--surface-2);border-color:var(--line);color:var(--ink-muted)}
@media(max-width:42rem){.ledger-page .ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-summary article{padding:.625rem}.ledger-summary strong{font-size:.95rem}.ledger-toolbar{align-items:stretch;flex-direction:column}.ledger-toolbar>.field{width:100%}.ledger-toolbar .segmented{max-width:100%;align-self:start}.ledger-list{grid-template-columns:1fr;gap:.5rem}.loan-card{padding:.625rem}.loan-amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.loan-amounts span{padding:.375rem}.loan-amounts strong{font-size:.65rem}.loan-card>footer>.tool-action,.loan-card .wb-action-menu summary{min-height:2.75rem}.loan-card .wb-action-menu summary{min-width:2.75rem}.repayment-history summary,.repayment-history button{min-height:2.75rem}.ledger-page .finance-dialog{max-height:calc(100svh - 1rem)}.ledger-page .finance-dialog-actions{grid-template-columns:1fr 1fr}.ledger-page .finance-dialog-actions>span{display:none}.ledger-page .finance-dialog-actions>.danger:not([hidden]){grid-column:1/-1}.ledger-page .finance-dialog .tool-action,.ledger-page .finance-dialog .field{min-height:2.75rem}.ledger-page .finance-dialog>header .icon-button{width:2.75rem;height:2.75rem}.reminder-layout{grid-template-columns:1fr}.reminder-canvas{max-height:22rem}.reminder-actions{display:grid;grid-template-columns:1fr 1fr}.reminder-actions .tool-action{min-width:0;white-space:normal}}
.todo-page #app { height:100svh; grid-template-rows:2.375rem minmax(0,1fr) 1.6875rem; }
.todo-page #toolbar,.editor-page #toolbar { background:var(--surface); border-color:var(--line); }
.tb-primary-label { width:auto; padding-inline:.625rem; gap:.375rem; color:var(--primary); background:var(--primary-soft); font-size:.7rem; }
.tb-btn[hidden] { display:none!important; }
.todo-page #sidebar { width:13rem; border-color:var(--line); background:var(--surface); }
.todo-page .sb-title { font-size:.7rem; }.todo-page .sb-item-title{font-size:.72rem}.todo-page .sb-section{padding:.65rem .5rem .25rem;font-size:.58rem}.todo-page .nav-count,.todo-page .badge{border-radius:var(--radius-1)}
.todo-page #filters,.todo-page #projects { flex:0 1 auto; }.todo-page #projects{flex:1}.todo-page .sb-folder-emoji .workspace-icon{width:.9rem;height:.9rem}
.todo-page .nav-item,.todo-page .td-folder{width:100%;text-align:start;border:0;background:transparent;color:var(--ink-muted)}.todo-page .nav-item.active,.todo-page .td-folder.active{background:var(--primary-soft)}.todo-page .nav-item:hover,.todo-page .td-folder:hover{background:var(--surface-2)}
.todo-page #main { background:var(--canvas); }
.todo-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); flex:none; border-bottom:1px solid var(--line); background:var(--surface); }
.todo-overview article { display:grid; gap:.375rem; position:relative; padding:.625rem .875rem; border-inline-end:1px solid var(--line-soft); }.todo-overview article:last-child{border:0}.todo-overview span{color:var(--ink-faint);font-size:.6rem}.todo-overview strong{font:600 1.2rem/1 var(--font-mono)}
.todo-page #view-head { justify-content:start; gap:.375rem; padding:.375rem .625rem; min-height:2.75rem; border-bottom:1px solid var(--line-soft); }.todo-page #view-title{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-page .view-controls{margin-inline-start:auto;min-width:0;overflow-x:auto;scrollbar-width:none;flex:none;border-radius:var(--radius-2)}.todo-page .view-controls::-webkit-scrollbar{display:none}.todo-page .view-controls button{white-space:nowrap}
.wb-icon-button { display:inline-grid; place-items:center; flex:none; width:1.875rem; height:1.875rem; padding:0; border:1px solid transparent; border-radius:var(--radius-2); background:transparent; color:var(--ink-muted); cursor:pointer; }.wb-icon-button:hover{background:var(--surface-2);color:var(--ink)}.wb-icon-button .workspace-icon{width:.95rem;height:.95rem}
.todo-date-navigator { display:flex; align-items:center; gap:.25rem; padding:.3rem .625rem; border-bottom:1px solid var(--line-soft); flex:none; }
.todo-date-navigator input,.todo-date-navigator>button:not(.wb-icon-button){min-width:0;min-height:1.875rem;padding:.3rem .5rem;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);color:var(--ink-muted);font:.65rem var(--font-ui);cursor:pointer}.todo-date-navigator input{width:8rem}.todo-date-navigator>button:last-child{margin-inline-start:auto}
.todo-page #quick-add { padding:.5rem .625rem; gap:.375rem; flex-wrap:nowrap; position:relative; overflow:visible; z-index:20; }.todo-page #quick-add[hidden]{display:none}.todo-page #qa-text{font-size:.72rem;flex-basis:auto;min-height:2rem}.todo-page #qa-add{font-size:.65rem;border-radius:var(--radius-2);color:var(--primary);border-color:var(--line)}
.todo-add-options{flex:none}.todo-add-options>summary{display:grid;place-items:center;height:2rem;padding:0 .5rem;border:1px solid var(--line);border-radius:var(--radius-2);font-size:.65rem;color:var(--ink-muted);cursor:pointer;list-style:none}.todo-add-options>summary::-webkit-details-marker{display:none}.todo-add-options-panel{position:absolute;z-index:35;inset-inline-end:.625rem;top:calc(100% - .25rem);display:grid;grid-template-columns:1fr 1fr;gap:.375rem;width:min(28rem,calc(100% - 1.25rem));padding:.625rem;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--raised);box-shadow:var(--shadow-raised)}.todo-add-options-panel>*{width:100%;min-width:0}
.todo-workbench { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,21rem); min-height:0; flex:1; overflow:hidden; }
.todo-list-surface { display:flex; flex-direction:column; min-height:0; min-width:0; }.todo-page #task-list{padding:.25rem .5rem .75rem}.todo-page #empty{font-size:.75rem}
.todo-page #task-list:empty { flex:none; }.todo-page #empty{padding:1.5rem .75rem}
.todo-page .group h2{margin:.5rem .5rem .25rem;font-size:.57rem}.todo-page .task{min-height:3.25rem;padding:.4rem .5rem;border-bottom:1px solid var(--line-soft);border-radius:var(--radius-2);gap:.5rem}.todo-page .task:hover{background:var(--surface)}.todo-page .task.is-selected{background:var(--surface-2);box-shadow:none}.todo-page .task-text{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:.75rem;text-align:start;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.todo-page .task-meta{gap:.3rem}.todo-page .badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.58rem}.todo-page .badge .workspace-icon{width:.75rem;height:.75rem}.todo-page .task-actions{opacity:1;gap:.15rem}.todo-page .task-actions button{width:1.625rem;height:1.625rem}.todo-page .task-actions .workspace-icon{width:.9rem;height:.9rem}.todo-page .chkbox{width:1.125rem;height:1.125rem;border-radius:var(--radius-1)}
.todo-page .kanban-board{gap:.5rem;min-width:40rem}.todo-page .kanban-column{background:var(--surface);border-color:var(--line);border-radius:var(--radius-3)}.todo-page .kanban-column h2{font-size:.65rem}.todo-page .calendar-shell{min-width:38rem}
.todo-preview { min-width:0; min-height:0; overflow-y:auto; border-inline-start:1px solid var(--line); background:var(--surface); overscroll-behavior:contain; }
.todo-preview>header { position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;min-height:2.5rem;padding:.25rem .625rem;border-bottom:1px solid var(--line);background:var(--surface);font-size:.7rem; }
#todo-preview-content { padding:.75rem; }.todo-preview-title{display:flex;align-items:start;gap:.5rem;justify-content:space-between}.todo-preview-title h2{margin:.2rem 0 .75rem;font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.todo-preview-title>div{display:flex;flex:none}.todo-preview-meta{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;padding-bottom:.75rem;border-bottom:1px solid var(--line-soft)}.todo-preview-meta>div{display:grid;gap:.3rem;align-content:start}.todo-preview-meta>div>span{font-size:.58rem;color:var(--ink-faint)}.todo-preview-meta strong{font-size:.65rem;font-weight:500}.todo-preview section{padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--line-soft)}.todo-preview section>header{display:flex;align-items:center;justify-content:space-between;gap:.375rem}.todo-preview h3{margin:0 0 .5rem;font-size:.72rem}.todo-preview h3 small{color:var(--ink-faint);font-size:.6rem;font-weight:400}.todo-outcome{color:var(--ink-muted);font-size:.72rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.todo-subtasks>div,.todo-context-list>div { display:flex;align-items:center;gap:.25rem;padding:.25rem 0;border-bottom:1px solid var(--line-soft); }.todo-subtask-title{flex:1;min-width:0;border:0;padding:.25rem;background:transparent;color:var(--ink-muted);text-align:start;font-size:.68rem;cursor:pointer}.todo-subtask-check{border:0;background:transparent;color:var(--primary);cursor:pointer}.todo-subtask-check .workspace-icon{width:1rem;height:1rem}.todo-context-list a,.todo-source{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1;color:var(--info);font-size:.68rem;text-decoration:none}.todo-context-list a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-context-list .workspace-icon{width:.9rem;height:.9rem;flex:none}.todo-source{padding:.4rem;border:1px solid var(--line);border-radius:var(--radius-2);background:transparent;cursor:pointer}
.todo-outcome,.todo-subtasks,.todo-context-list { max-height:12rem; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; padding-inline-end:.375rem; }
.todo-outcome { max-height:9rem; margin-block:.25rem 0; }
.todo-subtask-title { overflow-wrap:anywhere; }
.todo-subtasks .wb-icon-button,.todo-context-list .wb-icon-button { flex:none; }
.todo-activity { max-height:13rem;overflow-y:auto;overscroll-behavior:contain;padding-inline-end:.25rem; }.todo-activity article{display:flex;align-items:start;gap:.25rem;padding:.6rem 0;border-bottom:1px solid var(--line-soft)}.todo-activity article>div{flex:1;min-width:0}.todo-activity p{margin:0 0 .3rem;font-size:.68rem;line-height:1.45;overflow-wrap:anywhere}.todo-activity time{font-size:.55rem;color:var(--ink-faint)}
.todo-momentum{flex:none;padding:.5rem .75rem;border-bottom:1px solid var(--line);background:var(--surface)}.todo-momentum[hidden]{display:none}.todo-chart-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.todo-chart-bars>div{display:grid;grid-template-columns:1fr auto;gap:.2rem;font-size:.55rem}.todo-chart-bars>div>span{height:4rem;grid-column:1/-1;display:flex;align-items:end;padding:.15rem;border:1px solid var(--line-soft);border-radius:var(--radius-2);background:var(--surface-2)}.todo-chart-bars i{display:block;width:100%;min-height:.125rem;background:var(--primary);border-radius:.125rem}.todo-chart-bars small{color:var(--ink-faint)}.todo-momentum p{margin:.375rem 0 0;font-size:.55rem;color:var(--ink-faint)}
.wb-empty { padding:1rem .5rem;color:var(--ink-faint);font-size:.75rem;line-height:1.6;text-align:center; }.wb-empty.small{padding:.375rem 0;text-align:start;font-size:.65rem}
.wb-dialog-layer { position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.65);backdrop-filter:blur(.375rem); }
.wb-dialog { display:flex;flex-direction:column;width:min(35rem,100%);max-height:calc(100svh - 2rem);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--overlay);box-shadow:var(--shadow-raised);color:var(--ink); }
.wb-dialog>header,.wb-dialog>footer{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem}.wb-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between}.wb-dialog h2{margin:0;font-size:.95rem}.wb-dialog>footer{border-top:1px solid var(--line);justify-content:flex-end}.wb-dialog>footer button{min-height:2.125rem;padding:0 .75rem;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface-2);color:var(--ink-muted);font-size:.72rem;cursor:pointer}.wb-dialog>footer .primary{background:var(--primary-soft);color:var(--primary)}.wb-dialog-body{display:grid;gap:.75rem;padding:.875rem;overflow-y:auto}.wb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.wb-field{display:grid;gap:.3rem;min-width:0;align-content:start}.wb-field>span{color:var(--ink-faint);font-size:.65rem}.wb-field>input,.wb-field>textarea{width:100%;min-height:2.125rem;min-width:0;padding:.45rem .55rem;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--canvas);color:var(--ink);font:.75rem/1.4 var(--font-ui)}.wb-field>textarea{resize:vertical}.wb-dialog-error{margin:0;color:var(--danger);font-size:.72rem}
.wb-picker{position:relative;min-width:0}.wb-picker summary{display:flex;justify-content:space-between;gap:.5rem;min-height:2.125rem;align-items:center;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--canvas);color:var(--ink);font-size:.72rem;cursor:pointer;list-style:none}.wb-picker summary::-webkit-details-marker{display:none}.wb-picker summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-picker summary i{font-style:normal;color:var(--ink-faint)}.wb-picker-options{position:absolute;z-index:40;inset-inline:0;top:calc(100% + .2rem);max-height:12rem;overflow-y:auto;display:grid;padding:.25rem;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--raised);box-shadow:var(--shadow-raised)}.wb-picker-options button{text-align:start;padding:.5rem;border:0;border-radius:var(--radius-1);background:transparent;color:var(--ink-muted);font-size:.72rem;cursor:pointer}.wb-picker-options button:hover{background:var(--surface-2);color:var(--ink)}
@media(max-width:70rem){.todo-workbench{grid-template-columns:minmax(0,1fr)}.todo-preview{position:fixed;z-index:430;inset-block:2.375rem 1.6875rem;inset-inline-end:0;width:min(24rem,calc(100vw - var(--workspace-nav-width)));box-shadow:var(--shadow-raised);display:none}.todo-preview.is-open{display:block}.todo-page #sidebar{width:12rem}}
@media(max-width:42rem){.todo-page #app{grid-template-rows:2.75rem minmax(0,1fr) 1.6875rem}.todo-page .tb-primary-label span{display:none}.todo-page .tb-primary-label{width:2rem;padding:0}.todo-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-overview article{padding:.5rem .75rem;border-bottom:1px solid var(--line-soft)}.todo-overview article:nth-child(2){border-inline-end:0}.todo-overview strong{font-size:1rem}.todo-page #view-head{min-height:2.75rem;padding:.25rem .5rem}.todo-page .view-controls button{padding:.4rem .5rem}.todo-date-navigator{gap:.125rem;padding:.25rem .5rem;flex-wrap:wrap}.todo-date-navigator input{width:7.5rem}.todo-date-navigator>button:last-child{margin-inline-start:0}.todo-preview{inset:2.75rem .375rem 1.875rem;width:auto;border:1px solid var(--line);border-radius:var(--radius-3)}.todo-page #sidebar:not(.collapsed){position:absolute;inset-block:2.75rem 1.6875rem;z-index:425;width:min(17rem,90vw);box-shadow:var(--shadow-raised)}.wb-dialog-layer{padding:.5rem}.wb-dialog{max-height:calc(100svh - 1rem)}.wb-dialog>footer button,.wb-picker summary,.wb-picker-options button,.wb-field>input{min-height:2.75rem}.wb-form-grid{gap:.625rem}.wb-icon-button{min-height:2.75rem}.todo-page .task-actions button{height:2.75rem}.todo-page .task{min-height:3.5rem}.todo-preview-title .wb-icon-button{width:2rem}}
@media(prefers-reduced-motion:reduce){.todo-preview,.wb-dialog{transition:none}}
@media(max-width:42rem){.todo-page .task-actions .flag{display:none}.todo-page .task-actions .tbtn,.todo-preview .wb-icon-button,.todo-subtask-check{min-width:2.75rem;min-height:2.75rem}.todo-page .chkbox{position:relative;display:grid;place-items:center;min-width:2.75rem;width:2.75rem;height:2.75rem;border:0;background:transparent}.todo-page .chkbox:before{position:absolute;inset:.625rem;content:"";border:1px solid var(--line);border-radius:var(--radius-1)}.todo-page .chkbox.checked:before{border-color:var(--primary);background:var(--primary-soft)}.todo-page .chkbox svg{position:relative;width:1rem;height:1rem;color:var(--primary)}.todo-date-navigator>button{min-height:2.75rem!important}.todo-preview-title .wb-icon-button{width:2.75rem}}

.wb-picker-options { position:fixed; z-index:950; }

/* Editor: two desktop rows, one compact row below 64rem, searchable More on both. */
.editor-page { --editor-toolbar-height:4.75rem; }
body.editor-page,body.todo-page { padding-block-end:0!important; }
/* Put the separator on the work surface: a 44px button must fit a 44px header
   without focus-induced scrolling of the header's overflow container. */
.editor-page #toolbar,.todo-page #toolbar { border-block-end:0; }
.editor-page #workspace,.todo-page #workspace { border-block-start:1px solid var(--line); }
.editor-page #app { height:100svh; grid-template-rows:var(--editor-toolbar-height) minmax(0,1fr) 1.6875rem; }
.editor-page #toolbar { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:0 .375rem; }
.editor-toolbar-main { display:flex; align-items:center; gap:.25rem; min-width:0; height:2.375rem; flex:none; }
.editor-toolbar-row { display:flex; align-items:center; gap:.125rem; min-width:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.editor-toolbar-row::-webkit-scrollbar { display:none; }
.editor-toolbar-format { flex:1; height:100%; }
.editor-toolbar-tools { height:2.375rem; flex:none; border-top:1px solid var(--line-soft); }
.editor-toolbar-actions { display:flex; align-items:center; flex:none; gap:.125rem; }
.editor-page #toolbar .tb-btn { display:flex; flex:none; height:1.875rem; width:1.875rem; border-radius:var(--radius-2); }
.editor-page #toolbar .tb-export { width:auto; padding-inline:.625rem; margin:0; }
.editor-page #toolbar :where(#editor-format-bold,#editor-format-code,#editor-format-link,#editor-format-ul,#editor-format-table,#focus-btn,#history-btn,#font-scope,#backup-btn) { margin-inline-start:.375rem; }
.editor-page #toolbar #export-md { margin-inline-start:auto; }
.editor-page #toolbar .workspace-icon { width:1.05rem; height:1.05rem; }
.editor-page #toolbar .tb-btn:focus-visible { outline-offset:-2px; }
@media(max-width:64rem) {
  .editor-page { --editor-toolbar-height:2.375rem; }
  .editor-toolbar-tools { display:none; }
  .editor-page #toolbar .editor-toolbar-format .tb-btn { display:none; margin:0; }
  .editor-page #toolbar .editor-toolbar-format .tb-btn:where(#toggle-sidebar,[data-action="h1"],[data-action="bold"],[data-action="italic"],[data-action="code"],[data-action="link"]) { display:flex; }
}
@media(max-width:42rem) {
  .editor-page { --editor-toolbar-height:2.75rem; }
  .editor-page #toolbar { padding-inline:.25rem; }
  .editor-toolbar-main { height:2.75rem; gap:.125rem; }
  .editor-page #toolbar .tb-btn { height:2.75rem; width:2.75rem; min-width:2.75rem; }
  .editor-page #toolbar .editor-toolbar-format :is([data-action="h1"],[data-action="code"],[data-action="link"]),.editor-page #toolbar #command-btn { display:none; }
}
@media(max-width:24rem) {
  .editor-page #toolbar .editor-toolbar-format [data-action="italic"] { display:none; }
}
.editor-page #sidebar{width:14rem;border-color:var(--line);background:var(--surface)}.editor-page .sb-title{font-size:.75rem}.editor-page .sb-head{height:2.375rem;border-color:var(--line-soft)}.editor-page .sb-item-title{font-size:.75rem}.editor-page .sb-item-meta{font-size:.62rem}.editor-page .sb-item,.editor-page .sb-folder{border-radius:var(--radius-2)}.editor-page .sb-tagchip{border-radius:var(--radius-1);font-size:.6rem}
.editor-page #editor,.editor-page #editor-hilite{padding-block:.75rem}.editor-page #preview{padding:.75rem 1.25rem;background:var(--surface)}.editor-page #preview :where(img,video,iframe){max-width:100%}.editor-page #preview pre{max-width:100%;overflow:auto}.editor-page #preview table{display:block;max-width:100%;overflow:auto}
.editor-page #divider:hover .divider-grip,.editor-page #divider.dragging .divider-grip{width:.3125rem;height:2rem}.editor-page #divider:hover::before{width:.0625rem}.editor-page .divider-grip{border-radius:var(--radius-1)}
.editor-page #toc-panel,.editor-page #chat-panel,.editor-page #history-panel{min-width:0;margin:0;border-inline-start:1px solid var(--line);background:var(--surface);transition:none}.editor-page #toc-panel{width:16rem}.editor-page #toc-panel.collapsed,.editor-page #chat-panel.collapsed{display:none;margin:0}.editor-page #history-panel{position:static;display:flex;flex:none;flex-direction:column;width:21rem;max-width:none;max-height:none;height:100%;border-radius:0;box-shadow:none;z-index:auto}.editor-page #history-panel.hidden{display:none}.editor-page #history-list{flex:1;min-height:0;overflow-y:auto;max-height:none}.editor-page .hist-head{min-height:2.375rem}.editor-page #chat-panel{width:var(--chat-w,22rem)}.editor-page .chat-header{flex-wrap:wrap;gap:.25rem;padding:.5rem}.editor-page .chat-messages{padding:.625rem}.editor-page .chat-message,.editor-page .chat-input{border-radius:var(--radius-2)}
.editor-page .editor-command-menu{position:fixed;inset-inline-end:.5rem;inset-inline-start:auto;top:calc(var(--editor-toolbar-height) + .25rem);width:min(42rem,calc(100vw - var(--workspace-nav-width) - 1rem));max-height:min(70svh,34rem);padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--raised);box-shadow:var(--shadow-raised);z-index:450}.editor-page .editor-command-menu.open{display:flex!important;flex-direction:column;flex-wrap:nowrap;gap:.5rem}.editor-menu-search{flex:none;width:100%;min-height:2rem;padding:.4rem .625rem;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--canvas);color:var(--ink);font-size:.75rem}.editor-command-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.125rem;min-height:0;overflow-y:auto}.editor-command-item{display:flex;align-items:center;gap:.625rem;min-width:0;min-height:2.25rem;padding:.4rem .5rem;border:0;border-radius:var(--radius-2);background:transparent;color:var(--ink-muted);text-align:start;font-size:.7rem;cursor:pointer}.editor-command-item:hover{background:var(--surface-2);color:var(--ink)}.editor-command-item[hidden]{display:none}.editor-command-item .workspace-icon{width:1rem;height:1rem;flex:none}.editor-command-item>b{min-width:1rem;color:var(--ink-faint);font:.65rem var(--font-mono)}.editor-command-item>span{overflow-wrap:anywhere;line-height:1.4}
@media(max-width:64rem){.editor-page #toc-panel:not(.collapsed),.editor-page #chat-panel:not(.collapsed),.editor-page #history-panel:not(.hidden){position:absolute;z-index:90;inset-block:0;inset-inline-end:0;width:min(24rem,90%);max-width:90%;box-shadow:var(--shadow-raised)}.editor-page #chat-divider{display:none!important}}
@media(max-width:42rem){.editor-page #sidebar:not(.collapsed){position:absolute;inset-block:0;inset-inline-start:0;width:min(20rem,90%);z-index:95;box-shadow:var(--shadow-raised)}.editor-page .editor-command-menu{max-height:calc(100svh - 4rem)}.editor-command-list{grid-template-columns:1fr}.editor-command-item{min-height:2.75rem}.editor-page #preview{padding:.625rem .875rem}}
