@import url("workbench.css?v=3");
@import url("work-surfaces.css?v=25");

/* Cross-tool platform shell, density and accessibility. */

:root[data-density="compact"] { --density-scale: 0.84; }
:root[data-density="comfortable"] { --density-scale: 1; }
:root[data-density="spacious"] { --density-scale: 1.14; }

:root[data-density="compact"] .task,
:root[data-density="compact"] .sb-item { padding-block: 4px; }
:root[data-density="spacious"] .task,
:root[data-density="spacious"] .sb-item { padding-block: 11px; }

:focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px;
}

:root[data-motion="reduced"] *,
:root[data-motion="reduced"] *::before,
:root[data-motion="reduced"] *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

body.workspace-modal-open { overflow:hidden; }
.tool-dialog-layer[hidden] { display:none; }
.tool-dialog-layer { position:fixed; inset:0; z-index:480; display:grid; place-items:center; padding:18px; background:rgba(2,3,5,.72); opacity:0; backdrop-filter:blur(8px); transition:opacity .16s ease; }
.tool-dialog-layer.open { opacity:1; }
.tool-dialog-layer>[data-tool-dialog] { margin:0; transform:translateY(12px) scale(.985); transition:transform .16s ease; }
.tool-dialog-layer.open>[data-tool-dialog] { transform:translateY(0) scale(1); }
.workspace-modal-layer[hidden] { display:none; }
.workspace-modal-layer { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(2,3,5,.72); opacity:0; backdrop-filter:blur(9px); transition:opacity .16s ease; }
.workspace-modal-layer.open { opacity:1; }
.workspace-modal { width:min(470px,100%); overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-3); background:var(--overlay); color:var(--ink); box-shadow:var(--shadow-raised); transform:translateY(12px) scale(.98); transition:transform .16s ease; }
.workspace-modal-layer.open .workspace-modal { transform:translateY(0) scale(1); }
.workspace-modal>header { display:grid; grid-template-columns:2.25rem minmax(0,1fr) 2rem; align-items:start; gap:.75rem; padding:1rem 1rem .75rem; }
.workspace-modal-symbol { display:grid; place-items:center; width:2.25rem; height:2.25rem; border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border)); border-radius:var(--radius-2); background:var(--accent-dim); color:var(--accent); font:700 .72rem/1 var(--font-mono); }
.workspace-modal.danger .workspace-modal-symbol { border-color:color-mix(in srgb,var(--danger,#e78284) 48%,var(--border)); background:color-mix(in srgb,var(--danger,#e78284) 12%,transparent); color:var(--danger,#e78284); }
.workspace-modal h2 { margin:2px 0 0; font-size:1rem; line-height:1.3; }
.workspace-modal-message { margin:7px 0 0; color:var(--text-muted); font-size:.76rem; line-height:1.55; white-space:pre-line; }
.workspace-modal-close { width:2rem; height:2rem; padding:0; border:0; border-radius:var(--radius-2); background:transparent; color:var(--text-faint); font-size:1.25rem; cursor:pointer; }
.workspace-modal-close:hover { background:var(--bg-raised); color:var(--text); }
.workspace-modal-body { padding:0 1rem 1rem 4rem; font-size:.86rem; line-height:1.55; color:var(--text-muted); }
.workspace-modal:not(.has-body) .workspace-modal-body,
.workspace-modal-body[hidden] { display:none; }
.workspace-modal.dlg-wide { width:min(560px,100%); }
.workspace-modal-input-wrap { padding:0 1rem 1rem 4rem; }
.workspace-modal:not(.has-input) .workspace-modal-input-wrap { display:none; }
.workspace-modal-input { width:100%; min-height:2.5rem; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius-2); outline:0; background:var(--canvas); color:var(--text); font:inherit; resize:vertical; }
textarea.workspace-modal-input { min-height:120px; }
.workspace-modal-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-dim); }
.workspace-modal>footer { display:flex; justify-content:flex-end; gap:8px; padding:.75rem 1rem; border-top:1px solid var(--border-soft); background:color-mix(in srgb,var(--bg-raised) 45%,transparent); }
.workspace-modal>footer button { min-height:2rem; padding:0 15px; border:1px solid var(--border); border-radius:var(--radius-2); background:transparent; color:var(--text-muted); font-weight:600; cursor:pointer; }
.workspace-modal>footer button:hover { border-color:var(--accent); color:var(--text); }
.workspace-modal-confirm { border-color:color-mix(in srgb,var(--accent) 55%,var(--border))!important; background:var(--accent-dim)!important; color:var(--text)!important; }
.workspace-modal.danger .workspace-modal-confirm { border-color:color-mix(in srgb,var(--danger,#e78284) 60%,var(--border))!important; background:color-mix(in srgb,var(--danger,#e78284) 13%,transparent)!important; color:var(--danger,#e78284)!important; }
@media(max-width:520px){.workspace-modal-layer{padding:12px}.workspace-modal>header{grid-template-columns:38px minmax(0,1fr) 30px;padding:17px 15px 14px}.workspace-modal-symbol{width:38px;height:38px}.workspace-modal-body,.workspace-modal-input-wrap{padding:0 15px 15px}.workspace-modal>footer{padding:12px 15px}.workspace-modal>footer button{flex:1}.workspace-modal-message{font-size:.74rem}}
/* Shared workspace navigation */
:root {
  --workspace-nav-closed: 2.25rem;
  --workspace-nav-open: 14.5rem;
  --workspace-nav-width: var(--workspace-nav-closed);
}
:root.workspace-nav-expanded { --workspace-nav-width: var(--workspace-nav-open); }
:root.workspace-nav-ready body { padding-inline-start:var(--workspace-nav-width); transition:padding-inline-start .2s ease; }
:root.workspace-nav-ready body.workspace-modal-open { padding-inline-start:var(--workspace-nav-width); }
:root.workspace-nav-ready .app-switcher { display:none!important; }
.workspace-nav { position:fixed; z-index:420; inset-block:0; inset-inline-start:0; display:grid; width:var(--workspace-nav-width); grid-template-rows:auto auto minmax(0,1fr); overflow:visible; border-inline-end:1px solid var(--line-soft); background:linear-gradient(180deg,var(--shell),color-mix(in srgb,var(--shell) 94%,var(--surface) 6%)); color:var(--ink); box-shadow:none; transition:width .2s ease,transform .2s ease; }
.workspace-nav button,.workspace-nav a { -webkit-tap-highlight-color:transparent; }
.workspace-nav-header { position:relative; display:grid; height:2.375rem; min-height:2.375rem; grid-template-columns:minmax(0,1fr) 1.75rem; align-items:center; gap:.125rem; padding:.1875rem .25rem; border-bottom:1px solid var(--line-soft); }
.workspace-nav-brand { display:flex; min-width:0; height:2rem; align-items:center; gap:.5rem; padding:.1875rem; border-radius:var(--radius-2); color:inherit; text-decoration:none; }
.workspace-nav-brand:hover { background:transparent; }
.workspace-nav-logo { display:grid; width:1.625rem; height:1.625rem; flex:0 0 1.625rem; place-items:center; border:0; border-radius:var(--radius-2); background:#080d0a; box-shadow:none; }
.workspace-nav-logo img { display:block; width:1rem; height:1rem; }
.workspace-nav-brand-copy { display:grid; min-width:0; gap:.125rem; }
.workspace-nav-brand-copy strong,.workspace-nav-brand-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-nav-brand-copy strong { font-size:.7rem; letter-spacing:.01em; }
.workspace-nav-brand-copy small { color:var(--ink-faint); font-size:.52rem; }
.workspace-nav-collapse { display:grid; width:1.625rem; height:1.625rem; place-items:center; padding:0; border:0; border-radius:var(--radius-2); background:transparent; color:var(--ink-faint); cursor:pointer; }
.workspace-nav-collapse:hover,.workspace-nav-collapse:focus-visible { background:var(--surface-2); color:var(--ink); }
.workspace-nav-collapse svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.workspace-nav-collapse[aria-expanded="false"] svg { transform:rotate(180deg); }
.workspace-nav-collapse span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.workspace-nav-search { display:grid; min-width:0; min-height:2rem; grid-template-columns:1.625rem minmax(0,1fr) auto; align-items:center; gap:.4rem; margin:.375rem .375rem .25rem; padding:.1875rem; border:1px solid var(--line-soft); border-radius:var(--radius-2); background:var(--surface); color:var(--ink-muted); text-align:left; cursor:pointer; }
.workspace-nav-search:hover { border-color:var(--line); background:var(--surface-2); color:var(--ink); }
.workspace-nav-search>b { display:grid; width:1.625rem; height:1.625rem; place-items:center; color:var(--ink-muted); font:500 .9rem/1 var(--font-ui,system-ui); }
.workspace-nav-search>span { overflow:hidden; font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }
.workspace-nav-search kbd { padding:.18rem .3rem; border:1px solid var(--line-soft); border-radius:.3rem; color:var(--ink-faint); background:var(--surface); font:.52rem/1 var(--font-mono,monospace); }
.workspace-nav-scroll { min-width:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:.25rem .375rem .75rem; scrollbar-width:none; }
.workspace-nav-scroll::-webkit-scrollbar { display:none; }
.workspace-nav-group { min-width:0; padding:.3rem 0; }
.workspace-nav-group+ .workspace-nav-group { border-top:1px solid var(--line-soft); }
.workspace-nav-group h2 { height:1.35rem; display:flex; align-items:center; margin:0; padding:0 .5rem; color:var(--ink-faint); font:700 .49rem/1 var(--font-mono,monospace); letter-spacing:.12em; text-transform:uppercase; }
.workspace-nav-group a { position:relative; display:grid; min-width:0; min-height:2.125rem; grid-template-columns:1.625rem minmax(0,1fr); align-items:center; gap:.42rem; margin:.04rem 0; padding:.1875rem; border:0; border-radius:var(--radius-2); color:var(--ink-muted); text-decoration:none; transition:background-color .12s ease,color .12s ease; }
.workspace-nav-group a:hover { border:0; background:var(--surface-2); color:var(--ink); }
.workspace-nav-group a[aria-current="page"] { border:0; background:color-mix(in srgb,var(--primary) 8%,var(--surface-2)); color:var(--ink); box-shadow:none; }
.workspace-nav-group a[aria-current="page"]::before { content:none; }
.workspace-nav-group a>b { display:grid; width:1.625rem; height:1.625rem; place-items:center; border:0; border-radius:var(--radius-2); background:transparent; color:var(--ink-faint); font:700 .57rem/1 var(--font-mono,monospace); }
.workspace-nav-group a>span { display:grid; min-width:0; gap:.13rem; }
.workspace-nav-group a strong,.workspace-nav-group a small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-nav-group a strong { font-size:.65rem; font-weight:600; }
.workspace-nav-group a small { color:var(--ink-faint); font-size:.52rem; }
.workspace-nav-group a:hover>b { color:var(--ink-muted); }
.workspace-nav-group a[aria-current="page"]>b { background:transparent; color:var(--primary); }
.workspace-nav-backdrop,.workspace-nav-mobile-toggle { display:none; }
.workspace-nav-tooltip { position:fixed; z-index:430; inset-inline-start:calc(var(--workspace-nav-closed) + .5rem); max-width:15rem; padding:.42rem .55rem; border:1px solid var(--line); border-radius:var(--radius-2); background:var(--raised); color:var(--ink); box-shadow:var(--shadow-raised); font:.61rem/1.25 var(--font-ui,system-ui); pointer-events:none; white-space:nowrap; }
.workspace-nav-tooltip[hidden] { display:none; }
:root.workspace-nav-collapsed .workspace-nav-brand { justify-content:center; padding:0; }
:root.workspace-nav-collapsed .workspace-nav-brand-copy,
:root.workspace-nav-collapsed .workspace-nav-search>span,
:root.workspace-nav-collapsed .workspace-nav-search>kbd,
:root.workspace-nav-collapsed .workspace-nav-group h2>span,
:root.workspace-nav-collapsed .workspace-nav-group a>span { display:none; }
:root.workspace-nav-collapsed .workspace-nav-header { padding-inline:.1875rem; }
:root.workspace-nav-collapsed .workspace-nav-search { display:flex; width:1.875rem; min-height:1.875rem; justify-content:center; margin:.45rem .1875rem; padding:0; }
:root.workspace-nav-collapsed .workspace-nav-search>b { width:1.75rem; height:1.75rem; }
:root.workspace-nav-collapsed .workspace-nav-scroll { padding-inline:.1875rem; }
:root.workspace-nav-collapsed .workspace-nav-group { padding:.24rem 0; }
:root.workspace-nav-collapsed .workspace-nav-group h2 { height:.35rem; padding:0; }
:root.workspace-nav-collapsed .workspace-nav-group a { display:flex; width:1.875rem; min-height:1.875rem; justify-content:center; margin:.1rem 0; padding:0; }
:root.workspace-nav-collapsed .workspace-nav-group a>b { width:1.7rem; height:1.7rem; border-color:transparent; background:transparent; }
:root.workspace-nav-collapsed .workspace-nav-header { display:block; height:2.375rem; padding:.1875rem; }
:root.workspace-nav-collapsed .workspace-nav-brand { width:1.875rem; height:2rem; justify-content:center; margin:0; }
:root.workspace-nav-collapsed .workspace-nav-collapse { position:absolute; inset-block-start:.375rem; inset-inline-start:.3125rem; z-index:2; opacity:0; }
:root.workspace-nav-collapsed .workspace-nav-header:hover .workspace-nav-collapse,
:root.workspace-nav-collapsed .workspace-nav-collapse:focus-visible { opacity:1; }
:root.workspace-nav-collapsed .workspace-nav-header:hover .workspace-nav-logo { opacity:0; }
:root.workspace-nav-collapsed .workspace-nav-search { width:1.875rem; min-height:1.875rem; margin:.375rem .1875rem; }
:root.workspace-nav-collapsed .workspace-nav-group a { min-height:1.8rem; }
:root.workspace-nav-collapsed .workspace-nav-group a>b { width:1.625rem; height:1.625rem; }
@media(max-width:68rem){
  :root { --workspace-nav-open:14.5rem; }
}
@media(max-width:42rem){
  :root.workspace-nav-ready { --workspace-nav-width:0rem; }
  :root.workspace-nav-ready body,:root.workspace-nav-ready body.workspace-modal-open { padding-inline-start:0; }
  .workspace-nav { width:min(15.5rem,calc(100vw - 3rem)); transform:translateX(-105%); box-shadow:1.2rem 0 3.5rem rgba(0,0,0,.5); }
  [dir="rtl"] .workspace-nav { transform:translateX(105%); }
  :root.workspace-nav-expanded .workspace-nav { transform:translateX(0); }
  .workspace-nav-backdrop { position:fixed; z-index:410; inset:0; display:block; border:0; background:rgba(0,0,0,.62); opacity:0; pointer-events:none; backdrop-filter:blur(.2rem); transition:opacity .2s ease; }
  :root.workspace-nav-expanded .workspace-nav-backdrop { opacity:1; pointer-events:auto; }
  .workspace-nav-mobile-toggle { position:fixed; z-index:405; inset-block-start:.55rem; inset-inline-start:.55rem; display:grid; width:2.25rem; height:2.25rem; place-items:center; padding:0; border:1px solid var(--line); border-radius:var(--radius-2); background:var(--surface); box-shadow:0 .5rem 1.4rem rgba(0,0,0,.34); color:var(--ink-muted); cursor:pointer; transition:opacity .15s ease; }
  .workspace-nav-mobile-toggle img { width:1.1rem; height:1.1rem; }
  :root.workspace-nav-expanded .workspace-nav-mobile-toggle { opacity:0; pointer-events:none; }
  :root.workspace-nav-ready .tool-topbar,:root.workspace-nav-ready .hub-topbar { padding-inline-start:3.25rem; }
  :root.workspace-nav-ready #toolbar { padding-inline-start:2.9rem; }
  :root.workspace-nav-collapsed .workspace-nav-brand-copy,:root.workspace-nav-collapsed .workspace-nav-group a>span { display:grid; }
  :root.workspace-nav-collapsed .workspace-nav-search>span,:root.workspace-nav-collapsed .workspace-nav-search>kbd,:root.workspace-nav-collapsed .workspace-nav-group h2>span { display:block; }
  :root.workspace-nav-collapsed .workspace-nav-brand { justify-content:flex-start; padding:.25rem; }
  :root.workspace-nav-collapsed .workspace-nav-header { padding:.5rem .375rem .375rem; }
  :root.workspace-nav-collapsed .workspace-nav-search { display:grid; width:auto; min-height:2.25rem; grid-template-columns:1.75rem minmax(0,1fr) auto; justify-content:initial; margin:.5rem .375rem .375rem; padding:.25rem; }
  :root.workspace-nav-collapsed .workspace-nav-scroll { padding:.25rem .375rem .75rem; }
  :root.workspace-nav-collapsed .workspace-nav-group { padding:.35rem 0; }
  :root.workspace-nav-collapsed .workspace-nav-group h2 { height:1.45rem; padding:0 .5rem; }
  :root.workspace-nav-collapsed .workspace-nav-group a { display:grid; width:auto; min-height:2.25rem; grid-template-columns:1.75rem minmax(0,1fr); justify-content:initial; margin:.08rem 0; padding:.25rem; }
  :root.workspace-nav-collapsed .workspace-nav-group a>b { width:1.75rem; height:1.75rem; border-color:var(--border-soft,rgba(255,255,255,.08)); background:color-mix(in srgb,var(--bg-raised,#141419) 72%,transparent); }
  .workspace-nav-header { display:grid; height:2.375rem; padding:.1875rem .25rem; }
  :root.workspace-nav-collapsed .workspace-nav-header { display:grid; height:2.375rem; padding:.1875rem .25rem; }
  :root.workspace-nav-collapsed .workspace-nav-brand { width:auto; justify-content:flex-start; }
  :root.workspace-nav-collapsed .workspace-nav-collapse { position:static; opacity:1; }
  :root.workspace-nav-collapsed .workspace-nav-header:hover .workspace-nav-logo { opacity:1; }
  @supports selector(:has(*)) {
    :root.workspace-nav-collapsed .workspace-nav-header:has(.workspace-nav-collapse:focus-visible) .workspace-nav-logo { opacity:1; }
  }
  .workspace-nav-tooltip { display:none!important; }
}

/* Shared compact page chrome. Navigation rules stay in one layer above. */
.tool-topbar.workspace-topbar-redundant { display:none!important; }
.tool-topbar.workspace-actionbar { min-height:2.375rem; height:2.375rem; gap:.375rem; padding:.1875rem .75rem; }
.tool-topbar.workspace-actionbar .tool-brand { gap:.45rem; }
.tool-topbar.workspace-actionbar .tool-brand-mark { width:1.75rem; height:1.75rem; border-radius:.4rem; }
.tool-topbar.workspace-actionbar .tool-brand-copy { display:block; }
.tool-topbar.workspace-actionbar .tool-brand-copy strong { font-size:.7rem; }
.tool-topbar.workspace-actionbar .tool-brand-copy small,.tool-topbar.workspace-actionbar #command-btn { display:none; }
.tool-topbar.workspace-actionbar .tool-action { min-height:1.75rem; height:1.75rem; padding:0 .55rem; border-radius:.4rem; font-size:.62rem; }
.canvas-page .canvas-viewport,.graph-page .graph-shell { height:calc(100svh - 2.375rem); }
.workspace-nav-ready .tool-action:hover,.workspace-nav-ready .icon-button:hover,.workspace-nav-ready .tool-card:hover,.workspace-nav-ready .finance-date-button:hover { transform:none!important; }
@supports selector(:has(*)) {
  :root.workspace-nav-collapsed .workspace-nav-header:has(.workspace-nav-collapse:focus-visible) .workspace-nav-logo { opacity:0; }
  .tool-topbar:not(:has(>button:not(#command-btn))) { display:none; }
}
@media(max-width:42rem){
  .tool-topbar.workspace-actionbar { padding-inline-start:3.25rem; }
}

/* Shared shell polish: this file owns shell controls; Workbench owns tokens and scrollbars. */
.tool-mini-icon .workspace-icon { width:.9rem; height:.9rem; }
.command-icon .workspace-icon { width:1rem; height:1rem; }
.workspace-nav-mobile-toggle .workspace-icon { width:1.125rem; height:1.125rem; }

/* Tool headers own the mobile control; never float it over the writing surface. */
@media (max-width:42rem) {
  :root.workspace-nav-ready :is(.editor-page,.todo-page) #toolbar { padding-inline-start:.25rem; }
  :is(.editor-page,.todo-page) .workspace-nav-mobile-toggle.workspace-nav-docked {
    position:static; inset:auto; z-index:auto; flex:0 0 2.75rem;
    width:2.75rem; height:2.75rem; min-height:2.75rem; align-self:center;
    border:0; border-radius:var(--radius-2); box-shadow:none;
    background:transparent!important; color:var(--ink-muted);
  }
  :is(.editor-page,.todo-page) .workspace-nav-docked:hover { background:var(--surface-2)!important; color:var(--ink); }
  :is(.editor-page,.todo-page) .workspace-nav-docked:focus-visible { outline:2px solid var(--primary); outline-offset:-3px; }
}

.tool-dialog-layer>[data-tool-dialog] { border-radius:var(--radius-3); }

@media(max-width:42rem) {
  .workspace-modal-layer { padding:.75rem; }
  .workspace-modal-body,.workspace-modal-input-wrap { padding:0 1rem 1rem; }
  .workspace-modal>footer button { min-height:var(--touch-h); }
}
