.quick-capture {
  margin-bottom: 14px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.quick-capture form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px auto;
  gap: 8px;
}

.quick-input,
.quick-select {
  min-height: 44px;
  border: 0;
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--surface-muted);
}

.quick-input { padding: 0 13px; font-size: 1rem; }
.quick-select { padding: 0 10px; }

.ops-layout {
  display: grid;
  grid-template-columns: 196px minmax(0, 1fr) 350px;
  align-items: start;
  gap: 14px;
}

.ops-sidebar,
.detail-panel,
.ops-main {
  min-width: 0;
}

.ops-sidebar {
  position: sticky;
  top: 78px;
  display: grid;
  gap: 22px;
  padding: 8px 0;
}

.sidebar-section { display: grid; gap: 4px; }

.sidebar-label {
  padding: 0 8px 5px;
  color: var(--soft);
  font-size: 0.68rem;
  font-weight: 820;
  text-transform: uppercase;
}

.sidebar-link,
.template-button,
.sidebar-action,
.text-button {
  min-height: 36px;
  border: 0;
  border-radius: var(--radius);
  color: var(--muted);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.sidebar-link {
  padding: 0 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-weight: 730;
}

.sidebar-link strong {
  min-width: 24px;
  min-height: 22px;
  display: grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 5px;
  color: var(--soft);
  background: var(--surface-muted);
  font-size: 0.68rem;
}

.sidebar-link:hover,
.sidebar-link.active {
  color: var(--ink);
  background: var(--surface);
}

.sidebar-link.active strong { color: var(--blue); background: var(--blue-soft); }

.template-button,
.sidebar-action { padding: 0 9px; font-size: 0.8rem; }
.template-button:hover,
.sidebar-action:hover,
.text-button:hover { color: var(--blue); background: var(--blue-soft); }
.sidebar-action span { float: right; }

.app-switch-link svg { flex: 0 0 auto; }

.view-panel { min-width: 0; }

.view-heading {
  min-height: 58px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.view-heading h2 { font-size: 1.35rem; }
.view-heading p { margin-top: 3px; font-size: 0.82rem; }

.focus-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 12px;
  margin-bottom: 12px;
}

.work-section,
.update-preview,
.decision-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.work-section-header,
.update-controls {
  min-height: 56px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
}

.work-section-header h3,
.update-controls h3 { font-size: 0.94rem; }
.work-section-header p,
.update-controls p { margin-top: 2px; font-size: 0.75rem; }

.count-badge {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border-radius: 5px;
  color: var(--blue);
  background: var(--blue-soft);
  font-size: 0.72rem;
  font-weight: 780;
}

.work-list { min-height: 166px; }
.work-list.compact { min-height: 166px; }
.work-list.next-list { min-height: 120px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.work-item {
  width: 100%;
  min-height: 82px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.work-item:last-child { border-bottom: 0; }
.work-item:hover,
.work-item.selected { background: var(--blue-soft); }

.work-item-checkbox {
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  background: var(--surface-solid);
}

.work-item-main { min-width: 0; }
.work-item-title { display: block; overflow-wrap: anywhere; font-size: 0.9rem; line-height: 1.3; font-weight: 760; }
.work-item-next { margin-top: 4px; overflow-wrap: anywhere; color: var(--muted); font-size: 0.76rem; line-height: 1.4; }
.work-item-meta { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; color: var(--soft); font-size: 0.68rem; }
.work-item-side { display: grid; justify-items: end; gap: 8px; }
.due-overdue { color: var(--red); font-weight: 740; }
.due-today { color: var(--amber); font-weight: 740; }

.text-button { padding: 0 8px; color: var(--blue); font-size: 0.78rem; font-weight: 760; }

.list-empty {
  min-height: inherit;
  display: grid;
  place-items: center;
  padding: 20px;
  color: var(--soft);
  text-align: center;
  font-size: 0.82rem;
}

.board-toolbar {
  margin-bottom: 10px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 150px 160px auto;
  gap: 8px;
}

.kanban {
  min-height: 580px;
  display: grid;
  grid-template-columns: repeat(5, minmax(230px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.kanban-column {
  min-width: 230px;
  min-height: 540px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.42);
}

:root[data-theme="dark"] .kanban-column { background: rgba(255, 255, 255, 0.025); }
.kanban-column.drag-over { border-color: var(--blue); background: var(--blue-soft); }

.kanban-column-header {
  min-height: 48px;
  padding: 10px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--line);
}

.kanban-column-header h3 { font-size: 0.82rem; }
.kanban-column-header span { color: var(--soft); font-size: 0.72rem; font-weight: 760; }
.kanban-items { min-height: 490px; padding: 8px; display: grid; align-content: start; gap: 8px; }

.kanban-card {
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-solid);
  box-shadow: 0 5px 14px rgba(34, 44, 60, 0.06);
  cursor: pointer;
}

.kanban-card:hover,
.kanban-card.selected { border-color: var(--blue); }
.kanban-card.dragging { opacity: 0.5; }
.kanban-card-top { display: flex; justify-content: space-between; gap: 7px; }
.kanban-card h4 { margin-top: 10px; overflow-wrap: anywhere; font-size: 0.86rem; line-height: 1.35; }
.kanban-card p { margin-top: 6px; font-size: 0.73rem; line-height: 1.4; }
.kanban-card-meta { margin-top: 10px; display: flex; justify-content: space-between; gap: 6px; color: var(--soft); font-size: 0.66rem; }

.todo-capture {
  margin-bottom: 12px;
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px auto;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.todo-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.todo-section { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-soft); }
.todo-list { min-height: 116px; }
.todo-row { min-height: 54px; padding: 9px 12px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.todo-row:last-child { border-bottom: 0; }
.todo-check { width: 22px; height: 22px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line-strong); border-radius: 5px; color: #fff; background: var(--surface-solid); cursor: pointer; }
.todo-check:hover { border-color: var(--blue); }
.todo-check svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.todo-row.is-done .todo-check { border-color: var(--green); background: var(--green); }
.todo-title { min-width: 0; padding: 3px 0; overflow-wrap: anywhere; border: 0; color: var(--ink); background: transparent; text-align: left; font-weight: 730; cursor: pointer; }
.todo-title:hover { color: var(--blue); }
.todo-row.is-done .todo-title { color: var(--soft); text-decoration: line-through; }
.todo-meta { color: var(--soft); font-size: 0.72rem; }

.detail-panel {
  position: sticky;
  top: 78px;
  max-height: calc(100vh - 94px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.detail-empty { min-height: 480px; display: grid; place-items: center; padding: 24px; text-align: center; }
.detail-empty h2 { font-size: 1.05rem; }
.detail-empty p { max-width: 260px; margin-top: 6px; font-size: 0.84rem; }
.detail-form { min-height: 0; height: calc(100vh - 94px); grid-template-rows: auto minmax(0, 1fr) auto; }

.detail-header,
.detail-footer {
  min-height: 54px;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.detail-header { border-bottom: 1px solid var(--line); }
.detail-footer { border-top: 1px solid var(--line); color: var(--soft); font-size: 0.72rem; }
.detail-footer .button-row { flex-wrap: nowrap; }
.detail-header p { margin-top: 4px; font-size: 0.66rem; }
.detail-scroll { padding: 14px; overflow-y: auto; display: grid; align-content: start; gap: 13px; }
.detail-title-input { width: 100%; border: 0; padding: 0; color: var(--ink); background: transparent; font-size: 1.16rem; line-height: 1.3; font-weight: 780; }
.detail-select-grid { gap: 7px; }
.detail-select-grid .field { gap: 4px; }
.detail-select-grid .select { min-height: 36px; padding: 0 7px; font-size: 0.76rem; }
.detail-scroll .field-grid { gap: 8px; }
.detail-scroll .input { min-height: 36px; font-size: 0.78rem; }
.detail-scroll .textarea { font-size: 0.8rem; }
.compact-textarea { min-height: 70px; }

.focus-toggle {
  min-height: 38px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--surface-muted);
  font-size: 0.78rem;
  font-weight: 720;
}

.technical-context { margin: 0; }
.technical-context summary { min-height: 38px; width: 100%; padding: 0 10px; font-size: 0.78rem; }
.technical-fields { margin-top: 9px; display: grid; gap: 10px; }

.notes-section { padding-top: 12px; border-top: 1px solid var(--line); }
.notes-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.notes-heading h3 { font-size: 0.9rem; }
.note-kind { width: 108px; min-height: 34px; font-size: 0.75rem; }
.note-composer { margin-top: 8px; display: grid; gap: 7px; }
.note-composer .button { justify-self: end; }
.notes-list { margin-top: 9px; display: grid; gap: 7px; }
.note-entry { padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-muted); }
.note-entry.is-decision { border-color: rgba(111, 80, 167, 0.28); background: rgba(111, 80, 167, 0.08); }
.note-entry-head { display: flex; justify-content: space-between; gap: 8px; color: var(--soft); font-size: 0.65rem; }
.note-entry p { margin-top: 5px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 0.76rem; }

.update-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr); gap: 12px; }
.update-document { padding: 20px; }
.update-block + .update-block { margin-top: 20px; }
.update-block h4 { margin-bottom: 8px; color: var(--blue); font-size: 0.76rem; text-transform: uppercase; }
.update-block ul { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.55; }
.update-block li + li { margin-top: 5px; }
.update-empty { color: var(--soft); font-style: italic; }
.decision-list { display: grid; }
.decision-entry { padding: 12px 14px; border-bottom: 1px solid var(--line); }
.decision-entry { width: 100%; border-top: 0; border-right: 0; border-left: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.decision-entry:hover { background: var(--blue-soft); }
.decision-entry:last-child { border-bottom: 0; }
.decision-entry p { margin-top: 5px; font-size: 0.8rem; white-space: pre-wrap; }
.decision-entry span { color: var(--soft); font-size: 0.68rem; }

.archive-list { display: grid; gap: 8px; }
.archive-item { padding: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: var(--radius); }
.archive-item h3 { font-size: 0.86rem; }
.archive-item p { margin-top: 3px; font-size: 0.72rem; }

.data-modal { width: min(650px, calc(100vw - 28px)); }
.data-modal .modal-header h2 { font-size: 1.18rem; }
.storage-content { display: grid; gap: 18px; }
.storage-lead { color: var(--ink); font-size: 0.96rem; }

.storage-facts {
  margin: 0;
  display: grid;
}

.storage-facts > div {
  padding: 13px 0;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  border-top: 1px solid var(--line);
}

.storage-facts > div:last-child { border-bottom: 1px solid var(--line); }
.storage-facts dt { color: var(--ink); font-weight: 780; }
.storage-facts dd { margin: 0; color: var(--muted); line-height: 1.5; }
.storage-facts.compact > div { grid-template-columns: 90px minmax(0, 1fr); }

.storage-note,
.import-summary {
  padding: 12px 14px;
  border-left: 3px solid var(--blue);
  color: var(--muted);
  background: var(--blue-soft);
  font-size: 0.88rem;
}

.storage-note strong,
.import-summary strong { color: var(--ink); }
.onboarding-actions { justify-content: flex-end; }
.import-actions { align-items: center; }

.export-content { gap: 14px; }

.format-options {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
  border: 0;
}

.format-options legend {
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 780;
}

.format-option {
  min-height: 66px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-muted);
  cursor: pointer;
}

.format-option:hover,
.format-option:has(input:checked) {
  border-color: var(--blue);
  background: var(--blue-soft);
}

.format-option input { accent-color: var(--blue); }
.format-option span { display: grid; gap: 3px; }
.format-option strong { color: var(--ink); font-size: 0.86rem; }
.format-option small { color: var(--muted); line-height: 1.35; }
.format-option em { color: var(--blue); font-size: 0.74rem; font-style: normal; font-weight: 800; }
.export-note { margin-top: 2px; }

.danger-eyebrow {
  color: var(--red);
  border-color: rgba(193, 54, 54, 0.22);
  background: var(--red-soft);
}

.delete-warning {
  padding: 13px 14px;
  border-left: 3px solid var(--red);
  color: var(--muted);
  background: var(--red-soft);
  font-size: 0.88rem;
}

.archive-actions { display: flex; align-items: center; gap: 7px; }

@media (max-width: 1180px) {
  .ops-layout { grid-template-columns: 170px minmax(0, 1fr); }
  .detail-panel { position: relative; top: auto; grid-column: 2; max-height: none; }
  .detail-form { height: auto; max-height: 780px; }
  .detail-empty { min-height: 160px; }
}

@media (max-width: 860px) {
  .ops-layout { grid-template-columns: 1fr; }
  .ops-sidebar { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .detail-panel { grid-column: auto; }
  .focus-grid,
  .update-layout { grid-template-columns: 1fr; }
  .work-list.next-list { grid-template-columns: 1fr; }
  .board-toolbar { grid-template-columns: 1fr 1fr; }
  .board-toolbar .search-input { grid-column: 1 / -1; }
  .todo-groups { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .quick-capture form { grid-template-columns: 1fr auto; }
  .quick-input { grid-column: 1 / -1; }
  .ops-sidebar { display: block; max-width: 100%; overflow-x: auto; white-space: nowrap; padding-bottom: 8px; contain: layout paint; }
  .sidebar-section { display: inline-flex; vertical-align: top; margin-right: 12px; }
  .sidebar-label { display: none; }
  .sidebar-link,
  .template-button,
  .sidebar-action { min-width: max-content; }
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .view-heading { align-items: flex-start; }
  .board-toolbar { grid-template-columns: 1fr; }
  .board-toolbar .search-input { grid-column: auto; }
  .kanban { min-height: 520px; }
  .kanban-column { min-height: 500px; }
  .detail-form { max-height: none; }
  .detail-scroll { overflow: visible; }
  .storage-facts > div,
  .storage-facts.compact > div { grid-template-columns: 1fr; gap: 5px; }
  .import-actions { align-items: stretch; flex-direction: column-reverse; }
  .import-actions .button-row { display: grid; grid-template-columns: 1fr; }
  .app-switch-link span { display: none; }
  .app-switch-link { width: 38px; padding: 0; }
  .format-option { grid-template-columns: auto minmax(0, 1fr); }
  .format-option em { grid-column: 2; }
  .todo-capture { grid-template-columns: 1fr auto; }
  .todo-capture .quick-input { grid-column: 1 / -1; }
  .todo-row { grid-template-columns: auto minmax(0, 1fr); }
  .todo-meta { grid-column: 2; }
}
