:root {
  --workspace-canvas: #f6f8f7;
  --workspace-surface: #ffffff;
  --workspace-surface-muted: #f1f4f3;
  --workspace-line: #dce3e0;
  --workspace-line-strong: #c6d1cd;
  --workspace-ink: #14223a;
  --workspace-muted: #66716d;
  --workspace-green: #2d6a4f;
  --workspace-green-soft: #e9f2ed;
  --workspace-red: #b33a32;
  --workspace-red-soft: #f9ecea;
  --workspace-focus: #79b89a;
  --workspace-radius: 14px;
  --workspace-radius-control: 8px;
  --workspace-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --workspace-card-shadow: 0 4px 14px rgba(20, 34, 58, 0.04);
  --workspace-type-scale: 1;
  --workspace-ease: 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

html { scroll-behavior: smooth; }

body.workspace-dashboard {
  background: var(--workspace-canvas);
  color: var(--workspace-ink);
  font-family: var(--workspace-font) !important;
}

.workspace-dashboard .workspace-content :where(h1, h2, h3, p, span, strong, b, small, dt, dd, a, button, label, input, select, option) {
  font-family: var(--workspace-font) !important;
}

.workspace-dashboard button,
.workspace-dashboard input,
.workspace-dashboard select {
  font: inherit;
}

/* Keep the shared account control's typography after the workspace button reset. */
.workspace-dashboard .top-navbar .auth-btn {
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.navbar-studio-button {
  min-height: 34px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 7px;
  background: var(--workspace-surface);
  color: var(--workspace-ink);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.navbar-studio-button:hover { background: var(--workspace-surface-muted); color: var(--workspace-green); }
.navbar-studio-button i { color: var(--workspace-green); font-size: 15px; }

.dashboard-edit-strip {
  --edit-strip-main-height: 54px;
  position: fixed;
  top: 0;
  left: var(--sidebar-navbar-offset, var(--sidebar-width));
  z-index: 1500;
  width: calc(100% - var(--sidebar-navbar-offset, var(--sidebar-width)));
  border-bottom: 1px solid #253854;
  background: #17263f;
  color: #fff;
}
.dashboard-edit-strip[hidden] { display: none !important; }
.dashboard-edit-strip-main { min-height: var(--edit-strip-main-height); padding: 7px 16px; display: flex; align-items: center; gap: 10px; }
.dashboard-edit-status { min-width: 176px; display: flex; align-items: center; gap: 9px; }
.dashboard-edit-status-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 6px; background: #244263; color: #8fd0ac; }
.dashboard-edit-status > span:last-child { display: grid; gap: 1px; }
.dashboard-edit-status strong { font-size: 11px; }
.dashboard-edit-status small { color: #afbccb; font-size: 9px; white-space: nowrap; }
.dashboard-edit-control { min-width: 106px; display: grid; gap: 2px; color: #afbccb; font-size: 8px; font-weight: 700; }
.dashboard-edit-control select,
.dashboard-edit-tray select,
.dashboard-edit-tray input { height: 28px; min-width: 0; padding: 0 25px 0 8px; border: 1px solid #3b4d66; border-radius: 5px; background: #20324c; color: #fff; font-size: 10px; }
.dashboard-edit-control select { width: 118px; }
.dashboard-edit-tray-toggle,
.dashboard-edit-discard,
.dashboard-edit-apply,
.dashboard-edit-save-layout button { min-height: 32px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 6px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.dashboard-edit-tray-toggle,
.dashboard-edit-discard { border: 1px solid #42546c; background: transparent; color: #dce4ed; }
.dashboard-edit-tray-toggle:hover,
.dashboard-edit-discard:hover { background: #203650; color: #fff; }
.dashboard-edit-tray-toggle[aria-expanded="true"] { border-color: #79bf99; color: #9bd3b4; }
.dashboard-edit-actions { margin-left: auto; display: flex; gap: 7px; }
.dashboard-edit-apply { border: 1px solid #79bf99; background: #79bf99; color: #14223a; }
.dashboard-edit-apply:hover { background: #92d0ad; }
.dashboard-edit-tray { min-height: 94px; padding: 10px 16px 12px; display: grid; grid-template-columns: minmax(360px, 1.4fr) minmax(320px, 1fr) minmax(250px, 0.8fr); gap: 18px; border-top: 1px solid #30435e; background: #1c2c45; }
.dashboard-edit-tray[hidden] { display: none !important; }
.dashboard-edit-tray-section { min-width: 0; display: grid; align-content: start; gap: 7px; }
.dashboard-edit-tray-section > strong { color: #dce4ed; font-size: 9px; }
.dashboard-edit-card-toggles { display: flex; flex-wrap: wrap; gap: 5px; }
.dashboard-edit-card-toggle { min-height: 25px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid #3b4d66; border-radius: 5px; background: #20324c; color: #afbccb; font-size: 9px; }
.dashboard-edit-card-toggle:has(input:checked) { border-color: #527b68; color: #b7ddc9; }
.dashboard-edit-card-toggle input { width: 13px; height: 13px; accent-color: #79bf99; }
.dashboard-edit-style-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-edit-style-options > strong { grid-column: 1 / -1; }
.dashboard-edit-style-options label { display: grid; gap: 3px; color: #afbccb; font-size: 8px; }
.dashboard-edit-save-layout { grid-template-columns: minmax(0, 1fr) auto; }
.dashboard-edit-save-layout > strong { grid-column: 1 / -1; }
.dashboard-edit-save-layout input { width: 100%; padding-right: 8px; }
.dashboard-edit-save-layout button { min-height: 28px; border: 1px solid #527b68; background: #274936; color: #b7ddc9; }

body.workspace-inline-edit { --dashboard-edit-offset: 54px; }
body.workspace-inline-edit.inline-edit-options-open { --dashboard-edit-offset: 148px; }
body.workspace-inline-edit .top-navbar { top: var(--dashboard-edit-offset) !important; }
body.workspace-inline-edit .main { padding-top: calc(56px + var(--dashboard-edit-offset)) !important; }
body.workspace-inline-edit [data-workspace-tile] { outline: 1px dashed color-mix(in srgb, var(--workspace-green) 42%, transparent); outline-offset: -4px; }
body.workspace-inline-edit [data-workspace-tile] > .tile-control-rail { display: flex; }

@media (max-width: 1150px) {
  .dashboard-edit-strip-main { overflow-x: auto; }
  .dashboard-edit-status { min-width: 156px; }
  .dashboard-edit-actions { position: sticky; right: 0; padding-left: 8px; background: #17263f; }
}
@media (max-width: 879px) {
  .dashboard-edit-strip { left: 0; width: 100%; }
  .dashboard-edit-control { min-width: 94px; }
  .dashboard-edit-control select { width: 106px; }
  .dashboard-edit-tray { grid-template-columns: 1fr; max-height: 210px; overflow-y: auto; }
  body.workspace-inline-edit.inline-edit-options-open { --dashboard-edit-offset: 264px; }
}

/* Bottom editing dock. The dashboard remains full-width while the draft tools float above it. */
.dashboard-edit-strip {
  inset: auto 24px max(18px, env(safe-area-inset-bottom)) calc(var(--sidebar-navbar-offset, var(--sidebar-width)) + 24px);
  width: min(1080px, calc(100vw - var(--sidebar-navbar-offset, var(--sidebar-width)) - 48px));
  max-height: min(600px, calc(100dvh - 96px));
  margin-inline: auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 24px;
  background: var(--workspace-surface);
  color: var(--workspace-ink);
  box-shadow: 0 20px 48px rgba(20, 34, 58, 0.18);
}
.dashboard-edit-strip-main { min-height: 68px; padding: 12px 14px 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--workspace-line); background: var(--workspace-surface); }
.dashboard-edit-status { min-width: 0; }
.dashboard-edit-status-icon { width: 38px; height: 38px; border-radius: 50%; background: var(--workspace-green-soft); color: var(--workspace-green); }
.dashboard-edit-status strong { color: var(--workspace-ink); font-size: 14px; text-wrap: balance; }
.dashboard-edit-status small { color: var(--workspace-muted); font-size: 10px; line-height: 1.4; white-space: normal; text-wrap: pretty; }
.dashboard-edit-bubble-tools { display: flex; align-items: center; gap: 8px; }
.dashboard-add-card-button,
.dashboard-trash-target { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--workspace-line-strong); border-radius: 999px; background: var(--workspace-surface-muted); color: var(--workspace-ink); font-size: 10px; font-weight: 750; }
.dashboard-add-card-button { padding: 0 15px; gap: 7px; }
.dashboard-add-card-button i { color: var(--workspace-green); font-size: 16px; }
.dashboard-add-card-button:hover { border-color: var(--workspace-green); color: var(--workspace-green); }
.dashboard-trash-target { width: 40px; padding: 0; color: var(--workspace-muted); }
.dashboard-trash-target i { font-size: 17px; }
.dashboard-trash-target:disabled { opacity: .42; cursor: not-allowed; }
.dashboard-trash-target:not(:disabled):hover { border-color: color-mix(in srgb, var(--workspace-red) 45%, var(--workspace-line)); background: var(--workspace-red-soft); color: var(--workspace-red); }
.dashboard-trash-target.is-drag-over { border-color: var(--workspace-red); background: var(--workspace-red); color: #fff; transform: scale(1.08); }
.dashboard-edit-drawer-body { min-height: 0; padding: 14px; display: grid; grid-template-columns: 1.12fr 1fr 1.18fr; gap: 10px; overflow-y: auto; scrollbar-gutter: stable; }
.dashboard-edit-drawer-section,
.dashboard-edit-tray { min-width: 0; padding: 14px; border: 1px solid var(--workspace-line); border-radius: 17px; background: var(--workspace-surface-muted); }
.dashboard-edit-drawer-section { display: grid; align-content: start; gap: 9px; }
.dashboard-workspace-style { grid-template-columns: 1fr 1fr; }
.dashboard-workspace-style > strong { grid-column: 1 / -1; }
.dashboard-edit-drawer-section > strong,
.dashboard-edit-tray-section > strong { color: var(--workspace-muted); font-size: 9px; text-transform: uppercase; }
.dashboard-edit-control { min-width: 0; display: grid; gap: 5px; color: var(--workspace-muted); font-size: 10px; }
.dashboard-edit-control select,
.dashboard-edit-tray select,
.dashboard-edit-tray input,
.dashboard-selected-card select { width: 100%; height: 38px; padding: 0 30px 0 10px; border: 1px solid var(--workspace-line-strong); border-radius: 7px; background: var(--workspace-surface); color: var(--workspace-ink); font-size: 11px; }
.dashboard-selected-card h3 { margin: 0; color: var(--workspace-ink); font-size: 15px; text-wrap: balance; }
.dashboard-selected-card > p { margin: -3px 0 0; color: var(--workspace-muted); font-size: 11px; line-height: 1.5; text-wrap: pretty; }
#inlineSelectedCardControls { display: grid; gap: 12px; }
#inlineSelectedCardControls[hidden] { display: none !important; }
.dashboard-selected-visibility { display: flex; align-items: center; gap: 8px; color: var(--workspace-ink); font-size: 11px; font-weight: 650; }
.dashboard-selected-visibility input { width: 17px; height: 17px; accent-color: var(--workspace-green); }
#inlineSelectedCardControls > label:not(.dashboard-selected-visibility) { display: grid; gap: 5px; color: var(--workspace-muted); font-size: 10px; }
.dashboard-selected-position { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.dashboard-selected-position button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--workspace-line-strong); border-radius: 999px; background: var(--workspace-surface); color: var(--workspace-ink); font-size: 10px; font-weight: 700; }
.dashboard-selected-position button:hover { border-color: var(--workspace-green); color: var(--workspace-green); }
.dashboard-selected-position button:disabled { opacity: .35; cursor: not-allowed; }
.dashboard-edit-tray { min-height: 0; display: grid; grid-template-columns: 1fr; align-content: start; gap: 13px; }
.dashboard-edit-tray-section + .dashboard-edit-tray-section { padding-top: 13px; border-top: 1px solid var(--workspace-line); }
.dashboard-edit-style-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dashboard-edit-style-options > strong { grid-column: 1 / -1; }
.dashboard-edit-style-options label:last-child { grid-column: 1 / -1; }
.dashboard-edit-style-options label { color: var(--workspace-muted); }
.dashboard-edit-save-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.dashboard-edit-save-layout > strong { grid-column: 1 / -1; }
.dashboard-edit-save-layout button { min-height: 38px; padding-inline: 13px; border: 1px solid var(--workspace-green); border-radius: 999px; background: var(--workspace-green-soft); color: var(--workspace-green); }
.dashboard-edit-actions { margin: 0; padding: 10px 14px 14px; display: flex; justify-content: flex-end; gap: 8px; background: var(--workspace-surface); }
.dashboard-edit-discard,
.dashboard-edit-apply { min-width: 122px; min-height: 40px; border-radius: 999px; }
.dashboard-edit-discard { border-color: var(--workspace-line-strong); color: var(--workspace-ink); }
.dashboard-edit-discard:hover { background: var(--workspace-surface-muted); color: var(--workspace-ink); }
.dashboard-edit-apply { border-color: var(--workspace-green); background: var(--workspace-green); color: #fff; }
.dashboard-edit-apply:hover { background: #245940; }
.dashboard-edit-tray-toggle[hidden] { display: none !important; }

body.workspace-inline-edit { --dashboard-edit-offset: 0px; }
body.workspace-inline-edit .workspace-main { margin-right: 0 !important; padding-top: 56px !important; }
body.workspace-inline-edit .top-navbar { top: 0 !important; width: calc(100% - var(--sidebar-navbar-offset, var(--sidebar-width))) !important; }
body.workspace-inline-edit .workspace-content { padding-bottom: 430px; }
body.workspace-inline-edit [data-workspace-tile].is-inline-selected { outline: 2px solid var(--workspace-green); outline-offset: 2px; }

@media (max-width: 1100px) {
  .dashboard-edit-strip { left: calc(var(--sidebar-navbar-offset, var(--sidebar-width)) + 16px); right: 16px; width: auto; }
  .dashboard-edit-drawer-body { grid-template-columns: 1fr 1fr; }
  .dashboard-edit-tray { grid-column: 1 / -1; grid-template-columns: 1.2fr 1fr; }
  .dashboard-edit-tray-section + .dashboard-edit-tray-section { padding-top: 0; padding-left: 13px; border-top: 0; border-left: 1px solid var(--workspace-line); }
  body.workspace-inline-edit .workspace-content { padding-bottom: 560px; }
}
@media (max-width: 760px) {
  .dashboard-edit-strip { inset: auto 8px max(8px, env(safe-area-inset-bottom)); left: 8px; width: auto; max-height: calc(100dvh - 76px); border-radius: 20px; }
  .dashboard-edit-strip-main { padding-inline: 12px; }
  .dashboard-edit-status small { display: none; }
  .dashboard-add-card-button span { display: none; }
  .dashboard-add-card-button { width: 40px; padding: 0; }
  .dashboard-edit-drawer-body { grid-template-columns: 1fr; }
  .dashboard-edit-tray { grid-column: auto; grid-template-columns: 1fr; }
  .dashboard-edit-tray-section + .dashboard-edit-tray-section { padding-top: 13px; padding-left: 0; border-top: 1px solid var(--workspace-line); border-left: 0; }
  body.workspace-inline-edit .workspace-content { padding-bottom: 680px; }
  body.workspace-inline-edit .top-navbar { width: 100% !important; }
}

/* Minimal icon dock with one small contextual bubble at a time. */
.dashboard-edit-strip {
  inset: auto 20px max(16px, env(safe-area-inset-bottom)) calc(var(--sidebar-navbar-offset, var(--sidebar-width)) + 20px);
  width: max-content;
  max-width: calc(100vw - var(--sidebar-navbar-offset, var(--sidebar-width)) - 40px);
  max-height: none;
  display: block;
  overflow: visible;
  border-radius: 999px;
  background: var(--workspace-surface);
  box-shadow: 0 14px 36px rgba(20, 34, 58, .18);
}
.dashboard-edit-strip-main {
  min-height: 58px;
  padding: 8px;
  gap: 8px;
  overflow: visible;
  border: 0;
  border-radius: inherit;
}
.dashboard-edit-status { position: relative; min-width: 0; }
.dashboard-edit-status > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.dashboard-edit-status-icon { width: 40px; height: 40px; }
.dashboard-edit-bubble-tools { gap: 5px; }
.dashboard-editor-tool,
.dashboard-add-card-button,
.dashboard-trash-target,
.dashboard-edit-discard,
.dashboard-edit-apply {
  position: relative;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: var(--workspace-muted);
}
.dashboard-editor-tool i,
.dashboard-add-card-button i,
.dashboard-trash-target i,
.dashboard-edit-discard i,
.dashboard-edit-apply i { font-size: 17px; }
.dashboard-editor-tool:hover,
.dashboard-editor-tool[aria-expanded="true"],
.dashboard-add-card-button:hover,
.dashboard-edit-discard:hover { border-color: var(--workspace-line); background: var(--workspace-surface-muted); color: var(--workspace-green); }
.dashboard-edit-apply { background: var(--workspace-green); color: #fff; }
.dashboard-edit-apply:hover { background: #245940; color: #fff; }
.dashboard-trash-target:not(:disabled):hover { border-color: color-mix(in srgb, var(--workspace-red) 45%, var(--workspace-line)); background: var(--workspace-red-soft); color: var(--workspace-red); }
.dashboard-trash-target.is-drag-over { border-color: var(--workspace-red); background: var(--workspace-red); color: #fff; transform: scale(1.08); }
.dashboard-editor-divider { width: 1px; height: 24px; margin-inline: 3px; background: var(--workspace-line); }

.dashboard-edit-strip [data-tooltip] { position: relative; }
.dashboard-edit-strip [data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  z-index: 20;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--workspace-ink);
  color: var(--workspace-surface);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 140ms ease-out, transform 140ms ease-out;
  white-space: nowrap;
}
.dashboard-edit-strip [data-tooltip]:hover::after,
.dashboard-edit-strip [data-tooltip]:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.dashboard-edit-strip [data-tooltip].is-tooltip-suppressed::after,
.dashboard-edit-strip:has([data-tooltip]:hover) [data-tooltip]:focus-visible:not(:hover)::after {
  opacity: 0;
  transform: translate(-50%, 4px);
}

.dashboard-edit-drawer-body {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: min(440px, calc(100vw - var(--sidebar-navbar-offset, var(--sidebar-width)) - 32px));
  max-height: min(440px, calc(100dvh - 112px));
  padding: 0;
  display: block;
  overflow-y: auto;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 20px;
  background: var(--workspace-surface);
  box-shadow: 0 16px 38px rgba(20, 34, 58, .17);
  scrollbar-gutter: stable;
}
.dashboard-edit-drawer-body[hidden] { display: none !important; }
.dashboard-edit-drawer-body [data-editor-panel] { display: none; }
.dashboard-edit-drawer-body [data-editor-panel].is-active { display: grid; }
.dashboard-edit-drawer-section,
.dashboard-edit-tray {
  padding: 18px;
  border: 0;
  border-radius: 20px;
  background: var(--workspace-surface);
}
.dashboard-workspace-style { grid-template-columns: 1fr; gap: 16px; }
.dashboard-editor-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dashboard-editor-section-heading > span:first-child { min-width: 0; display: grid; gap: 3px; }
.dashboard-editor-section-heading strong { color: var(--workspace-ink); font-size: 14px; line-height: 1.25; }
.dashboard-editor-section-heading small { color: var(--workspace-muted); font-size: 11px; line-height: 1.4; }
.dashboard-editor-draft-state { min-height: 25px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; border: 1px solid var(--workspace-line-strong); border-radius: 999px; color: var(--workspace-muted); font-size: 11px; font-weight: 700; }
.dashboard-editor-draft-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--workspace-green); }
.dashboard-inline-theme-presets { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dashboard-inline-theme-option { position: relative; min-width: 0; min-height: 78px; padding: 10px; display: grid; grid-template-columns: 38px minmax(0, 1fr) 16px; align-items: center; gap: 10px; border: 1px solid var(--workspace-line); border-radius: 8px; background: var(--workspace-surface); color: var(--workspace-ink); text-align: left; }
.dashboard-inline-theme-option:hover { border-color: var(--workspace-line-strong); background: var(--workspace-surface-muted); }
.dashboard-inline-theme-option.is-selected { border-color: color-mix(in srgb, var(--workspace-green) 58%, var(--workspace-line)); background: color-mix(in srgb, var(--workspace-green-soft) 58%, var(--workspace-surface)); }
.dashboard-inline-theme-swatches { width: 38px; height: 38px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--workspace-line-strong); border-radius: 8px; }
.dashboard-inline-theme-swatches i { min-width: 0; }
.dashboard-inline-theme-copy { min-width: 0; display: grid; gap: 3px; }
.dashboard-inline-theme-copy strong { overflow: hidden; color: var(--workspace-ink); font-size: 11px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-inline-theme-copy small { color: var(--workspace-muted); font-size: 11px; line-height: 1.35; text-wrap: pretty; }
.dashboard-inline-theme-check { color: var(--workspace-green); font-size: 15px; opacity: 0; }
.dashboard-inline-theme-option.is-selected .dashboard-inline-theme-check { opacity: 1; }
.dashboard-editor-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding-top: 2px; }
.dashboard-edit-control-wide { grid-column: 1 / -1; }
.dashboard-theme-options { padding-top: 12px; border-top: 1px solid var(--workspace-line); }
.dashboard-theme-options summary { width: max-content; color: var(--workspace-muted); font-size: 11px; font-weight: 700; cursor: pointer; }
.dashboard-theme-options[open] summary { margin-bottom: 10px; color: var(--workspace-ink); }
.dashboard-theme-options .dashboard-edit-control { max-width: 220px; }
.dashboard-edit-tray.is-active { grid-template-columns: 1fr; }
.dashboard-edit-tray-section + .dashboard-edit-tray-section { padding-top: 14px; padding-left: 0; border-top: 1px solid var(--workspace-line); border-left: 0; }
body.workspace-inline-edit .workspace-content { padding-bottom: 120px; }

@media (max-width: 760px) {
  .dashboard-edit-strip { inset: auto 8px max(8px, env(safe-area-inset-bottom)); width: max-content; max-width: calc(100vw - 16px); }
  .dashboard-edit-strip-main { min-height: 54px; padding: 6px; }
  .dashboard-edit-status { display: none; }
  .dashboard-edit-bubble-tools { gap: 3px; }
  .dashboard-editor-tool,
  .dashboard-add-card-button,
  .dashboard-trash-target,
  .dashboard-edit-discard,
  .dashboard-edit-apply { width: 38px; min-width: 38px; height: 38px; min-height: 38px; }
  .dashboard-editor-divider { margin-inline: 1px; }
  .dashboard-edit-drawer-body { right: 0; width: min(440px, calc(100vw - 16px)); max-height: calc(100dvh - 86px); }
  .dashboard-inline-theme-presets { grid-template-columns: 1fr; }
  body.workspace-inline-edit .workspace-content { padding-bottom: 100px; }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-edit-strip [data-tooltip]::after { transition: none; }
}

.dashboard-add-dialog { width: min(620px, calc(100vw - 32px)); max-height: min(560px, calc(100dvh - 64px)); margin: auto auto max(18px, env(safe-area-inset-bottom)); padding: 0; overflow: hidden; border: 1px solid var(--workspace-line-strong); border-radius: 24px; background: var(--workspace-surface); color: var(--workspace-ink); box-shadow: 0 20px 48px rgba(20, 34, 58, .2); }
.dashboard-add-dialog::backdrop { background: rgba(20, 34, 58, .22); }
.dashboard-add-dialog > form { max-height: min(560px, calc(100dvh - 64px)); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.dashboard-add-dialog header { padding: 18px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--workspace-line); }
.dashboard-add-dialog h2 { margin: 0; color: var(--workspace-ink); font-size: 20px; text-wrap: balance; }
.dashboard-add-dialog header p:last-child { margin: 6px 0 0; color: var(--workspace-muted); font-size: 11px; line-height: 1.5; text-wrap: pretty; }
.dashboard-add-dialog-close { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--workspace-line); border-radius: 50%; background: var(--workspace-surface-muted); color: var(--workspace-muted); }
.dashboard-add-widget-list { min-height: 150px; padding: 16px 20px; display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 8px; overflow-y: auto; }
.dashboard-add-widget-row { min-width: 0; min-height: 64px; padding: 10px 10px 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--workspace-line); border-radius: 16px; background: var(--workspace-surface-muted); }
.dashboard-add-widget-row span { min-width: 0; display: grid; gap: 3px; }
.dashboard-add-widget-row strong { overflow: hidden; color: var(--workspace-ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-add-widget-row small { color: var(--workspace-muted); font-size: 9px; }
.dashboard-add-widget-row button { min-height: 34px; padding: 0 12px; flex: 0 0 auto; border: 1px solid var(--workspace-green); border-radius: 999px; background: var(--workspace-green-soft); color: var(--workspace-green); font-size: 10px; font-weight: 750; }
.dashboard-add-widget-empty { grid-column: 1 / -1; min-height: 140px; padding: 24px; display: grid; place-items: center; align-content: center; gap: 7px; border: 1px dashed var(--workspace-line-strong); border-radius: 18px; color: var(--workspace-muted); text-align: center; }
.dashboard-add-widget-empty i { color: var(--workspace-green); font-size: 22px; }
.dashboard-add-widget-empty strong { color: var(--workspace-ink); font-size: 12px; }
.dashboard-add-widget-empty p { max-width: 38ch; margin: 0; font-size: 10px; line-height: 1.5; text-wrap: pretty; }
.dashboard-add-dialog footer { padding: 12px 20px max(12px, env(safe-area-inset-bottom)); display: flex; justify-content: flex-end; border-top: 1px solid var(--workspace-line); }
.dashboard-add-dialog footer button { min-width: 96px; min-height: 38px; border: 0; border-radius: 999px; background: var(--workspace-green); color: #fff; font-size: 10px; font-weight: 750; }

@media (max-width: 600px) {
  .dashboard-add-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 24px); margin-bottom: max(8px, env(safe-area-inset-bottom)); border-radius: 20px; }
  .dashboard-add-dialog > form { max-height: calc(100dvh - 24px); }
  .dashboard-add-widget-list { grid-template-columns: 1fr; }
}

.workspace-dashboard button:focus-visible,
.workspace-dashboard a:focus-visible,
.workspace-dashboard input:focus-visible,
.workspace-dashboard select:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--workspace-focus) 52%, transparent);
  outline-offset: 2px;
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: 0.75rem;
  z-index: 3000;
  transform: translateY(-180%);
  background: var(--navy);
  color: #fff;
  padding: 0.65rem 0.9rem;
  border-radius: 6px;
}

.skip-link:focus { transform: translateY(0); }

.workspace-main {
  background: var(--workspace-canvas);
}

.workspace-content {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: 22px 38px 64px;
}

.workspace-flow {
  --workspace-grid-unit: 240px;
  --workspace-grid-row: clamp(164px, calc(var(--workspace-grid-unit) * 0.7), 184px);
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-rows: auto;
  gap: 12px;
  isolation: isolate;
}

.workspace-heading {
  padding: 0 4px 18px;
}

.workspace-heading-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(320px, auto) minmax(260px, 1fr) auto;
  grid-template-areas: "title description meta";
  align-items: center;
  gap: 22px;
}

.workspace-title-row {
  grid-area: title;
  display: flex;
  align-items: center;
  gap: 12px;
}

.workspace-page-icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 10px;
  background: var(--workspace-surface);
  color: var(--workspace-green);
  font-size: 20px;
}

.workspace-title {
  color: var(--workspace-ink);
  font-size: calc(30px * var(--workspace-type-scale));
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.workspace-description {
  grid-area: description;
  max-width: 64ch;
  margin: 0;
  color: var(--workspace-muted);
  font-size: calc(14px * var(--workspace-type-scale));
  line-height: 1.6;
  text-wrap: pretty;
}

.workspace-privacy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--workspace-muted);
  font-size: 12px;
}

.workspace-privacy i { color: var(--workspace-green); }

.workspace-heading-meta {
  grid-area: meta;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  white-space: nowrap;
}

.workspace-heading-meta .workspace-privacy { margin: 0; }

.workspace-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.workspace-button,
.workspace-button-secondary,
.insert-block-button,
.section-action,
.btn-interval,
.btn-action-add,
.btn-item-ctrl,
.btn-drawer-save,
.btn-drawer-cancel {
  border: 0;
  cursor: pointer;
  transition: background-color var(--workspace-ease), color var(--workspace-ease), border-color var(--workspace-ease), transform var(--workspace-ease);
}

.workspace-button,
.workspace-button-secondary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: var(--workspace-radius-control);
  background: var(--workspace-surface);
  color: var(--workspace-ink);
  font-size: 13px;
  font-weight: 600;
}

.workspace-button:hover,
.workspace-button-secondary:hover { background: var(--workspace-surface-muted); }
.workspace-button:active,
.workspace-button-secondary:active { transform: translateY(1px); }

.workspace-overview {
  padding: 18px 20px 20px;
  background: color-mix(in srgb, var(--workspace-surface) 78%, var(--workspace-canvas));
}

.workspace-kicker {
  margin-bottom: 16px;
  color: var(--workspace-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.overview-item {
  min-width: 0;
  padding: 0 28px;
  border-left: 1px solid var(--workspace-line);
}

.overview-item:first-child { padding-left: 0; border-left: 0; }
.overview-item:last-child { padding-right: 0; }
.overview-label { color: var(--workspace-muted); font-size: calc(12px * var(--workspace-type-scale)); }
.overview-value {
  display: block;
  margin-top: 6px;
  color: var(--workspace-ink);
  font-size: calc(23px * var(--workspace-type-scale));
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.overview-value.negative { color: var(--workspace-red); }
.overview-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 18px;
  margin-top: 7px;
  color: var(--workspace-muted);
  font-size: 11px;
}

.dashboard-data-status {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--workspace-line) 76%, var(--workspace-green));
  border-radius: var(--workspace-radius);
  background: color-mix(in srgb, var(--workspace-surface) 88%, var(--workspace-green-soft));
  color: var(--workspace-ink);
}
.dashboard-data-status[hidden] { display: none; }
.dashboard-data-status > i { color: var(--workspace-green); font-size: 20px; }
.dashboard-data-status > span { display: grid; gap: 2px; min-width: 0; }
.dashboard-data-status strong { font-size: 12px; }
.dashboard-data-status small { color: var(--workspace-muted); font-size: 11px; }
.dashboard-data-status button {
  margin-left: auto;
  padding: 7px 10px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 7px;
  background: var(--workspace-surface);
  color: var(--workspace-green);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.workspace-loading .overview-value,
[data-workspace-tile][data-load-state="pending"] :is(
  .overview-value,
  .dashboard-widget-primary > strong,
  .dashboard-widget-footer > strong,
  .cash-line strong,
  .cash-net strong,
  .metric-insight-value,
  .metric-detail-grid dd,
  .holdings-summary strong,
  .personal-balance-split strong,
  .ledger-section-heading span:last-child
) {
  width: 7.5rem;
  min-height: 1em;
  border-radius: 4px;
  background: var(--workspace-line);
  color: transparent !important;
  animation: workspace-loading-pulse 900ms ease-in-out infinite alternate;
}
.workspace-loading canvas,
[data-workspace-tile][data-load-state="pending"] canvas { opacity: 0.22; }
[data-workspace-tile][data-load-state="pending"] :is(
  #widgetUpcomingBills,
  #assetMixLegend,
  #holdingsList,
  #assetsList,
  #debtsList
):empty::before {
  content: "";
  display: block;
  width: 100%;
  min-height: 54px;
  border-radius: 7px;
  background: linear-gradient(90deg, var(--workspace-line), transparent, var(--workspace-line));
  background-size: 220% 100%;
  animation: workspace-loading-sweep 1.2s linear infinite;
}
[data-workspace-tile][data-load-state="unavailable"] :is(
  .overview-value,
  .dashboard-widget-primary > strong,
  .dashboard-widget-footer > strong,
  .cash-line strong,
  .cash-net strong,
  .metric-insight-value,
  .metric-detail-grid dd,
  .holdings-summary strong,
  .ledger-section-heading span:last-child
) {
  position: relative;
  color: transparent !important;
}
[data-workspace-tile][data-load-state="unavailable"] :is(
  .overview-value,
  .dashboard-widget-primary > strong,
  .dashboard-widget-footer > strong,
  .cash-line strong,
  .cash-net strong,
  .metric-insight-value,
  .metric-detail-grid dd,
  .holdings-summary strong,
  .ledger-section-heading span:last-child
)::after {
  content: "—";
  position: absolute;
  inset: 0;
  color: var(--workspace-muted);
}
[data-workspace-tile][data-load-state="unavailable"] :is(
  #widgetUpcomingBills,
  #assetMixLegend,
  #holdingsList,
  #assetsList,
  #debtsList
):empty::before {
  content: "Data unavailable";
  display: block;
  padding: 12px 0;
  color: var(--workspace-muted);
  font-size: 11px;
}
[data-workspace-tile][data-load-state="unavailable"] canvas { opacity: 0.08; }
@keyframes workspace-loading-pulse { from { opacity: 0.5; } to { opacity: 1; } }
@keyframes workspace-loading-sweep { from { background-position: 100% 0; } to { background-position: -100% 0; } }

@media (prefers-reduced-motion: reduce) {
  [data-workspace-tile][data-load-state="pending"] *,
  .workspace-loading .overview-value { animation: none !important; }
}

.insert-block-button {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 10px 0;
  border: 1px dashed transparent;
  border-radius: 6px;
  background: transparent;
  color: transparent;
  font-size: 12px;
  font-weight: 600;
}

.workspace-flow:hover .insert-block-button,
.insert-block-button:focus-visible,
.workspace-editing .insert-block-button {
  border-color: var(--workspace-line-strong);
  color: var(--workspace-green);
}

.insert-block-button:hover { background: var(--workspace-green-soft); }

.workspace-report {
  background: var(--workspace-surface);
  border: 1px solid var(--workspace-line);
  border-radius: var(--workspace-radius);
  box-shadow: var(--workspace-card-shadow);
}

body[data-workspace-density="compact"] .workspace-content { padding: 16px 28px 48px; }
body[data-workspace-density="compact"] .workspace-flow { --workspace-grid-row: clamp(150px, calc(var(--workspace-grid-unit) * 0.64), 170px); gap: 8px; }
body[data-workspace-density="compact"] [data-tile-size^="2x"] { --tile-render-height: calc(var(--workspace-grid-row) + var(--workspace-grid-row) + 8px); }
body[data-workspace-density="relaxed"] .workspace-content { padding: 28px 44px 76px; }
body[data-workspace-density="relaxed"] .workspace-flow { --workspace-grid-row: clamp(176px, calc(var(--workspace-grid-unit) * 0.76), 198px); gap: 16px; }
body[data-workspace-density="relaxed"] [data-tile-size^="2x"] { --tile-render-height: calc(var(--workspace-grid-row) + var(--workspace-grid-row) + 16px); }

[data-workspace-tile],
.workspace-tile-phantom {
  --tile-columns: 1;
  --tile-rows: 1;
  grid-column: span var(--tile-columns);
  grid-row: span var(--tile-rows);
}
[data-tile-size="1x1"] { --tile-columns: 1; --tile-rows: 1; }
[data-tile-size="1x2"] { --tile-columns: 2; --tile-rows: 1; }
[data-tile-size="1x4"] { --tile-columns: 4; --tile-rows: 1; }
[data-tile-size="2x1"] { --tile-columns: 1; --tile-rows: 2; }
[data-tile-size="2x2"] { --tile-columns: 2; --tile-rows: 2; }
[data-tile-size="2x4"] { --tile-columns: 4; --tile-rows: 2; }
[data-tile-size^="1x"] { --tile-render-height: var(--workspace-grid-row); }
[data-tile-size^="2x"] { --tile-render-height: calc(var(--workspace-grid-row) + var(--workspace-grid-row) + 12px); }

[data-workspace-tile] {
  position: relative;
  min-width: 0;
  height: var(--tile-free-height, var(--tile-render-height));
  overflow: hidden;
  container-type: inline-size;
  transition: border-color var(--workspace-ease), box-shadow var(--workspace-ease), opacity var(--workspace-ease);
}
[data-workspace-tile].is-dragging { opacity: 0.5; border-color: var(--workspace-focus); }
[data-workspace-tile].is-drop-target { box-shadow: 0 0 0 3px color-mix(in srgb, var(--workspace-focus) 45%, transparent); }
[data-workspace-tile].is-resizing { border-color: var(--workspace-green); box-shadow: 0 0 0 3px color-mix(in srgb, var(--workspace-focus) 38%, transparent); }

.is-dragging-dashboard-tile,
.is-dragging-dashboard-tile * { cursor: grabbing !important; }

.workspace-flow.is-layout-preview {
  border-radius: var(--workspace-radius);
  background: color-mix(in srgb, var(--workspace-green-soft) 38%, transparent);
}

.workspace-tile-phantom {
  position: relative;
  min-width: 0;
  height: var(--tile-free-height, var(--tile-render-height));
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--workspace-green) 48%, var(--workspace-line));
  border-radius: var(--workspace-radius);
  background: color-mix(in srgb, var(--workspace-green-soft) 68%, var(--workspace-surface));
  pointer-events: none;
  animation: workspace-phantom-arrive 180ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.workspace-phantom-cells {
  position: absolute;
  inset: 10px;
  display: grid;
  grid-template-columns: repeat(var(--tile-columns), minmax(0, 1fr));
  grid-template-rows: repeat(var(--tile-rows), minmax(0, 1fr));
  gap: 8px;
}
.workspace-phantom-cells i {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--workspace-green) 30%, var(--workspace-line));
  border-radius: 9px;
  background: color-mix(in srgb, var(--workspace-surface) 68%, transparent);
}
.workspace-phantom-replica {
  position: absolute;
  inset: 26% 12%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: center;
  gap: 8px;
  opacity: 0.56;
}
.workspace-phantom-replica span,
.workspace-phantom-replica b { display: block; height: 7px; border-radius: 3px; background: var(--workspace-green); }
.workspace-phantom-replica span { grid-column: 1 / -1; width: 34%; }
.workspace-phantom-replica b { opacity: 0.34; }
.phantom-trajectory .workspace-phantom-replica { inset-block: 28%; grid-template-columns: 1fr; transform: skewY(-7deg); }
.phantom-assetmix .workspace-phantom-replica b:last-child { border-radius: 50%; height: 38px; }
.phantom-ledger .workspace-phantom-replica { grid-template-columns: 1fr; }
.workspace-phantom-label {
  position: absolute;
  left: 18px;
  bottom: 16px;
  color: var(--workspace-green);
  font-size: 11px;
  font-weight: 700;
}
@keyframes workspace-phantom-arrive {
  from { opacity: 0.4; transform: scale(0.985); }
  to { opacity: 1; transform: scale(1); }
}

.workspace-drag-ghost {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200;
  min-width: 196px;
  max-width: min(280px, calc(100vw - 24px));
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--workspace-green) 34%, var(--workspace-line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--workspace-surface) 96%, transparent);
  color: var(--workspace-ink);
  box-shadow: 0 14px 32px rgba(20, 34, 58, 0.18);
  pointer-events: none;
  will-change: transform;
}
.workspace-drag-ghost > i {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 7px;
  background: var(--workspace-green-soft);
  color: var(--workspace-green);
  font-size: 16px;
}
.workspace-drag-ghost > span { min-width: 0; display: grid; gap: 2px; }
.workspace-drag-ghost strong {
  overflow: hidden;
  color: var(--workspace-ink);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workspace-drag-ghost small { color: var(--workspace-muted); font-size: 10px; font-weight: 600; }

.tile-control-rail {
  position: absolute;
  right: 9px;
  bottom: 9px;
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: 0.68;
  transform: translateY(0);
  transition: opacity var(--workspace-ease), transform var(--workspace-ease);
}
/* Dashboard cards stay static; layout controls live exclusively in the editor dialog. */
[data-workspace-tile] > .tile-control-rail { display: none; }
[data-workspace-tile]:hover > .tile-control-rail,
[data-workspace-tile]:focus-within > .tile-control-rail,
.workspace-editing [data-workspace-tile] > .tile-control-rail,
.is-layout-preview [data-workspace-tile] > .tile-control-rail {
  opacity: 1;
  transform: translateY(0);
}
.tile-drag-handle,
.tile-resize-handle {
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 7px;
  background: color-mix(in srgb, var(--workspace-surface) 94%, transparent);
  color: var(--workspace-muted);
  box-shadow: 0 4px 12px rgba(20, 34, 58, 0.08);
  backdrop-filter: blur(8px);
  cursor: grab;
}
.tile-drag-handle { width: 34px; touch-action: none; user-select: none; }
.tile-resize-handle { width: 34px; padding: 0; cursor: nwse-resize; touch-action: none; }
.tile-resize-handle.is-free-height {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: var(--workspace-muted);
  opacity: 0.42;
  cursor: ns-resize;
}
.tile-resize-handle.is-free-height:hover,
.tile-resize-handle.is-free-height:focus-visible {
  border-color: var(--workspace-line-strong);
  background: var(--workspace-surface);
  opacity: 1;
}
.tile-drag-handle:hover,
.tile-resize-handle:hover,
.tile-drag-handle:focus-visible,
.tile-resize-handle:focus-visible { background: var(--workspace-surface); color: var(--workspace-green); }
.tile-drag-handle:active { cursor: grabbing; }
.is-directly-draggable.is-dragging { cursor: grabbing; }

@media (hover: none) {
  .tile-control-rail { opacity: 0.82; }
}

.tile-size-menu {
  position: absolute;
  right: 0;
  bottom: 38px;
  width: min(228px, calc(100cqw - 18px));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  padding: 7px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 9px;
  background: var(--workspace-surface);
  box-shadow: 0 14px 38px rgba(20, 34, 58, 0.17);
}
.tile-size-menu[hidden] { display: none; }
.tile-size-menu button {
  min-height: 48px;
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 7px;
  padding: 6px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--workspace-muted);
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.tile-size-menu button:hover { background: var(--workspace-surface-muted); color: var(--workspace-ink); }
.tile-size-menu button[aria-checked="true"] { background: var(--workspace-green-soft); color: var(--workspace-green); }
.tile-size-glyph {
  width: 30px;
  height: 22px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 1px;
}
.tile-size-glyph i { border: 1px solid var(--workspace-line-strong); border-radius: 2px; background: transparent; }
.tile-size-glyph.size-1x1 i:nth-child(1),
.tile-size-glyph.size-1x2 i:nth-child(-n + 2),
.tile-size-glyph.size-1x4 i:nth-child(-n + 4),
.tile-size-glyph.size-2x1 i:nth-child(1),
.tile-size-glyph.size-2x1 i:nth-child(5),
.tile-size-glyph.size-2x2 i:nth-child(1),
.tile-size-glyph.size-2x2 i:nth-child(2),
.tile-size-glyph.size-2x2 i:nth-child(5),
.tile-size-glyph.size-2x2 i:nth-child(6),
.tile-size-glyph.size-2x4 i { border-color: currentColor; background: currentColor; opacity: 0.72; }

.workspace-layout-announcer {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.report-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px 0;
}

.report-title { color: var(--workspace-ink); font-size: calc(15px * var(--workspace-type-scale)); font-weight: 700; }
.report-description { margin-top: 5px; color: var(--workspace-muted); font-size: calc(12px * var(--workspace-type-scale)); line-height: 1.5; }
.report-actions { display: flex; align-items: center; gap: 6px; }
.chart-controls { display: flex; align-items: center; gap: 3px; }
.btn-interval {
  min-width: 38px;
  height: 32px;
  padding: 0 9px;
  border-radius: 6px;
  background: transparent;
  color: var(--workspace-muted);
  font-size: 11px;
  font-weight: 600;
}
.btn-interval:hover { background: var(--workspace-surface-muted); color: var(--workspace-ink); }
.btn-interval.active { background: var(--workspace-green-soft); color: var(--workspace-green); }

.workspace-report[data-workspace-block="trajectory"] { display: flex; flex-direction: column; }
.trajectory-chart { flex: 1; min-height: 0; height: auto; padding: 12px 18px 18px; }

.workspace-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: 12px;
}

.analysis-stack {
  display: grid;
  grid-template-rows: auto auto;
}

.analysis-section { padding: 20px 22px; }
.workspace-analysis-card { display: flex; }
.analysis-section-fill { width: 100%; min-height: 0; overflow: auto; }
.analysis-section + .analysis-section { border-top: 1px solid var(--workspace-line); }
.analysis-header,
.ledger-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.analysis-title,
.ledger-title { color: var(--workspace-ink); font-size: calc(14px * var(--workspace-type-scale)); font-weight: 700; }
.analysis-copy { margin-top: 4px; color: var(--workspace-muted); font-size: calc(11px * var(--workspace-type-scale)); }
.section-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px;
  background: transparent;
  color: var(--workspace-green);
  font-size: 11px;
  font-weight: 600;
}
.section-action:hover { color: var(--workspace-ink); }

.cash-flow-layout {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 22px;
  align-items: end;
}
.cash-flow-values { display: grid; gap: 10px; }
.cash-line,
.cash-net {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--workspace-muted);
  font-size: 12px;
}
.cash-line strong,
.cash-net strong { color: var(--workspace-ink); font-variant-numeric: tabular-nums; }
.cash-net {
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid var(--workspace-line);
  font-weight: 700;
  color: var(--workspace-ink);
}
.cash-net strong.negative { color: var(--workspace-red); }
.cash-bars { display: grid; gap: 12px; }
.cash-bar-row { display: grid; grid-template-columns: 68px 1fr; gap: 10px; align-items: center; color: var(--workspace-muted); font-size: 11px; }
.cash-track { height: 9px; overflow: hidden; border-radius: 3px; background: var(--workspace-surface-muted); }
.cash-fill { width: 0; height: 100%; background: var(--workspace-green); transition: width 320ms cubic-bezier(0.16, 1, 0.3, 1); }
.cash-fill.expenses { background: var(--workspace-red); }

.asset-mix-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 20px;
  align-items: center;
}
.asset-mix-chart { height: 145px; }
.asset-mix-note { color: var(--workspace-muted); font-size: 12px; line-height: 1.65; }
.asset-mix-note strong { display: block; color: var(--workspace-ink); font-size: 13px; }
.mix-legend { display: grid; gap: 6px; margin-top: 12px; }
.mix-legend-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--workspace-muted); font-size: 10px; }
.mix-legend-row span { display: inline-flex; align-items: center; gap: 6px; }
.mix-legend-row i { width: 7px; height: 7px; border-radius: 2px; }
.mix-legend-row strong { color: var(--workspace-ink); font-variant-numeric: tabular-nums; }
.mix-empty { color: var(--workspace-muted); font-size: 11px; }

.dashboard-widget {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 18px;
}
.dashboard-widget-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dashboard-widget-header > div { min-width: 0; display: grid; gap: 3px; }
.dashboard-widget-kicker { color: var(--workspace-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.dashboard-widget-title { margin: 0; color: var(--workspace-ink); font-size: 14px; line-height: 1.25; text-wrap: balance; }
.dashboard-widget-icon {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--workspace-green) 24%, var(--workspace-line));
  border-radius: 8px;
  background: var(--workspace-green-soft);
  color: var(--workspace-green);
  font-size: 16px;
}
.dashboard-widget-link:hover { border-color: var(--workspace-green); color: var(--workspace-green); }
.dashboard-widget-primary { min-width: 0; display: grid; gap: 4px; }
.dashboard-widget-primary strong { color: var(--workspace-ink); font-size: calc(27px * var(--workspace-type-scale)); line-height: 1; font-variant-numeric: tabular-nums; }
.dashboard-widget-primary strong.negative { color: var(--workspace-red); }
.dashboard-widget-primary span { overflow: hidden; color: var(--workspace-muted); font-size: 10px; line-height: 1.4; text-overflow: ellipsis; text-wrap: pretty; }
.dashboard-widget-score strong { font-size: calc(34px * var(--workspace-type-scale)); }
.dashboard-widget-progress { height: 6px; overflow: hidden; border-radius: 3px; background: var(--workspace-surface-muted); }
.dashboard-widget-progress span { display: block; width: 0; height: 100%; background: var(--workspace-green); }
.dashboard-widget-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--workspace-line); }
.dashboard-widget-footer span { min-width: 0; overflow: hidden; color: var(--workspace-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-widget-footer strong { color: var(--workspace-ink); font-size: 11px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-widget-list { min-height: 0; display: grid; align-content: start; }
.dashboard-widget-list-row { min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 34px; border-top: 1px solid var(--workspace-line); }
.dashboard-widget-list-row:first-child { border-top: 0; }
.dashboard-widget-list-icon { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; background: var(--workspace-surface-muted); color: var(--workspace-green); font-size: 12px; }
.dashboard-widget-list-copy { min-width: 0; display: grid; gap: 1px; }
.dashboard-widget-list-copy strong { overflow: hidden; color: var(--workspace-ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-widget-list-copy small { color: var(--workspace-muted); font-size: 8px; }
.dashboard-widget-list-value { color: var(--workspace-ink); font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-widget-empty { margin: auto 0; color: var(--workspace-muted); font-size: 10px; line-height: 1.5; text-align: center; text-wrap: pretty; }
.dashboard-feature-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding-top: 11px;
  border-top: 1px solid var(--workspace-line);
}
.dashboard-feature-stats div { min-width: 0; display: grid; gap: 3px; }
.dashboard-feature-stats dt { color: var(--workspace-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.dashboard-feature-stats dd { overflow: hidden; margin: 0; color: var(--workspace-ink); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.personal-balance-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.personal-balance-split div { min-width: 0; display: grid; gap: 5px; padding: 10px; border: 1px solid var(--workspace-line); border-radius: 8px; background: var(--workspace-surface-muted); }
.personal-balance-split span { color: var(--workspace-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.personal-balance-split strong { overflow: hidden; color: var(--workspace-ink); font-size: calc(17px * var(--workspace-type-scale)); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.personal-balance-split div:first-child strong { color: var(--workspace-red); }
.community-widget .dashboard-widget-primary strong::after { content: " saved"; color: var(--workspace-muted); font-size: 10px; font-weight: 600; }
.bills-widget[data-tile-size="1x1"] { gap: 6px; }
.bills-widget[data-tile-size="1x1"] .dashboard-widget-list-row { min-height: 28px; }
.bills-widget[data-tile-size="1x1"] .dashboard-widget-list-row:nth-child(n + 3) { display: none; }
.bills-widget[data-tile-size="1x1"] .dashboard-widget-footer { padding-top: 6px; }

.dashboard-widget[data-tile-size="1x2"],
.dashboard-widget[data-tile-size="1x4"] { padding: 18px 20px; }
.dashboard-widget[data-tile-size="1x2"] .dashboard-widget-primary strong,
.dashboard-widget[data-tile-size="1x4"] .dashboard-widget-primary strong { font-size: calc(32px * var(--workspace-type-scale)); }
.dashboard-widget[data-tile-size="1x4"] { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(180px, 1fr) minmax(180px, 1fr); align-items: center; gap: 28px; }
.dashboard-widget[data-tile-size="1x4"] .dashboard-widget-header { grid-column: 1; grid-row: 1 / span 2; align-items: center; }
.dashboard-widget[data-tile-size="1x4"] .dashboard-widget-primary { grid-column: 2; grid-row: 1; }
.dashboard-widget[data-tile-size="1x4"] .dashboard-widget-progress { grid-column: 2; grid-row: 2; }
.dashboard-widget[data-tile-size="1x4"] .dashboard-widget-footer { grid-column: 3; grid-row: 1 / span 2; align-self: stretch; padding: 0 0 0 24px; border-top: 0; border-left: 1px solid var(--workspace-line); }
.debt-payoff-widget[data-tile-size="1x4"] .dashboard-feature-stats { grid-column: 3; grid-row: 1 / span 2; align-self: stretch; align-content: center; padding: 0 0 0 24px; border-top: 0; border-left: 1px solid var(--workspace-line); }
.personal-balances-widget[data-tile-size="1x4"] .personal-balance-split { grid-column: 2; grid-row: 1 / span 2; }
.bills-widget[data-tile-size="1x4"] .dashboard-widget-list { grid-column: 2; grid-row: 1 / span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bills-widget[data-tile-size="1x4"] .dashboard-widget-list-row { border-top: 0; }
.dashboard-widget[data-tile-size="2x1"],
.dashboard-widget[data-tile-size="2x2"],
.dashboard-widget[data-tile-size="2x4"] { padding: 22px 24px; }
.dashboard-widget[data-tile-size^="2x"] .dashboard-widget-primary strong { font-size: calc(40px * var(--workspace-type-scale)); }
.dashboard-widget[data-tile-size^="2x"] .dashboard-widget-progress { height: 9px; }
.dashboard-widget[data-tile-size^="2x"] .dashboard-widget-list-row { min-height: 48px; }
.dashboard-widget[data-tile-size^="2x"] .dashboard-feature-stats dd { font-size: 14px; }
.personal-balances-widget[data-tile-size^="2x"] .personal-balance-split strong { font-size: calc(26px * var(--workspace-type-scale)); }
.debt-payoff-widget[data-tile-size="1x1"] .dashboard-feature-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top: 7px; }
.debt-payoff-widget[data-tile-size="1x1"] .dashboard-feature-stats div:nth-child(3) { display: none; }
.debt-payoff-widget[data-tile-size="1x1"] .dashboard-widget-primary span { display: none; }

.metric-insight-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 20px 22px;
}
.metric-insight-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.metric-insight-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--workspace-green) 24%, var(--workspace-line));
  border-radius: 8px;
  background: var(--workspace-green-soft);
  color: var(--workspace-green);
  font-size: 17px;
}
.metric-insight-icon.danger { border-color: color-mix(in srgb, var(--workspace-red) 20%, var(--workspace-line)); background: var(--workspace-red-soft); color: var(--workspace-red); }
.metric-insight-body { min-height: 0; display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 16px; }
.metric-insight-primary { display: grid; gap: 4px; }
.metric-insight-label { color: var(--workspace-muted); font-size: 10px; font-weight: 650; letter-spacing: 0.04em; text-transform: uppercase; }
.metric-insight-value { color: var(--workspace-ink); font-size: calc(30px * var(--workspace-type-scale)); line-height: 1.08; font-weight: 700; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; }
.metric-insight-value.negative,
.metric-detail-grid .negative { color: var(--workspace-red); }
.metric-insight-status { color: var(--workspace-muted); font-size: 10px; line-height: 1.45; }
.metric-progress { height: 7px; overflow: hidden; border-radius: 3px; background: var(--workspace-surface-muted); }
.metric-progress span { display: block; width: 0; height: 100%; background: var(--workspace-green); transition: width 320ms cubic-bezier(0.16, 1, 0.3, 1); }
.metric-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.metric-detail-grid div { min-width: 0; padding-top: 10px; border-top: 1px solid var(--workspace-line); }
.metric-detail-grid dt { color: var(--workspace-muted); font-size: 9px; }
.metric-detail-grid dd { margin-top: 4px; color: var(--workspace-ink); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.holdings-summary { display: flex; align-items: baseline; gap: 8px; margin: -2px 0 14px; }
.holdings-summary strong { color: var(--workspace-ink); font-size: 22px; font-variant-numeric: tabular-nums; }
.holdings-summary span { color: var(--workspace-muted); font-size: 10px; }
.holdings-list { min-height: 0; display: grid; align-content: start; overflow: auto; }
.holding-row { min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 2px; border-top: 1px solid var(--workspace-line); }
.holding-rank { color: var(--workspace-muted); font-size: 10px; font-weight: 700; }
.holding-copy { min-width: 0; display: grid; gap: 3px; }
.holding-copy strong { overflow: hidden; color: var(--workspace-ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.holding-copy small { color: var(--workspace-muted); font-size: 9px; text-transform: capitalize; }
.holding-copy i { height: 3px; overflow: hidden; border-radius: 2px; background: var(--workspace-surface-muted); }
.holding-copy b { display: block; height: 100%; background: var(--workspace-green); }
.holding-value { color: var(--workspace-ink); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.holdings-empty { align-self: center; padding: 36px 14px; color: var(--workspace-muted); font-size: 11px; line-height: 1.55; text-align: center; }

.ledger-report { min-width: 0; padding: 20px 22px; overflow: auto; }
.ledger-actions { display: flex; align-items: center; gap: 8px; }
.btn-action-add {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 6px;
  background: var(--workspace-surface);
  color: var(--workspace-green);
  font-size: 11px;
  font-weight: 600;
}
.btn-action-add:hover { background: var(--workspace-green-soft); }
.btn-action-add.danger { color: var(--workspace-red); }
.btn-action-add.danger:hover { background: var(--workspace-red-soft); }

.ledger-section + .ledger-section { margin-top: 24px; }
.ledger-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--workspace-line);
  color: var(--workspace-green);
  font-size: 12px;
  font-weight: 700;
}
.ledger-section-heading.liability { color: var(--workspace-red); }
.ledger-list { display: flex; flex-direction: column; }
.ledger-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 54px;
  padding: 9px 4px;
  border: 0;
  border-bottom: 1px solid var(--workspace-line);
  border-radius: 0;
  background: transparent;
}
.ledger-item:last-child { border-bottom: 0; }
.ledger-item:hover { background: var(--workspace-surface-muted); }
.item-meta { min-width: 0; }
.item-name { display: block; overflow: hidden; color: var(--workspace-ink); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.item-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 4px; color: var(--workspace-muted); font-size: 10px; }
.item-value-actions { display: flex; align-items: center; gap: 6px; }
.item-value { margin-right: 4px; color: var(--workspace-ink); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rate-indicator { padding: 2px 5px; border-radius: 3px; font-size: 9px; font-weight: 700; }
.rate-grow { background: var(--workspace-green-soft); color: var(--workspace-green); }
.rate-decay { background: var(--workspace-red-soft); color: var(--workspace-red); }
.btn-item-ctrl {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: transparent;
  color: var(--workspace-muted);
}
.btn-item-ctrl:hover { background: var(--workspace-surface); color: var(--workspace-ink); }
.btn-item-delete:hover { background: var(--workspace-red-soft); color: var(--workspace-red); }
.ledger-empty {
  padding: 26px 14px;
  text-align: center;
  color: var(--workspace-muted);
  font-size: 12px;
  line-height: 1.55;
}

.drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(20, 34, 58, 0.34);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--workspace-ease);
}
.drawer-overlay.active { opacity: 1; pointer-events: auto; }
.drawer-overlay[hidden],
.drawer[hidden],
.confirm-dialog[hidden] { display: none !important; }
.drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 1200;
  width: min(420px, 100vw);
  display: flex;
  flex-direction: column;
  background: var(--workspace-surface);
  border-left: 1px solid var(--workspace-line);
  box-shadow: -16px 0 40px rgba(20, 34, 58, 0.12);
  transform: translateX(102%);
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.drawer.active { transform: translateX(0); }
.drawer-header,
.drawer-footer { display: flex; align-items: center; gap: 10px; padding: 20px 22px; }
.drawer-header { justify-content: space-between; border-bottom: 1px solid var(--workspace-line); }
.drawer-title { color: var(--workspace-ink); font-size: 18px; font-weight: 700; }
.drawer-body { flex: 1; overflow-y: auto; padding: 22px; }
.drawer-body form { display: grid; gap: 16px; }
.drawer-footer { border-top: 1px solid var(--workspace-line); }
.form-group { display: grid; gap: 7px; }
.form-label { color: var(--workspace-ink); font-size: 12px; font-weight: 600; }
.form-input,
.form-select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 7px;
  background: var(--workspace-surface);
  color: var(--workspace-ink);
}
.form-input:focus,
.form-select:focus { border-color: var(--workspace-green); outline: 3px solid color-mix(in srgb, var(--workspace-focus) 35%, transparent); }
.btn-drawer-save,
.btn-drawer-cancel { min-height: 42px; flex: 1; border-radius: 7px; font-weight: 700; }
.btn-drawer-save { background: var(--workspace-green); color: #fff; }
.btn-drawer-save:hover { background: #245940; }
.btn-drawer-cancel { border: 1px solid var(--workspace-line-strong); background: var(--workspace-surface); color: var(--workspace-ink); }
.btn-drawer-cancel:hover { background: var(--workspace-surface-muted); }

.workspace-dialog,
.confirm-dialog {
  width: min(520px, calc(100vw - 32px));
  max-height: min(720px, calc(100dvh - 48px));
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 14px;
  background: var(--workspace-surface);
  color: var(--workspace-ink);
  box-shadow: 0 24px 70px rgba(20, 34, 58, 0.18);
}
.workspace-dialog::backdrop,
.confirm-dialog::backdrop { background: rgba(20, 34, 58, 0.38); }
.workspace-dialog { width: min(780px, calc(100vw - 32px)); }
.workspace-dialog > form {
  max-height: min(720px, calc(100dvh - 48px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid var(--workspace-line); }
.dialog-title { font-size: 18px; font-weight: 700; }
.dialog-copy { margin-top: 5px; color: var(--workspace-muted); font-size: 12px; line-height: 1.55; }
.dialog-body { min-height: 0; display: grid; gap: 20px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 22px; scrollbar-gutter: stable; }
.dialog-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 16px 22px; border-top: 1px solid var(--workspace-line); }
.dialog-field { display: grid; gap: 7px; }
.dialog-field label { font-size: 12px; font-weight: 650; }
.dialog-field input { min-height: 42px; padding: 0 12px; border: 1px solid var(--workspace-line-strong); border-radius: 7px; background: var(--workspace-surface); color: var(--workspace-ink); }
.workspace-theme-editor { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--workspace-line); border-radius: 10px; background: var(--workspace-surface-muted); }
.workspace-theme-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.workspace-theme-heading .workspace-kicker { margin-bottom: 3px; }
.workspace-theme-copy { margin: 0; color: var(--workspace-muted); font-size: 11px; line-height: 1.5; text-wrap: pretty; }
.workspace-theme-mode { display: inline-flex; padding: 3px; border: 1px solid var(--workspace-line); border-radius: 7px; background: var(--workspace-surface); }
.workspace-theme-mode button { min-height: 28px; padding: 0 10px; border: 0; border-radius: 5px; background: transparent; color: var(--workspace-muted); font-size: 10px; font-weight: 700; cursor: pointer; }
.workspace-theme-mode button.is-selected { background: var(--workspace-green-soft); color: var(--workspace-green); }
.workspace-theme-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.workspace-theme-preset { min-width: 0; display: grid; grid-template-columns: 62px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 58px; padding: 8px; border: 1px solid var(--workspace-line); border-radius: 8px; background: var(--workspace-surface); color: var(--workspace-ink); text-align: left; cursor: pointer; }
.workspace-theme-preset:hover { border-color: var(--workspace-line-strong); }
.workspace-theme-preset.is-selected { border-color: var(--workspace-green); box-shadow: inset 0 0 0 1px var(--workspace-green); }
.workspace-theme-swatches { display: grid; grid-template-columns: repeat(4, 1fr); height: 38px; overflow: hidden; border: 1px solid var(--workspace-line); border-radius: 6px; }
.workspace-theme-swatches i { display: block; }
.workspace-theme-preset-copy { min-width: 0; display: grid; gap: 2px; }
.workspace-theme-preset-copy strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-theme-preset-copy small { color: var(--workspace-muted); font-size: 9px; line-height: 1.35; }
.workspace-theme-controls { display: grid; gap: 10px; }
.workspace-theme-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.workspace-theme-control-grid label,
.workspace-theme-color-grid label { display: grid; gap: 5px; color: var(--workspace-muted); font-size: 10px; font-weight: 650; }
.workspace-theme-control-grid select { width: 100%; min-height: 36px; padding: 0 10px; border: 1px solid var(--workspace-line-strong); border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-ink); font-size: 11px; }
.workspace-theme-advanced { display: grid; gap: 10px; padding-top: 10px; border-top: 1px solid var(--workspace-line); }
.workspace-theme-advanced[hidden] { display: none !important; }
.workspace-theme-color-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.workspace-theme-color-grid label { grid-template-columns: minmax(0, 1fr) 38px; align-items: center; min-height: 38px; padding: 5px 7px; border: 1px solid var(--workspace-line); border-radius: 6px; background: var(--workspace-surface); }
.workspace-theme-color-grid input[type="color"] { width: 34px; height: 28px; padding: 2px; border: 1px solid var(--workspace-line); border-radius: 5px; background: transparent; cursor: pointer; }
.workspace-theme-preview { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label label" "title value" "bar bar"; gap: 4px 12px; padding: 13px 14px; border: 1px solid var(--workspace-line); border-radius: var(--workspace-radius); background: var(--workspace-surface); box-shadow: var(--workspace-card-shadow); color: var(--workspace-ink); }
.workspace-theme-preview > span { grid-area: label; color: var(--workspace-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.workspace-theme-preview > strong { grid-area: title; font-size: 12px; }
.workspace-theme-preview > b { grid-area: value; color: var(--workspace-green); font-size: 13px; }
.workspace-theme-preview > i { grid-area: bar; height: 4px; margin-top: 3px; border-radius: 2px; background: var(--workspace-green); }
.workspace-block-list { display: grid; gap: 6px; }
.workspace-block-row { display: grid; grid-template-columns: 24px auto minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 48px; padding: 7px 8px; border: 1px solid transparent; border-radius: 7px; }
.workspace-block-row:hover { background: var(--workspace-surface-muted); }
.workspace-block-row.is-dragging { opacity: 0.42; }
.workspace-block-row.is-drop-target { border-color: var(--workspace-green); background: var(--workspace-green-soft); }
.workspace-block-drag-handle { width: 24px; height: 32px; display: grid; place-items: center; color: var(--workspace-muted); cursor: grab; }
.workspace-block-drag-handle:active { cursor: grabbing; }
.workspace-block-row label { min-width: 0; overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.workspace-block-row input { width: 18px; height: 18px; accent-color: var(--workspace-green); }
.workspace-template-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.workspace-template-option {
  min-width: 0;
  min-height: 98px;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 9px;
  background: var(--workspace-surface);
  color: var(--workspace-ink);
  text-align: left;
  cursor: pointer;
  transition: border-color var(--workspace-ease), background-color var(--workspace-ease), box-shadow var(--workspace-ease);
}
.workspace-template-option:hover { border-color: color-mix(in srgb, var(--workspace-green) 42%, var(--workspace-line)); background: var(--workspace-surface-muted); }
.workspace-template-option.is-selected { border-color: var(--workspace-green); background: var(--workspace-green-soft); box-shadow: 0 0 0 2px color-mix(in srgb, var(--workspace-focus) 25%, transparent); }
.workspace-template-preview {
  height: 72px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: 7px;
  gap: 2px;
  overflow: hidden;
  padding: 5px;
  border: 1px solid var(--workspace-line);
  border-radius: 6px;
  background: var(--workspace-canvas);
}
.workspace-template-preview i {
  grid-column: span var(--preview-columns);
  grid-row: span var(--preview-rows);
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--workspace-green) 24%, var(--workspace-line));
  border-radius: 2px;
  background: color-mix(in srgb, var(--workspace-green-soft) 72%, var(--workspace-surface));
}
.workspace-template-copy { min-width: 0; display: grid; gap: 5px; }
.workspace-template-copy strong { font-size: 12px; }
.workspace-template-copy small { color: var(--workspace-muted); font-size: 9px; line-height: 1.4; }
.row-actions { display: flex; align-items: center; gap: 3px; }
.workspace-size-select { width: 118px; height: 32px; padding: 0 26px 0 8px; border: 1px solid var(--workspace-line-strong); border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-muted); font-size: 10px; }
.workspace-size-label { min-width: 34px; align-self: center; color: var(--workspace-muted); font-size: 9px; font-weight: 700; text-align: center; }
.row-action { width: 30px; height: 30px; border: 0; border-radius: 6px; background: transparent; color: var(--workspace-muted); cursor: pointer; }
.row-action:hover { background: var(--workspace-surface); color: var(--workspace-ink); }
.row-action:disabled { opacity: 0.3; cursor: not-allowed; }

/* Isolated dashboard design studio. The active dashboard is never used as its canvas. */
.design-studio-dialog.workspace-dialog {
  width: min(1440px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
}
.design-studio-dialog[hidden] { display: none !important; }
.design-studio-dialog.workspace-dialog > form { height: calc(100dvh - 24px); max-height: none; }
.design-studio-dialog .dialog-header { padding: 16px 18px; }
.design-studio-dialog .dialog-footer { padding: 12px 18px; }
.design-studio-header-status { display: flex; align-items: center; gap: 12px; }
.design-studio-header-status > span { display: inline-flex; align-items: center; gap: 6px; color: var(--workspace-green); font-size: 10px; font-weight: 700; }
.design-studio-body {
  min-height: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(270px, 310px) minmax(460px, 1fr) minmax(220px, 250px);
  gap: 0;
  overflow: hidden;
}
.design-studio-controls,
.design-studio-inspector { min-height: 0; overflow-y: auto; padding: 16px; background: var(--workspace-surface); scrollbar-gutter: stable; }
.design-studio-controls { display: grid; align-content: start; gap: 18px; border-right: 1px solid var(--workspace-line); }
.design-studio-inspector { border-left: 1px solid var(--workspace-line); }
.design-studio-inspector h3,
.design-studio-stage-header h3 { margin: 3px 0 0; color: var(--workspace-ink); font-size: 14px; text-wrap: balance; }
.design-studio-inspector > p:not(.workspace-kicker) { margin: 7px 0 0; color: var(--workspace-muted); font-size: 11px; line-height: 1.5; text-wrap: pretty; }
.design-studio-control-section { display: grid; gap: 8px; }
.design-studio-save-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.design-studio-save-row input,
.design-studio-control-section input,
.design-studio-controls .dialog-field input { min-width: 0; min-height: 36px; padding: 0 9px; border: 1px solid var(--workspace-line-strong); border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-ink); font-size: 11px; }
.design-studio-save-row button,
.design-studio-saved-layout,
.design-studio-position-actions button { min-height: 34px; padding: 0 10px; border: 1px solid var(--workspace-line-strong); border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-ink); font-size: 10px; font-weight: 700; }
.design-studio-save-row button:hover,
.design-studio-saved-layout:hover,
.design-studio-position-actions button:hover { border-color: var(--workspace-green); color: var(--workspace-green); }
.design-studio-saved-list { display: flex; flex-wrap: wrap; gap: 5px; }
.design-studio-saved-empty { margin: 0; color: var(--workspace-muted); font-size: 10px; }
.design-studio-saved-layout { min-height: 30px; }
.design-studio-controls .workspace-template-picker { grid-template-columns: 1fr; }
.design-studio-controls .workspace-template-option { min-height: 68px; grid-template-columns: 72px minmax(0, 1fr); padding: 7px; }
.design-studio-controls .workspace-template-preview { height: 54px; }
.design-studio-controls .workspace-theme-editor { padding: 10px; }
.design-studio-controls .workspace-theme-heading { display: grid; }
.design-studio-controls .workspace-theme-mode { justify-self: start; }
.design-studio-controls .workspace-theme-presets { grid-template-columns: 1fr 1fr; }
.design-studio-controls .workspace-theme-preset { grid-template-columns: 42px minmax(0, 1fr); min-height: 52px; padding: 6px; }
.design-studio-controls .workspace-theme-swatches { height: 32px; }
.design-studio-controls .workspace-theme-preset-copy small { display: none; }
.design-studio-controls .workspace-theme-color-grid { grid-template-columns: 1fr 1fr; }
.design-studio-controls .workspace-block-row { grid-template-columns: 20px auto minmax(0, 1fr); gap: 6px; padding: 5px; }
.design-studio-controls .workspace-block-row .row-actions { grid-column: 3; }
.design-studio-controls .workspace-size-select { width: 100px; }

.design-studio-stage { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); background: #e9eeec; }
.design-studio-stage-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 14px 16px; border-bottom: 1px solid var(--workspace-line); background: var(--workspace-surface); }
.design-studio-stage-header > p { max-width: 42ch; margin: 0; color: var(--workspace-muted); font-size: 10px; line-height: 1.5; text-align: right; text-wrap: pretty; }
.design-studio-preview { min-height: 0; padding: 18px; overflow: auto; background: var(--workspace-canvas); color: var(--workspace-ink); font-family: var(--workspace-font); }
.design-studio-preview-chrome { width: min(100%, 860px); min-height: 100%; margin: 0 auto; display: grid; grid-template-columns: 54px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--workspace-line-strong); border-radius: var(--workspace-radius); background: var(--workspace-canvas); box-shadow: var(--workspace-card-shadow); }
.design-studio-preview-sidebar { background: color-mix(in srgb, var(--workspace-ink) 94%, var(--workspace-surface)); }
.design-studio-preview-page { min-width: 0; padding-bottom: 18px; }
.design-studio-preview-navbar { height: 36px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--workspace-line); background: var(--workspace-surface); }
.design-studio-preview-navbar i { width: 28px; height: 4px; border-radius: 2px; background: var(--workspace-line-strong); }
.design-studio-preview-navbar b { width: 54px; height: 18px; margin-left: auto; border-radius: var(--workspace-radius-control); background: var(--workspace-green-soft); }
.design-studio-preview-title { padding: 14px 16px 11px; display: grid; gap: 3px; }
.design-studio-preview-title span { color: var(--workspace-ink); font-size: calc(15px * var(--workspace-type-scale)); font-weight: 750; }
.design-studio-preview-title small { color: var(--workspace-muted); font-size: calc(7px * var(--workspace-type-scale)); }
.design-studio-preview-grid { padding: 0 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 68px; grid-auto-flow: dense; gap: 7px; }
.design-studio-preview[data-preview-density="compact"] .design-studio-preview-grid { grid-auto-rows: 60px; gap: 5px; }
.design-studio-preview[data-preview-density="compact"] .design-studio-preview-card { padding: 7px; }
.design-studio-preview[data-preview-density="relaxed"] .design-studio-preview-grid { grid-auto-rows: 76px; gap: 10px; }
.design-studio-preview[data-preview-density="relaxed"] .design-studio-preview-card { padding: 12px; }
.design-studio-preview-card { position: relative; min-width: 0; padding: 10px; display: grid; align-content: start; gap: 6px; overflow: hidden; border: 1px solid var(--workspace-line); border-radius: var(--workspace-radius-control); background: var(--workspace-surface); color: var(--workspace-ink); box-shadow: var(--workspace-card-shadow); cursor: grab; text-align: left; }
.design-studio-preview-card:hover { border-color: var(--workspace-line-strong); }
.design-studio-preview-card.is-selected { border-color: var(--workspace-green); box-shadow: inset 0 0 0 1px var(--workspace-green); }
.design-studio-preview-card.is-dragging { opacity: 0.42; }
.design-studio-card-select { max-width: 100%; overflow: hidden; padding: 0 18px 0 0; border: 0; background: transparent; color: var(--workspace-ink); font-size: calc(8px * var(--workspace-type-scale)); font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.design-studio-card-select:hover { color: var(--workspace-green); }
.design-studio-preview-card span:not(.design-studio-resize-handle) { width: min(82%, 100px); height: 5px; display: block; border-radius: 3px; background: var(--workspace-green-soft); }
.design-studio-preview-card i { width: 55%; height: 4px; display: block; border-radius: 2px; background: var(--workspace-line); }
.design-studio-preview-card b { align-self: end; color: var(--workspace-green); font-size: calc(11px * var(--workspace-type-scale)); font-variant-numeric: tabular-nums; }
.design-studio-resize-handle { position: absolute; right: 3px; bottom: 3px; width: 18px; height: 18px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 4px; background: var(--workspace-green-soft); color: var(--workspace-green); cursor: nwse-resize; }
.design-studio-resize-handle::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; }

#designStudioInspectorControls { margin-top: 18px; display: grid; gap: 16px; }
#designStudioInspectorControls[hidden] { display: none; }
.design-studio-visibility { display: flex; align-items: center; gap: 8px; color: var(--workspace-ink); font-size: 11px; font-weight: 650; }
.design-studio-visibility input { width: 18px; height: 18px; accent-color: var(--workspace-green); }
.design-studio-size-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.design-studio-size-option { min-height: 46px; padding: 6px; display: grid; place-items: center; gap: 3px; border: 1px solid var(--workspace-line); border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-muted); font-size: 9px; }
.design-studio-size-option:hover { border-color: var(--workspace-line-strong); color: var(--workspace-ink); }
.design-studio-size-option.is-selected { border-color: var(--workspace-green); background: var(--workspace-green-soft); color: var(--workspace-green); }
.design-studio-size-option i { width: calc(var(--size-columns) * 7px); height: calc(var(--size-rows) * 7px); border: 1px solid currentColor; border-radius: 2px; }
.design-studio-position-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.design-studio-position-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }

@media (max-width: 1120px) {
  .design-studio-body { grid-template-columns: 270px minmax(420px, 1fr); }
  .design-studio-inspector { display: none; }
}
@media (max-width: 760px) {
  .navbar-studio-button span { display: none; }
  .navbar-studio-button { width: 34px; padding: 0; justify-content: center; }
  .design-studio-body { display: block; overflow-y: auto; }
  .design-studio-controls { overflow: visible; border-right: 0; border-bottom: 1px solid var(--workspace-line); }
  .design-studio-stage { min-height: 560px; }
  .design-studio-stage-header { display: grid; }
  .design-studio-stage-header > p { text-align: left; }
}

.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 9px;
  max-width: min(400px, calc(100vw - 32px));
  padding: 13px 16px;
  border-radius: 8px;
  background: var(--workspace-ink);
  color: #fff;
  box-shadow: 0 12px 32px rgba(20, 34, 58, 0.18);
  font-size: 13px;
  transform: translateY(24px);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--workspace-ease), opacity var(--workspace-ease);
}
.toast.show { transform: translateY(0); opacity: 1; }
.toast-success #toastIcon { color: #9ed2b6; }
.toast-error #toastIcon { color: #ffb0a9; }

[data-workspace-block][hidden] { display: none !important; }

@container (max-width: 560px) {
  .overview-grid { grid-template-columns: 1fr 1fr; }
  .overview-item { padding: 12px 14px; }
  .overview-item:nth-child(odd) { padding-left: 0; border-left: 0; }
  .report-header { flex-direction: column; gap: 8px; }
  .cash-flow-layout,
  .asset-mix-layout { grid-template-columns: 1fr; }
  .cash-bars { display: none; }
  .asset-mix-chart { display: none; }
  .ledger-header { align-items: flex-start; flex-direction: column; }
}

/* Each saved footprint has a purpose-built information composition. */
.workspace-overview { display: flex; flex-direction: column; }

[data-workspace-block="overview"][data-tile-size="1x1"] { padding: 15px 16px; }
[data-workspace-block="overview"][data-tile-size="1x1"] .workspace-kicker { margin-bottom: 5px; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-grid {
  flex: 1;
  grid-template-columns: 1fr 1fr;
  align-content: stretch;
}
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px 10px;
  border-bottom: 1px solid var(--workspace-line);
}
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-item:nth-child(odd) { padding-left: 0; border-left: 0; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-item:nth-child(even) { padding-right: 0; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-item:nth-last-child(-n + 2) { border-bottom: 0; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-value { margin-top: 3px; font-size: 18px; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-meta { display: none; }

[data-workspace-block="overview"][data-tile-size="1x2"] { padding: 18px; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-grid { flex: 1; grid-template-columns: 1fr; align-content: stretch; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item,
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item:nth-child(n) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "label value" "meta meta";
  align-content: center;
  padding: 15px 0;
  border-left: 0;
  border-bottom: 1px solid var(--workspace-line);
}
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item:last-child { border-bottom: 0; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-label { grid-area: label; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-value { grid-area: value; margin: 0; font-size: 21px; text-align: right; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-meta { grid-area: meta; }

[data-workspace-block="overview"][data-tile-size="2x2"] { padding: 22px 24px; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-grid { flex: 1; grid-template-columns: 1fr 1fr; align-content: stretch; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 28px;
  border-bottom: 1px solid var(--workspace-line);
}
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item:nth-child(odd) { padding-left: 0; border-left: 0; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item:nth-child(even) { padding-right: 0; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item:nth-last-child(-n + 2) { border-bottom: 0; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-value { font-size: 30px; }

[data-workspace-block="trajectory"][data-tile-size="1x1"] .report-header { flex-direction: column; gap: 7px; padding: 15px 16px 0; }
[data-workspace-block="trajectory"][data-tile-size="1x1"] .report-description { display: none; }
[data-workspace-block="trajectory"][data-tile-size="1x1"] .btn-interval { min-width: 32px; height: 28px; padding-inline: 6px; }
[data-workspace-block="trajectory"][data-tile-size="1x1"] .trajectory-chart { padding: 6px 7px 12px; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .report-header { align-items: center; padding: 15px 18px 0; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .report-description { display: none; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .trajectory-chart { padding: 4px 14px 12px; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .report-header { flex-direction: column; gap: 10px; padding-inline: 18px; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .report-actions { width: 100%; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .chart-controls { width: 100%; justify-content: space-between; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .trajectory-chart { padding: 14px 8px 18px; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .report-header { padding: 22px 24px 0; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .trajectory-chart { padding: 16px 22px 22px; }

[data-workspace-block="cashflow"][data-tile-size="1x1"] .analysis-section { padding: 16px 18px; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .analysis-header { margin-bottom: 13px; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .section-action,
[data-workspace-block="cashflow"][data-tile-size="1x1"] .cash-bars { display: none; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .cash-flow-layout { grid-template-columns: 1fr; }
[data-workspace-block="cashflow"][data-tile-size="2x1"] .analysis-section { padding: 17px 20px; }
[data-workspace-block="cashflow"][data-tile-size="2x1"] .analysis-header { margin-bottom: 12px; }
[data-workspace-block="cashflow"][data-tile-size="2x1"] .cash-flow-layout { grid-template-columns: minmax(150px, 0.55fr) minmax(240px, 1fr); }
[data-workspace-block="cashflow"][data-tile-size="1x2"] .analysis-section-fill { display: flex; flex-direction: column; }
[data-workspace-block="cashflow"][data-tile-size="1x2"] .cash-flow-layout { flex: 1; grid-template-columns: 1fr; align-content: space-between; }
[data-workspace-block="cashflow"][data-tile-size="1x2"] .cash-bars { align-self: end; }
[data-workspace-block="cashflow"][data-tile-size="1x2"] .cash-track { height: 12px; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .analysis-section { padding: 24px 26px; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .cash-flow-layout { grid-template-columns: minmax(180px, 0.48fr) 1fr; gap: 40px; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .cash-flow-values { gap: 18px; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .cash-track { height: 13px; }

[data-workspace-block="assetmix"][data-tile-size="1x1"] .analysis-section { padding: 16px 18px; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .analysis-header { margin-bottom: 12px; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .section-action,
[data-workspace-block="assetmix"][data-tile-size="1x1"] .asset-mix-chart { display: none; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .asset-mix-layout { grid-template-columns: 1fr; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .asset-mix-note { font-size: 11px; line-height: 1.45; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .analysis-section { padding: 16px 20px; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .analysis-header { margin-bottom: 8px; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .asset-mix-layout { grid-template-columns: 1fr 128px; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .asset-mix-chart { display: block; height: 122px; }
[data-workspace-block="assetmix"][data-tile-size="1x2"] .analysis-section-fill { display: flex; flex-direction: column; }
[data-workspace-block="assetmix"][data-tile-size="1x2"] .asset-mix-layout { flex: 1; grid-template-columns: 1fr; align-content: center; }
[data-workspace-block="assetmix"][data-tile-size="1x2"] .asset-mix-chart { display: block; grid-row: 1; height: 190px; }
[data-workspace-block="assetmix"][data-tile-size="2x2"] .analysis-section { padding: 24px 26px; }
[data-workspace-block="assetmix"][data-tile-size="2x2"] .asset-mix-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 42px; }
[data-workspace-block="assetmix"][data-tile-size="2x2"] .asset-mix-chart { display: block; height: 230px; }

[data-workspace-block="ledger"][data-tile-size="1x1"] { padding: 16px 18px; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-header { flex-direction: row; align-items: center; margin-bottom: 16px; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .analysis-copy,
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-list,
[data-workspace-block="ledger"][data-tile-size="1x1"] .btn-action-add span { display: none; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .btn-action-add { width: 31px; min-height: 31px; justify-content: center; padding: 0; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-section + .ledger-section { margin-top: 16px; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-section-heading { min-height: 42px; margin: 0; padding: 0; font-size: 13px; }

[data-workspace-block="ledger"][data-tile-size="2x1"],
[data-workspace-block="ledger"][data-tile-size="2x2"] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: 26px;
}
[data-workspace-block="ledger"][data-tile-size="2x1"] { padding: 16px 20px; }
[data-workspace-block="ledger"][data-tile-size="2x2"] { padding: 24px 26px; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-header,
[data-workspace-block="ledger"][data-tile-size="2x2"] .ledger-header { grid-column: 1 / -1; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-header { margin-bottom: 8px; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .analysis-copy { display: none; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-section + .ledger-section,
[data-workspace-block="ledger"][data-tile-size="2x2"] .ledger-section + .ledger-section { margin-top: 0; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-list { max-height: 94px; overflow: auto; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .item-sub { display: none; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-item { min-height: 38px; padding-block: 4px; }
[data-workspace-block="ledger"][data-tile-size="1x2"] { padding: 20px; }
[data-workspace-block="ledger"][data-tile-size="1x2"] .ledger-header { align-items: flex-start; flex-direction: column; }
[data-workspace-block="ledger"][data-tile-size="2x2"] .ledger-list { max-height: 300px; overflow: auto; }

/* Four-column board: sizes are rows by columns, and every footprint recomposes. */
[data-workspace-block="overview"][data-tile-size] .overview-item {
  min-width: 0;
  flex-direction: column;
}
[data-workspace-block="overview"][data-tile-size="1x1"] { padding: 18px; }
[data-workspace-block="overview"][data-tile-size="1x1"] .workspace-kicker { margin-bottom: 14px; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-grid { flex: 1; display: block; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-item { display: none; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-item:first-child { display: flex; height: 100%; justify-content: center; padding: 0; border: 0; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-value { margin-top: 8px; font-size: 30px; }
[data-workspace-block="overview"][data-tile-size="1x1"] .overview-meta { display: flex; }

[data-workspace-block="overview"][data-tile-size="1x2"] { padding: 17px 18px; }
[data-workspace-block="overview"][data-tile-size="1x2"] .workspace-kicker { margin-bottom: 7px; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; align-content: stretch; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item,
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item:nth-child(n) { display: flex; justify-content: center; padding: 7px 10px; border-left: 1px solid var(--workspace-line); border-bottom: 1px solid var(--workspace-line); }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item:nth-child(odd) { padding-left: 0; border-left: 0; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item:nth-child(even) { padding-right: 0; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-item:nth-last-child(-n + 2) { border-bottom: 0; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-value { margin-top: 3px; font-size: 18px; }
[data-workspace-block="overview"][data-tile-size="1x2"] .overview-meta { display: none; }

[data-workspace-block="overview"][data-tile-size="1x4"] { padding: 18px 20px 20px; }
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-grid { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-item,
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-item:nth-child(n) { display: flex; justify-content: center; padding: 0 24px; border-bottom: 0; border-left: 1px solid var(--workspace-line); }
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-item:first-child { padding-left: 0; border-left: 0; }
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-item:last-child { padding-right: 0; }
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-value { margin-top: 6px; font-size: 23px; }
[data-workspace-block="overview"][data-tile-size="1x4"] .overview-meta { display: flex; }

[data-workspace-block="overview"][data-tile-size="2x1"] { padding: 18px; }
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-grid { flex: 1; display: grid; grid-template-columns: 1fr; }
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-item,
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-item:nth-child(n) { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label value" "meta meta"; align-content: center; padding: 14px 0; border-left: 0; border-bottom: 1px solid var(--workspace-line); }
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-item:last-child { border-bottom: 0; }
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-label { grid-area: label; }
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-value { grid-area: value; margin: 0; font-size: 20px; }
[data-workspace-block="overview"][data-tile-size="2x1"] .overview-meta { grid-area: meta; display: flex; }

[data-workspace-block="overview"][data-tile-size="2x2"],
[data-workspace-block="overview"][data-tile-size="2x4"] { padding: 22px 24px; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-grid,
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; align-content: stretch; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item,
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item:nth-child(n),
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-item,
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-item:nth-child(n) { display: flex; justify-content: center; padding: 22px 28px; border-left: 1px solid var(--workspace-line); border-bottom: 1px solid var(--workspace-line); }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item:nth-child(odd),
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-item:nth-child(odd) { padding-left: 0; border-left: 0; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-item:nth-last-child(-n + 2),
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-item:nth-last-child(-n + 2) { border-bottom: 0; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-value,
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-value { font-size: 29px; }
[data-workspace-block="overview"][data-tile-size="2x2"] .overview-meta,
[data-workspace-block="overview"][data-tile-size="2x4"] .overview-meta { display: flex; }

[data-workspace-block="trajectory"][data-tile-size="1x1"] .report-header { flex-direction: column; gap: 6px; padding: 16px 17px 0; }
[data-workspace-block="trajectory"][data-tile-size="1x1"] .report-description { display: none; }
[data-workspace-block="trajectory"][data-tile-size="1x1"] .btn-interval:not(.active) { display: none; }
[data-workspace-block="trajectory"][data-tile-size="1x1"] .trajectory-chart { padding: 5px 6px 12px; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .report-header { flex-direction: row; align-items: center; gap: 14px; padding: 16px 18px 0; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .report-description { display: none; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .btn-interval { display: inline-flex; }
[data-workspace-block="trajectory"][data-tile-size="1x2"] .trajectory-chart { padding: 5px 10px 12px; }
[data-workspace-block="trajectory"][data-tile-size="1x4"] .report-header { flex-direction: row; align-items: flex-start; padding: 18px 20px 0; }
[data-workspace-block="trajectory"][data-tile-size="1x4"] .report-description { display: block; }
[data-workspace-block="trajectory"][data-tile-size="1x4"] .btn-interval { display: inline-flex; }
[data-workspace-block="trajectory"][data-tile-size="1x4"] .trajectory-chart { padding: 7px 16px 14px; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .report-header { flex-direction: column; gap: 10px; padding: 18px 18px 0; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .report-description { display: block; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .chart-controls { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
[data-workspace-block="trajectory"][data-tile-size="2x1"] .trajectory-chart { padding: 12px 6px 18px; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .report-header { flex-direction: column; gap: 10px; padding: 20px 22px 0; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .report-description { display: block; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .report-actions { width: 100%; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .chart-controls { width: 100%; justify-content: space-between; }
[data-workspace-block="trajectory"][data-tile-size="2x2"] .trajectory-chart { padding: 12px 9px 20px; }
[data-workspace-block="trajectory"][data-tile-size="2x4"] .report-header { flex-direction: row; padding: 24px 26px 0; }
[data-workspace-block="trajectory"][data-tile-size="2x4"] .report-description { display: block; }
[data-workspace-block="trajectory"][data-tile-size="2x4"] .trajectory-chart { padding: 18px 24px 24px; }

[data-workspace-block="cashflow"][data-tile-size] .analysis-section-fill { display: flex; flex-direction: column; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .analysis-section,
[data-workspace-block="cashflow"][data-tile-size="1x2"] .analysis-section { padding: 17px 18px; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .analysis-header,
[data-workspace-block="cashflow"][data-tile-size="1x2"] .analysis-header { margin-bottom: 12px; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .analysis-copy,
[data-workspace-block="cashflow"][data-tile-size="1x1"] .section-action,
[data-workspace-block="cashflow"][data-tile-size="1x1"] .cash-bars,
[data-workspace-block="cashflow"][data-tile-size="1x2"] .section-action,
[data-workspace-block="cashflow"][data-tile-size="1x2"] .cash-bars { display: none; }
[data-workspace-block="cashflow"][data-tile-size="1x1"] .cash-flow-layout,
[data-workspace-block="cashflow"][data-tile-size="1x2"] .cash-flow-layout { flex: 1; grid-template-columns: 1fr; align-content: start; }
[data-workspace-block="cashflow"][data-tile-size="1x4"] .analysis-section { padding: 18px 22px; }
[data-workspace-block="cashflow"][data-tile-size="1x4"] .analysis-header { margin-bottom: 12px; }
[data-workspace-block="cashflow"][data-tile-size="1x4"] .cash-flow-layout { grid-template-columns: minmax(180px, 0.48fr) 1fr; gap: 38px; }
[data-workspace-block="cashflow"][data-tile-size="1x4"] .cash-bars { display: grid; }
[data-workspace-block="cashflow"][data-tile-size="2x1"] .analysis-section { padding: 20px; }
[data-workspace-block="cashflow"][data-tile-size="2x1"] .cash-flow-layout { flex: 1; grid-template-columns: 1fr; align-content: space-between; }
[data-workspace-block="cashflow"][data-tile-size="2x1"] .cash-bars { display: grid; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .analysis-section,
[data-workspace-block="cashflow"][data-tile-size="2x4"] .analysis-section { padding: 24px 26px; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .cash-flow-layout,
[data-workspace-block="cashflow"][data-tile-size="2x4"] .cash-flow-layout { flex: 1; grid-template-columns: 1fr; align-content: space-around; }
[data-workspace-block="cashflow"][data-tile-size="2x2"] .cash-bars,
[data-workspace-block="cashflow"][data-tile-size="2x4"] .cash-bars { display: grid; }
[data-workspace-block="cashflow"][data-tile-size="2x4"] .cash-flow-layout { grid-template-columns: minmax(220px, 0.45fr) 1fr; gap: 50px; }

[data-workspace-block="assetmix"][data-tile-size] .analysis-section-fill { display: flex; flex-direction: column; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .analysis-section,
[data-workspace-block="assetmix"][data-tile-size="1x2"] .analysis-section { padding: 17px 18px; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .analysis-header,
[data-workspace-block="assetmix"][data-tile-size="1x2"] .analysis-header { margin-bottom: 11px; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .analysis-copy,
[data-workspace-block="assetmix"][data-tile-size="1x1"] .section-action,
[data-workspace-block="assetmix"][data-tile-size="1x1"] .asset-mix-chart,
[data-workspace-block="assetmix"][data-tile-size="1x2"] .section-action,
[data-workspace-block="assetmix"][data-tile-size="1x2"] .asset-mix-chart { display: none; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .asset-mix-layout,
[data-workspace-block="assetmix"][data-tile-size="1x2"] .asset-mix-layout { flex: 1; grid-template-columns: 1fr; align-content: start; }
[data-workspace-block="assetmix"][data-tile-size="1x1"] .asset-mix-note { font-size: 11px; line-height: 1.45; }
[data-workspace-block="assetmix"][data-tile-size="1x4"] .analysis-section { padding: 18px 22px; }
[data-workspace-block="assetmix"][data-tile-size="1x4"] .analysis-header { margin-bottom: 8px; }
[data-workspace-block="assetmix"][data-tile-size="1x4"] .asset-mix-layout { grid-template-columns: 1fr 150px; }
[data-workspace-block="assetmix"][data-tile-size="1x4"] .asset-mix-chart { display: block; height: 145px; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .analysis-section { padding: 20px; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .asset-mix-layout { flex: 1; grid-template-columns: 1fr; align-content: center; }
[data-workspace-block="assetmix"][data-tile-size="2x1"] .asset-mix-chart { display: block; grid-row: 1; height: 170px; }
[data-workspace-block="assetmix"][data-tile-size="2x2"] .analysis-section,
[data-workspace-block="assetmix"][data-tile-size="2x4"] .analysis-section { padding: 24px 26px; }
[data-workspace-block="assetmix"][data-tile-size="2x2"] .asset-mix-layout { flex: 1; grid-template-columns: 1fr; align-content: center; }
[data-workspace-block="assetmix"][data-tile-size="2x2"] .asset-mix-chart { display: block; grid-row: 1; height: 210px; }
[data-workspace-block="assetmix"][data-tile-size="2x4"] .asset-mix-layout { flex: 1; grid-template-columns: minmax(0, 1fr) 270px; gap: 48px; }
[data-workspace-block="assetmix"][data-tile-size="2x4"] .asset-mix-chart { display: block; height: 260px; }

[data-workspace-block="ledger"][data-tile-size="1x1"],
[data-workspace-block="ledger"][data-tile-size="1x2"] { display: block; padding: 17px 18px; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-header,
[data-workspace-block="ledger"][data-tile-size="1x2"] .ledger-header { flex-direction: row; align-items: center; margin-bottom: 14px; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .analysis-copy,
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-list,
[data-workspace-block="ledger"][data-tile-size="1x1"] .btn-action-add span,
[data-workspace-block="ledger"][data-tile-size="1x2"] .analysis-copy,
[data-workspace-block="ledger"][data-tile-size="1x2"] .ledger-list,
[data-workspace-block="ledger"][data-tile-size="1x2"] .btn-action-add span { display: none; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .btn-action-add,
[data-workspace-block="ledger"][data-tile-size="1x2"] .btn-action-add { width: 31px; min-height: 31px; justify-content: center; padding: 0; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-section + .ledger-section,
[data-workspace-block="ledger"][data-tile-size="1x2"] .ledger-section + .ledger-section { margin-top: 10px; }
[data-workspace-block="ledger"][data-tile-size="1x1"] .ledger-section-heading,
[data-workspace-block="ledger"][data-tile-size="1x2"] .ledger-section-heading { min-height: 38px; margin: 0; padding: 0; }
[data-workspace-block="ledger"][data-tile-size="1x4"],
[data-workspace-block="ledger"][data-tile-size="2x4"] { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto minmax(0, 1fr); column-gap: 28px; padding: 20px 22px; }
[data-workspace-block="ledger"][data-tile-size="1x4"] .ledger-header,
[data-workspace-block="ledger"][data-tile-size="2x4"] .ledger-header { grid-column: 1 / -1; margin-bottom: 10px; }
[data-workspace-block="ledger"][data-tile-size="1x4"] .ledger-section + .ledger-section,
[data-workspace-block="ledger"][data-tile-size="2x4"] .ledger-section + .ledger-section { margin-top: 0; }
[data-workspace-block="ledger"][data-tile-size="1x4"] .ledger-list { max-height: 98px; overflow: auto; }
[data-workspace-block="ledger"][data-tile-size="1x4"] .item-sub { display: none; }
[data-workspace-block="ledger"][data-tile-size="1x4"] .ledger-item { min-height: 38px; padding-block: 4px; }
[data-workspace-block="ledger"][data-tile-size="2x1"],
[data-workspace-block="ledger"][data-tile-size="2x2"] { display: block; padding: 20px; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-header,
[data-workspace-block="ledger"][data-tile-size="2x2"] .ledger-header { align-items: flex-start; flex-direction: column; }
[data-workspace-block="ledger"][data-tile-size="2x1"] .ledger-list,
[data-workspace-block="ledger"][data-tile-size="2x2"] .ledger-list { max-height: 132px; overflow: auto; }
[data-workspace-block="ledger"][data-tile-size="2x4"] { padding: 24px 26px; }
[data-workspace-block="ledger"][data-tile-size="2x4"] .ledger-list { max-height: 300px; overflow: auto; }

/* The new insight cards recompose for every supported grid footprint. */
.metric-insight-card[data-tile-size="1x1"] { padding: 16px 17px; }
.metric-insight-card[data-tile-size="1x1"] .metric-insight-header { margin-bottom: 12px; }
.metric-insight-card[data-tile-size="1x1"] .analysis-copy,
.metric-insight-card[data-tile-size="1x1"] .metric-insight-icon,
.metric-insight-card[data-tile-size="1x1"] .metric-insight-status,
.metric-insight-card[data-tile-size="1x1"] .metric-detail-grid div:nth-child(2) { display: none; }
.metric-insight-card[data-tile-size="1x1"] .metric-insight-body { gap: 11px; }
.metric-insight-card[data-tile-size="1x1"] .metric-insight-value { font-size: 27px; }
.metric-insight-card[data-tile-size="1x1"] .metric-detail-grid { grid-template-columns: 1fr; }
.holdings-card[data-tile-size="1x1"] .holdings-summary span,
.holdings-card[data-tile-size="1x1"] .holding-copy small,
.holdings-card[data-tile-size="1x1"] .holding-row:nth-child(n + 3) { display: none; }
.holdings-card[data-tile-size="1x1"] .holdings-summary { margin-bottom: 5px; }
.holdings-card[data-tile-size="1x1"] .holding-row { grid-template-columns: minmax(0, 1fr) auto; padding-block: 8px; }
.holdings-card[data-tile-size="1x1"] .holding-rank { display: none; }

.metric-insight-card[data-tile-size="1x4"] {
  display: grid;
  grid-template-columns: minmax(200px, 0.75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 34px;
  padding: 18px 22px;
}
.metric-insight-card[data-tile-size="1x4"] .metric-insight-header { margin: 0; }
.metric-insight-card[data-tile-size="1x4"] .metric-insight-body { display: grid; grid-template-columns: minmax(150px, 0.8fr) minmax(120px, 1fr); align-items: center; gap: 18px; }
.metric-insight-card[data-tile-size="1x4"] .metric-progress { grid-column: 1 / -1; }
.metric-insight-card[data-tile-size="1x4"] .metric-detail-grid { grid-column: 2; grid-row: 1; }
.holdings-card[data-tile-size="1x4"] { grid-template-columns: 190px minmax(0, 1fr); }
.holdings-card[data-tile-size="1x4"] .metric-insight-header { align-self: start; }
.holdings-card[data-tile-size="1x4"] .holdings-summary { display: none; }
.holdings-card[data-tile-size="1x4"] .holdings-list { grid-template-columns: 1fr 1fr; column-gap: 18px; }
.holdings-card[data-tile-size="1x4"] .holding-row:nth-child(n + 5) { display: none; }

.metric-insight-card[data-tile-size="2x1"] { padding: 20px; }
.metric-insight-card[data-tile-size="2x1"] .metric-insight-header { flex-direction: column-reverse; }
.metric-insight-card[data-tile-size="2x1"] .metric-insight-body { justify-content: center; gap: 24px; }
.metric-insight-card[data-tile-size="2x1"] .metric-insight-value { font-size: 34px; }
.metric-insight-card[data-tile-size="2x1"] .metric-detail-grid { grid-template-columns: 1fr; }
.holdings-card[data-tile-size="2x1"] .holdings-summary { display: grid; }
.holdings-card[data-tile-size="2x1"] .holding-row { grid-template-columns: minmax(0, 1fr) auto; }
.holdings-card[data-tile-size="2x1"] .holding-rank { display: none; }

.metric-insight-card[data-tile-size="2x2"] { padding: 24px 26px; }
.metric-insight-card[data-tile-size="2x2"] .metric-insight-value { font-size: 40px; }
.metric-insight-card[data-tile-size="2x2"] .metric-insight-body { justify-content: space-around; gap: 24px; }
.metric-insight-card[data-tile-size="2x2"] .metric-progress { height: 10px; }
.metric-insight-card[data-tile-size="2x2"] .metric-detail-grid dd { font-size: 15px; }
.holdings-card[data-tile-size="2x2"] .holdings-summary strong { font-size: 28px; }
.holdings-card[data-tile-size="2x2"] .holding-row { padding-block: 14px; }
.holdings-card[data-tile-size="2x2"] .holding-copy strong,
.holdings-card[data-tile-size="2x2"] .holding-value { font-size: 12px; }

.metric-insight-card[data-tile-size="2x4"] { padding: 26px 28px; }
.metric-insight-card[data-tile-size="2x4"] .metric-insight-body { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; column-gap: 50px; }
.metric-insight-card[data-tile-size="2x4"] .metric-insight-value { font-size: 46px; }
.metric-insight-card[data-tile-size="2x4"] .metric-progress { grid-column: 1; height: 10px; }
.metric-insight-card[data-tile-size="2x4"] .metric-detail-grid { grid-column: 2; grid-row: 1 / span 2; }
.metric-insight-card[data-tile-size="2x4"] .metric-detail-grid dd { font-size: 18px; }
.holdings-card[data-tile-size="2x4"] { display: grid; grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr); column-gap: 48px; }
.holdings-card[data-tile-size="2x4"] .metric-insight-header,
.holdings-card[data-tile-size="2x4"] .holdings-summary { grid-column: 1; }
.holdings-card[data-tile-size="2x4"] .holdings-list { grid-column: 2; grid-row: 1 / span 2; }
.holdings-card[data-tile-size="2x4"] .holding-row { padding-block: 16px; }

@media (max-width: 1180px) {
  .workspace-content { padding-inline: 24px; }
  .workspace-heading-copy {
    grid-template-columns: minmax(300px, auto) minmax(0, 1fr);
    grid-template-areas: "title description" "title meta";
    column-gap: 22px;
    row-gap: 6px;
  }
  .workspace-analysis-grid { grid-template-columns: 1fr; }
  .analysis-stack { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .analysis-section + .analysis-section { border-top: 0; border-left: 1px solid var(--workspace-line); }
}

@media (max-width: 760px) {
  .workspace-content { padding: 26px 16px 48px; }
  body[data-workspace-density="compact"] .workspace-content,
  body[data-workspace-density="comfortable"] .workspace-content,
  body[data-workspace-density="relaxed"] .workspace-content { padding: 26px 16px 48px; }
  .workspace-flow { grid-template-columns: 1fr; grid-auto-rows: auto; }
  [data-workspace-tile],
  [data-workspace-tile][data-tile-size],
  .workspace-tile-phantom { grid-column: 1; grid-row: auto; min-height: 218px; height: auto; }
  [data-workspace-tile][data-workspace-block="trajectory"],
  [data-workspace-tile][data-workspace-block="ledger"],
  [data-workspace-tile][data-workspace-block="holdings"] { min-height: 420px; }
  .workspace-heading-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
  .workspace-actions { width: 100%; }
  .workspace-button { flex: 1; }
  .workspace-title { font-size: 26px; }
  .workspace-description,
  .workspace-privacy { margin-left: 0; }
  .workspace-heading-meta { margin-left: 0; }
  [data-workspace-block="overview"][data-tile-size] .overview-grid { display: grid; grid-template-columns: 1fr 1fr; }
  [data-workspace-block="overview"][data-tile-size] .overview-item,
  [data-workspace-block="overview"][data-tile-size] .overview-item:nth-child(n) { display: flex; padding: 16px 18px; border-left: 1px solid var(--workspace-line); border-bottom: 1px solid var(--workspace-line); }
  [data-workspace-block="overview"][data-tile-size] .overview-item:nth-child(odd) { padding-left: 0; border-left: 0; }
  [data-workspace-block="overview"][data-tile-size] .overview-item:nth-child(even) { padding-right: 0; }
  [data-workspace-block="overview"][data-tile-size] .overview-item:nth-last-child(-n + 2) { border-bottom: 0; }
  [data-workspace-block="overview"][data-tile-size] .overview-value { font-size: 23px; }
  [data-workspace-block="overview"][data-tile-size] .overview-meta { display: flex; }
  .report-header { flex-direction: column; }
  [data-workspace-block="trajectory"][data-tile-size] .report-header { flex-direction: column; align-items: flex-start; }
  [data-workspace-block="trajectory"][data-tile-size] .report-actions { width: 100%; }
  .trajectory-chart { height: 270px; padding-inline: 8px; }
  .analysis-stack { grid-template-columns: 1fr; }
  .analysis-section + .analysis-section { border-top: 1px solid var(--workspace-line); border-left: 0; }
  .cash-flow-layout,
  .asset-mix-layout { grid-template-columns: 1fr; }
  [data-workspace-block="cashflow"][data-tile-size] .cash-flow-layout,
  [data-workspace-block="assetmix"][data-tile-size] .asset-mix-layout { grid-template-columns: 1fr; gap: 18px; }
  .asset-mix-chart { grid-row: 1; }
  .ledger-header { align-items: flex-start; flex-direction: column; }
  [data-workspace-block="ledger"][data-tile-size] { display: block; }
  [data-workspace-block="ledger"][data-tile-size] .ledger-section + .ledger-section { margin-top: 24px; }
  .metric-insight-card[data-tile-size] { display: flex; padding: 22px; }
  .metric-insight-card[data-tile-size] .metric-insight-header { flex-direction: row; margin-bottom: 18px; }
  .metric-insight-card[data-tile-size] .analysis-copy { display: block; }
  .metric-insight-card[data-tile-size] .metric-insight-icon { display: inline-flex; }
  .metric-insight-card[data-tile-size] .metric-insight-status { display: inline; }
  .metric-insight-card[data-tile-size] .metric-detail-grid div:nth-child(2) { display: block; }
  .metric-insight-card[data-tile-size] .metric-insight-body { display: flex; justify-content: space-between; gap: 18px; }
  .metric-insight-card[data-tile-size] .metric-insight-value { font-size: 34px; }
  .metric-insight-card[data-tile-size] .metric-detail-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .holdings-card[data-tile-size] .holdings-summary { display: flex; }
  .holdings-card[data-tile-size] .holdings-list { display: grid; grid-template-columns: 1fr; }
  .holdings-card[data-tile-size] .holding-row,
  .holdings-card[data-tile-size] .holding-row:nth-child(n) { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; }
  .holdings-card[data-tile-size] .holding-rank,
  .holdings-card[data-tile-size] .holding-copy small { display: initial; }
  .dashboard-widget[data-tile-size] { display: flex; min-height: 240px; padding: 20px; }
  .dashboard-widget[data-tile-size] .dashboard-widget-header,
  .dashboard-widget[data-tile-size] .dashboard-widget-primary,
  .dashboard-widget[data-tile-size] .dashboard-widget-progress,
  .dashboard-widget[data-tile-size] .dashboard-widget-list,
  .dashboard-widget[data-tile-size] .dashboard-widget-footer { grid-column: auto; grid-row: auto; }
  .dashboard-widget[data-tile-size] .dashboard-widget-header,
  .dashboard-widget[data-tile-size] .dashboard-widget-footer { display: flex; }
  .dashboard-widget[data-tile-size] .dashboard-widget-primary { display: grid; }
  .dashboard-widget[data-tile-size] .dashboard-widget-progress { display: block; }
  .dashboard-widget[data-tile-size] .dashboard-widget-list { display: grid; grid-template-columns: 1fr; }
  .dashboard-widget[data-tile-size] .dashboard-widget-primary strong { font-size: calc(34px * var(--workspace-type-scale)); }
  .dashboard-widget[data-tile-size] .dashboard-widget-footer { align-self: auto; padding: 10px 0 0; border-top: 1px solid var(--workspace-line); border-left: 0; }
  .workspace-template-picker { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .workspace-title-row { align-items: flex-start; }
  .workspace-page-icon { width: 34px; height: 34px; }
  .workspace-title { font-size: 23px; }
  .workspace-overview { padding-inline: 14px; }
  [data-workspace-block="overview"][data-tile-size] .overview-grid { grid-template-columns: 1fr; }
  [data-workspace-block="overview"][data-tile-size] .overview-item,
  [data-workspace-block="overview"][data-tile-size] .overview-item:nth-child(n) { padding: 14px 0; border-left: 0; border-bottom: 1px solid var(--workspace-line); }
  [data-workspace-block="overview"][data-tile-size] .overview-item:last-child { border-bottom: 0; }
  .report-header,
  .analysis-section,
  .ledger-report { padding-inline: 16px; }
  .report-actions { width: 100%; overflow-x: auto; }
  .item-value-actions { gap: 2px; }
  .item-sub { max-width: 180px; }
  .workspace-block-row { grid-template-columns: 24px auto minmax(0, 1fr); }
  .workspace-block-row .row-actions { grid-column: 3 / -1; justify-self: end; }
  .workspace-theme-heading { align-items: stretch; flex-direction: column; }
  .workspace-theme-mode { align-self: flex-start; }
  .workspace-theme-presets,
  .workspace-theme-control-grid { grid-template-columns: 1fr; }
  .workspace-theme-color-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-dashboard *,
  .workspace-dashboard *::before,
  .workspace-dashboard *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

@media (hover: none) {
  [data-workspace-tile] > .tile-control-rail { opacity: 0.84; transform: none; }
}
