:root{--bg:#f5f3ef;--panel:#fff;--text:#1f2933;--muted:#697586;--border:#e5dfd5;--primary:#315f52;--primary-soft:#e4efeb;--danger:#b42318;--danger-soft:#fde7e4;--shadow:0 18px 45px rgba(31,41,51,.08);--radius-lg:26px;--radius-md:18px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(circle at top left,rgba(49,95,82,.12),transparent 30rem),linear-gradient(135deg,#f7f3eb 0%,#f5f3ef 45%,#eef3f0 100%);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px;display:flex;flex-direction:column;border-right:1px solid rgba(229,223,213,.8);background:rgba(255,255,255,.72);backdrop-filter:blur(18px)}.brand{display:flex;gap:14px;align-items:center;margin-bottom:34px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--primary),#6f927f);box-shadow:0 12px 28px rgba(49,95,82,.25)}.brand-title{font-weight:800;font-size:1.1rem}.brand-subtitle{color:var(--muted);font-size:.78rem;margin-top:2px}.nav{display:grid;gap:8px}.nav-item,.bottom-nav-item{border:0;background:transparent;color:var(--muted)}.nav-item{width:100%;text-align:left;padding:13px 14px;border-radius:14px;font-weight:650}.nav-item:hover{background:rgba(49,95,82,.07);color:var(--text)}.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 12px 28px rgba(49,95,82,.22)}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.status-pill{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:7px 11px;background:var(--primary-soft);color:#24473d;font-size:.82rem;font-weight:700}.status-pill.error{background:var(--danger-soft);color:var(--danger)}.logout-link{width:fit-content;color:var(--muted);font-weight:750;font-size:.88rem}.main{min-width:0;padding:32px 36px 64px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.topbar-actions{display:flex;gap:10px;align-items:center}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;color:var(--primary);font-weight:800}h1,h2,h3{margin:0;line-height:1.12}h1{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.055em}h2{font-size:1.45rem;letter-spacing:-.035em}h3{font-size:1.02rem}p{line-height:1.6}.content{display:grid;gap:20px}.panel{background:rgba(255,255,255,.78);border:1px solid rgba(229,223,213,.82);box-shadow:var(--shadow);border-radius:var(--radius-lg);padding:22px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.panel-title-stack{display:grid;gap:5px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.92);padding:18px;display:grid;gap:12px;min-width:0}.card.interactive:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(31,41,51,.08)}.card-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-title{font-weight:800;font-size:1.02rem;line-height:1.25}.card-description{margin:0;color:var(--muted);font-size:.94rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;background:#faf8f4;border:1px solid var(--border);color:var(--muted);font-size:.8rem;font-weight:700}.chip.primary{background:var(--primary-soft);color:#24473d;border-color:rgba(49,95,82,.18)}.chip.tag-chip{background:#eef2ff;color:#3538cd;border-color:#c7d7fe}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button{border:0;border-radius:13px;font-weight:750;min-height:42px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center}.primary-button{color:#fff;background:var(--primary);box-shadow:0 12px 24px rgba(49,95,82,.18)}.secondary-button{color:#24473d;background:var(--primary-soft)}.ghost-button{color:var(--text);background:transparent;border:1px solid var(--border)}.danger-button{color:var(--danger);background:var(--danger-soft)}.icon-button{width:42px;padding:0;border-radius:50%;background:#faf8f4;color:var(--text);font-size:1.4rem}.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:7px;color:var(--muted);font-size:.84rem;font-weight:750}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);padding:12px 13px;outline:none}textarea{min-height:110px;resize:vertical}select[multiple]{min-height:112px}input:focus,textarea:focus,select:focus,.rich-editor:focus{border-color:rgba(49,95,82,.55);box-shadow:0 0 0 4px rgba(49,95,82,.1)}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab{border:1px solid var(--border);background:rgba(255,255,255,.72);color:var(--muted);border-radius:999px;padding:9px 13px;font-weight:800}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.toolbar>*{min-width:150px}.empty-state{padding:26px;border-radius:18px;border:1px dashed var(--border);background:rgba(255,255,255,.45);color:var(--muted);text-align:center}.task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--border);border-radius:16px;background:#fff}.task input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--primary)}.task-title.done{text-decoration:line-through;color:var(--muted)}.log-entry{border-left:3px solid var(--primary);background:#fff;border-radius:0 14px 14px 0;padding:12px 14px;display:grid;gap:8px}.small{font-size:.82rem}.muted{color:var(--muted)}.error-text{color:var(--danger);font-weight:750}.link-list{display:grid;gap:9px}.link-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px}.rich-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-bottom:0;border-radius:16px 16px 0 0;background:#faf8f4}.rich-toolbar button{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:38px;min-height:34px;font-weight:800}.rich-editor{min-height:210px;border:1px solid var(--border);border-radius:0 0 16px 16px;background:#fff;padding:14px;outline:none;line-height:1.55}.rich-editor ul{padding-left:1.35rem}.bible-grid{display:grid;grid-template-columns:1.5fr .65fr .85fr;gap:12px;margin-bottom:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.48);display:grid;place-items:center;padding:18px;z-index:50}.modal-backdrop.hidden{display:none}.modal{width:min(860px,100%);max-height:min(88vh,900px);overflow:auto;background:var(--bg);border-radius:28px;box-shadow:0 28px 70px rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.6)}.modal-header{position:sticky;top:0;background:rgba(245,243,239,.92);backdrop-filter:blur(16px);display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:22px;border-bottom:1px solid var(--border);z-index:1}.modal-body{padding:22px}.bottom-nav{display:none}.login-body{display:grid;place-items:center;padding:24px}.login-page{width:min(520px,100%)}.login-panel{padding:30px}.login-brand{margin-bottom:26px}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:auto}.login-form{margin-top:22px}@media(max-width:980px){.app-shell{display:block}.sidebar{display:none}.main{padding:22px 16px 92px}.topbar{align-items:center}.grid.two,.grid.three,.form-grid.two{grid-template-columns:1fr}.panel{padding:18px;border-radius:22px}.panel-header{flex-direction:column}.bottom-nav{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:8px;border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(31,41,51,.16);border:1px solid var(--border);backdrop-filter:blur(16px)}.bottom-nav-item{min-height:44px;border-radius:15px;font-size:.8rem;font-weight:800}.bottom-nav-item.active{background:var(--primary);color:#fff}.modal-backdrop{padding:8px;align-items:end}.modal{max-height:92vh;border-radius:24px 24px 0 0}}@media(max-width:560px){h1{font-size:2.05rem}.topbar{gap:12px}.topbar .secondary-button:not(.logout-top){display:none}.toolbar>*{min-width:100%}.bible-grid{grid-template-columns:1fr}}


/* Life OS v3 Reflect & Learn */
.reflection-list{display:grid;gap:12px}.reflection-entry{border:1px solid var(--border);background:white;border-radius:16px;padding:14px;display:grid;gap:10px}.reflection-html{line-height:1.55;color:var(--text)}.reflection-html p,.reflection-html div{margin-top:0;margin-bottom:.65rem}.reflection-html ul{margin:.35rem 0 .35rem 1.2rem;padding-left:1rem}.reflection-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.lower-reflection-card{background:rgba(255,255,255,.78)}.lower-reflection-section{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.82);padding:12px;display:grid;gap:8px}.reflection-mini-entry{border-left:3px solid var(--primary);background:white;border-radius:0 12px 12px 0;padding:10px 12px;display:grid;gap:8px}


.bible-notes-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) minmax(160px, 1fr) minmax(110px, 0.55fr) minmax(120px, 0.65fr) minmax(150px, 0.8fr);
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
}
.bible-filter-actions { justify-content: flex-start; margin-bottom: 18px; }
.bible-note-card { background: rgba(255,255,255,0.9); }
.bible-note-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.bible-note-content { border-top: 1px solid var(--border); padding-top: 12px; }
.bible-note-content ul { margin-left: 1.2rem; padding-left: 1rem; }
.result-count-pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 7px 11px;
  background: var(--panel-soft);
  color: var(--muted);
  border: 1px solid var(--border);
  font-size: 0.82rem;
  font-weight: 800;
}
@media (max-width: 980px) { .bible-notes-toolbar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) {
  .bottom-nav { left: 8px; right: 8px; gap: 4px; }
  .bottom-nav-item { font-size: 0.72rem; padding-left: 4px; padding-right: 4px; }
  .bible-notes-toolbar { grid-template-columns: 1fr; }
}

/* life-os-v4-8 bottom nav fix */
@media (max-width: 560px) {
  .bottom-nav-item {
    font-size: 0.72rem;
    padding-left: 4px;
    padding-right: 4px;
  }
}


.routine-streak { display: flex; gap: 6px; flex-wrap: wrap; }
.routine-dot {
  width: 28px; height: 28px; border-radius: 999px; display: inline-grid; place-items: center;
  border: 1px solid var(--border); background: white; color: var(--muted); font-size: 0.78rem; font-weight: 900;
}
.routine-dot.done { background: var(--primary); color: white; border-color: var(--primary); }
.routine-dot.skipped { background: var(--danger-soft); color: var(--danger); border-color: rgba(180,35,24,0.18); }
.routine-today-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 14px; border: 1px solid var(--border); border-radius: 18px; background: white;
}
.routine-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 700px) {
  .routine-today-row { grid-template-columns: 1fr; }
  .routine-actions { justify-content: flex-start; }
}


.routine-weekdays {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.routine-weekday {
  min-width: 34px;
  height: 30px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-size: 0.78rem;
  font-weight: 900;
  border: 1px solid var(--border);
}
.routine-weekday.inactive {
  background: #f1f3f5;
  color: #a0a7b2;
}
.routine-weekday.scheduled {
  background: #e7f0ff;
  color: #1d4ed8;
  border-color: #bfd7ff;
}
.routine-weekday.done {
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}
.bible-notes-header-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 700px) {
  .bible-notes-header-actions {
    justify-content: flex-start;
  }
}


.bible-note-card-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 700px) {
  .bible-note-card-actions {
    justify-content: flex-start;
  }
}


.birdseye-toolbar {
  align-items: end;
}

.birdseye-map {
  display: grid;
  grid-template-columns: repeat(6, minmax(210px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.birdseye-column {
  min-width: 210px;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.64);
  border-radius: 20px;
  padding: 12px;
}

.birdseye-column h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px;
  font-size: 0.95rem;
}

.birdseye-column h3 span {
  font-size: 0.75rem;
  color: var(--muted);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 3px 8px;
  background: white;
}

.birdseye-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  background: white;
  border-radius: 16px;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.birdseye-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
  border-color: var(--primary);
}

.birdseye-card.selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.birdseye-card-title {
  font-weight: 900;
  line-height: 1.25;
}

.empty-mini {
  border: 1px dashed var(--border);
  border-radius: 16px;
  padding: 12px;
  color: var(--muted);
  background: rgba(255,255,255,.7);
  font-size: .85rem;
}

.birdseye-selection {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  border: 1px solid var(--border);
  background: white;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 14px;
}

.birdseye-unlinked {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .birdseye-map {
    grid-template-columns: repeat(6, minmax(190px, 82vw));
  }
}

@media (max-width: 560px) {
  .bottom-nav {
    grid-template-columns: repeat(7, 1fr);
  }
  .bottom-nav-item {
    font-size: .64rem;
  }
}


.routine-draggable {
  cursor: grab;
}

.routine-draggable:active {
  cursor: grabbing;
}

.routine-draggable.dragging {
  opacity: .55;
  transform: scale(.99);
}

.routine-draggable.drag-over {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}


.routine-day-description {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}


/* Life OS v5.16 Bird's Eye mobile refinement */
.birdseye-card {
  border-left: 1px solid var(--border);
}

.birdseye-card.selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}

@media (max-width: 820px) {
  .birdseye-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .birdseye-map {
    display: grid;
    grid-template-columns: 1fr;
    overflow-x: visible;
    gap: 16px;
  }

  .birdseye-column {
    min-width: 0;
    width: 100%;
  }

  .birdseye-column h3 {
    position: sticky;
    top: 0;
    z-index: 1;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid var(--border);
    padding: 8px 2px 10px;
    backdrop-filter: blur(10px);
  }

  .birdseye-card {
    padding: 13px;
  }
}

@media (max-width: 560px) {
  .birdseye-toolbar {
    grid-template-columns: 1fr;
  }

  .birdseye-selection {
    align-items: flex-start;
  }

  .birdseye-column {
    border-radius: 18px;
    padding: 10px;
  }

  .birdseye-card-title {
    font-size: .95rem;
  }
}


.routine-weekday.skipped {
  background: #fef3c7;
  color: #92400e;
  border-color: #fde68a;
}

.routine-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.routine-history-summary {
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 16px;
  background: white;
  margin-bottom: 16px;
}

.routine-history-summary h2 {
  margin: 4px 0;
  font-size: 2rem;
}

.routine-history-table-wrap {
  overflow-x: auto;
}

.routine-history-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--border);
}

.routine-history-table th,
.routine-history-table td {
  text-align: left;
  padding: 11px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}

.routine-history-table th {
  background: var(--panel-soft);
  font-size: .82rem;
  color: var(--muted);
}

.routine-history-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 9px;
  font-weight: 800;
  font-size: .78rem;
  border: 1px solid var(--border);
}

.routine-history-status.done {
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}

.routine-history-status.skipped {
  background: #fef3c7;
  color: #92400e;
  border-color: #fde68a;
}

.routine-history-status.missed {
  background: #f1f3f5;
  color: #6b7280;
  border-color: #e5e7eb;
}

@media (max-width: 640px) {
  .routine-card-actions {
    justify-content: flex-start;
  }

  .routine-history-table,
  .routine-history-table thead,
  .routine-history-table tbody,
  .routine-history-table th,
  .routine-history-table td,
  .routine-history-table tr {
    display: block;
  }

  .routine-history-table thead {
    display: none;
  }

  .routine-history-table tr {
    border-bottom: 1px solid var(--border);
    padding: 10px 0;
  }

  .routine-history-table td {
    border-bottom: none;
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px;
    padding: 7px 12px;
  }

  .routine-history-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-weight: 800;
  }
}


.task-backlog-panel {
  margin-top: 18px;
}
.backlog-task {
  grid-template-columns: minmax(0, 1fr) auto;
}
.backlog-task-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
@media (max-width: 700px) {
  .backlog-task {
    grid-template-columns: 1fr;
  }
  .backlog-task-actions {
    justify-content: flex-start;
  }
}


.task-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.task-draggable {
  cursor: grab;
}
.task-draggable:active {
  cursor: grabbing;
}
.task-draggable.dragging {
  opacity: .55;
  transform: scale(.99);
}
.task-draggable.drag-over {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}
@media (max-width: 700px) {
  .task-actions {
    justify-content: flex-start;
  }
}


.task-card-clickable {
  cursor: pointer;
}
.task-card-clickable button,
.task-card-clickable input,
.task-card-clickable a {
  cursor: auto;
}
.task-comments {
  display: grid;
  gap: 10px;
}
.task-comment {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: white;
}


/* Life OS v5.26 mobile task card layout fix */
.task {
  gap: 12px;
}

.task > div:nth-child(2) {
  min-width: 0;
}

.task-actions,
.backlog-task-actions {
  min-width: 0;
}

@media (max-width: 760px) {
  .task {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
  }

  .task .task-actions,
  .task .backlog-task-actions {
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    justify-content: stretch;
  }

  .task .task-actions .small,
  .task .backlog-task-actions .small {
    width: 100%;
    justify-content: center;
    white-space: normal;
    min-height: 44px;
  }

  .task-title {
    overflow-wrap: anywhere;
  }

  .task .chip-row {
    align-items: flex-start;
  }
}

@media (min-width: 761px) {
  .task .task-actions,
  .task .backlog-task-actions {
    max-width: 260px;
  }
}


.project-chip {
  background: #eef6f2;
  color: #234f43;
  border-color: #cfe4dc;
}
.project-columns-mini {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.project-columns-mini div {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 8px;
  background: white;
}
.project-columns-mini strong,
.project-columns-mini span {
  display: block;
  font-size: .8rem;
}
.project-columns-mini span {
  color: var(--muted);
  margin-top: 3px;
}
@media (max-width: 560px) {
  .bottom-nav {
    grid-template-columns: repeat(8, 1fr);
  }
  .bottom-nav-item {
    font-size: .58rem;
  }
  .project-columns-mini {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Life OS v5.27 nav override */
@media (max-width: 560px){.bottom-nav{grid-template-columns:repeat(8,1fr)!important;}}


.project-card-clickable {
  cursor: pointer;
}
.project-board-modal {
  display: grid;
  gap: 16px;
}
.project-board-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.project-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
}
.project-board-column {
  min-width: 220px;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 10px;
  background: rgba(255,255,255,.72);
}
.project-board-column h3 {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  font-size: .95rem;
}
.project-board-column h3 span {
  color: var(--muted);
  font-size: .8rem;
}
.project-board-dropzone {
  display: grid;
  gap: 10px;
  min-height: 80px;
}
.project-board-dropzone.drag-over {
  outline: 2px dashed var(--primary);
  outline-offset: 4px;
  border-radius: 14px;
}
.project-board-task {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: white;
  cursor: grab;
}
.project-board-task.dragging {
  opacity: .55;
}
@media (max-width: 820px) {
  .project-board {
    grid-template-columns: 1fr;
    overflow-x: visible;
  }
  .project-board-column {
    min-width: 0;
  }
}


/* Life OS v5.30 project board and waiting refinements */
.modal-backdrop.large-modal {
  padding: 18px;
  align-items: center;
}
.modal-backdrop.large-modal .modal {
  width: min(1500px, 96vw);
  max-height: 94vh;
}
.modal-backdrop.large-modal .modal-body {
  padding: 18px;
}
.is-large-project-board {
  min-height: 70vh;
}
.modal-backdrop.large-modal .project-board {
  min-height: 62vh;
  align-items: stretch;
}
.modal-backdrop.large-modal .project-board-column {
  min-height: 58vh;
}
.modal-backdrop.large-modal .project-board-dropzone {
  min-height: 48vh;
  align-content: start;
}
.project-board-task {
  user-select: none;
}
.project-board-task:hover {
  border-color: var(--primary);
  box-shadow: 0 8px 24px rgba(31,41,51,.10);
}
@media (max-width: 820px) {
  .modal-backdrop.large-modal {
    padding: 8px;
    align-items: stretch;
  }
  .modal-backdrop.large-modal .modal {
    width: 100%;
    max-height: 96vh;
    border-radius: 24px;
  }
  .modal-backdrop.large-modal .project-board,
  .modal-backdrop.large-modal .project-board-column,
  .modal-backdrop.large-modal .project-board-dropzone {
    min-height: auto;
  }
}


/* Life OS v5.32 project color system and task buttons */
:root {
  --col-next: #2563eb;
  --col-next-soft: #dbeafe;
  --col-next-border: #bfdbfe;
  --col-progress: #0891b2;
  --col-progress-soft: #cffafe;
  --col-progress-border: #a5f3fc;
  --col-waiting: #7c3aed;
  --col-waiting-soft: #ede9fe;
  --col-waiting-border: #ddd6fe;
  --col-done: #16a34a;
  --col-done-soft: #dcfce7;
  --col-done-border: #bbf7d0;
}

.project-col-next {
  border-color: var(--col-next-border);
  background: linear-gradient(180deg, var(--col-next-soft), rgba(255,255,255,.82));
}
.project-col-inProgress {
  border-color: var(--col-progress-border);
  background: linear-gradient(180deg, var(--col-progress-soft), rgba(255,255,255,.82));
}
.project-col-waiting {
  border-color: var(--col-waiting-border);
  background: linear-gradient(180deg, var(--col-waiting-soft), rgba(255,255,255,.82));
}
.project-col-done {
  border-color: var(--col-done-border);
  background: linear-gradient(180deg, var(--col-done-soft), rgba(255,255,255,.82));
}

.project-col-next h3 { color: var(--col-next); }
.project-col-inProgress h3 { color: var(--col-progress); }
.project-col-waiting h3 { color: var(--col-waiting); }
.project-col-done h3 { color: var(--col-done); }

.project-chip-next,
.project-column-next {
  background: var(--col-next-soft);
  color: var(--col-next);
  border-color: var(--col-next-border);
}
.project-chip-inProgress,
.project-column-inProgress {
  background: var(--col-progress-soft);
  color: var(--col-progress);
  border-color: var(--col-progress-border);
}
.project-chip-waiting,
.project-column-waiting {
  background: var(--col-waiting-soft);
  color: var(--col-waiting);
  border-color: var(--col-waiting-border);
}
.project-chip-done,
.project-column-done {
  background: var(--col-done-soft);
  color: var(--col-done);
  border-color: var(--col-done-border);
}

.btn-next {
  background: var(--col-next-soft) !important;
  color: var(--col-next) !important;
  border-color: var(--col-next-border) !important;
}
.btn-waiting {
  background: var(--col-waiting-soft) !important;
  color: var(--col-waiting) !important;
  border-color: var(--col-waiting-border) !important;
}
.btn-inprogress {
  background: var(--col-progress) !important;
  color: white !important;
  border-color: var(--col-progress) !important;
}


/* Life OS v5.33 project custom color markers */
.project-card-colored {
  border-left: 3px solid var(--project-color, var(--primary));
}

.project-marker-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 0;
  border: 2px solid var(--project-column-color, var(--primary));
  background: var(--project-color, var(--primary));
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .01em;
}

.project-card-colored .card-title::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--project-color, var(--primary));
  vertical-align: middle;
}

input[type="color"] {
  min-height: 42px;
  padding: 4px;
  cursor: pointer;
}


/* Life OS v5.34 task project display refinement */
.task-main {
  min-width: 0;
}

.task-project-name-marker {
  margin-top: 10px;
  padding-left: 8px;
  border-left: 2px solid var(--project-color, var(--primary));
  color: var(--text);
  font-size: .82rem;
  font-weight: 900;
  line-height: 1.15;
}

.project-column-chip {
  border-radius: 0 !important;
  font-weight: 900;
}

.project-marker-chip {
  display: none;
}


/* Life OS v5.35 project backlog column and contextual Next/Waiting actions */
.project-col-backlog {
  border-color: #d1d5db;
  background: linear-gradient(180deg, #f3f4f6, rgba(255,255,255,.82));
}
.project-col-backlog h3 {
  color: #374151;
}
.project-column-backlog {
  display: none !important;
}
.project-columns-mini {
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 560px) {
  .project-columns-mini {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* Life OS v5.36 project board no-wrap columns */
.project-board {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(240px, 1fr)) !important;
  grid-auto-flow: column;
  overflow-x: auto !important;
  overflow-y: visible;
  align-items: stretch;
}

.project-board-column {
  min-width: 240px;
}

@media (max-width: 820px) {
  .project-board {
    grid-template-columns: repeat(5, minmax(240px, 1fr)) !important;
    overflow-x: auto !important;
  }
  .project-board-column {
    min-width: 240px;
  }
}


/* Life OS v5.37 task card cleanup and project-board task creation */
.task-project-name-marker {
  border-left-width: 5px !important;
}


.project-board-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  .project-board-actions {
    width: 100%;
  }
  .project-board-actions .small {
    flex: 1;
  }
}


/* Life OS v5.38 project-linked target states and principle detail */
.project-mini-chip {
  background: #eef6f2;
  color: #234f43;
  border-color: #cfe4dc;
}
.principle-card-clickable {
  cursor: pointer;
}


/* Life OS v5.39 project principles and target project markers */
.warning-chip {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}
.target-state-card .task-project-name-marker {
  margin-top: 12px;
}


/* Life OS v5.41 mobile-friendly project task move */
.project-board-task-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.mini-move-button {
  flex: 0 0 auto;
  border: 1px solid var(--border);
  background: white;
  color: var(--muted);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  min-height: 24px;
  cursor: pointer;
}

.mini-move-button:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.move-task-modal {
  display: grid;
  gap: 14px;
}

.move-column-list {
  display: grid;
  gap: 8px;
}

.move-column-button {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px 14px;
  background: white;
  text-align: left;
  font-weight: 900;
  cursor: pointer;
}

.move-column-button.active {
  box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}

.move-column-button.project-column-backlog {
  background: #f3f4f6;
  color: #374151;
  border-color: #d1d5db;
}

.move-column-button.project-column-next {
  background: var(--col-next-soft);
  color: var(--col-next);
  border-color: var(--col-next-border);
}

.move-column-button.project-column-inProgress {
  background: var(--col-progress-soft);
  color: var(--col-progress);
  border-color: var(--col-progress-border);
}

.move-column-button.project-column-waiting {
  background: var(--col-waiting-soft);
  color: var(--col-waiting);
  border-color: var(--col-waiting-border);
}

.move-column-button.project-column-done {
  background: var(--col-done-soft);
  color: var(--col-done);
  border-color: var(--col-done-border);
}


/* Life OS v5.42 yearly principles review */
.principles-review-panel {
  margin-top: 18px;
}
.principles-review-panel .reflection-html {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}


/* Life OS v5.43 multiple Bible references */
.bible-references-editor {
  display: grid;
  gap: 10px;
}
.bible-reference-rows {
  display: grid;
  gap: 10px;
}
.bible-reference-row {
  display: grid;
  grid-template-columns: minmax(160px, 1.5fr) minmax(90px, .7fr) minmax(110px, .9fr) auto;
  gap: 10px;
  align-items: end;
}
.bible-reference-row label {
  margin: 0;
}
.bible-ref-remove:disabled {
  opacity: .45;
  cursor: not-allowed;
}
@media (max-width: 720px) {
  .bible-reference-row {
    grid-template-columns: 1fr;
  }
  .bible-reference-row .bible-ref-remove {
    width: 100%;
  }
}


/* Life OS v5.44 Tag View and Reflect Review Signals */
.tag-card-clickable {
  cursor: pointer;
}
.tag-detail-modal {
  display: grid;
  gap: 14px;
}
.tag-element-row {
  width: 100%;
  border: 1px solid var(--border);
  background: white;
  border-radius: 14px;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  align-items: center;
}
.tag-element-row:hover {
  border-color: var(--primary);
  box-shadow: 0 8px 24px rgba(31,41,51,.08);
}
.tag-element-row span:first-child {
  display: grid;
  gap: 3px;
}
.reflect-signals-panel {
  margin-top: 18px;
}


/* Life OS v5.45 visible Reflect Review Signals fix */
.reflect-signals-block {
  display: grid !important;
  gap: 14px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}
.reflect-signals-intro {
  border-left: 4px solid var(--primary);
  background: rgba(255,255,255,.86);
}


/* Life OS v5.46 final Reflect Review Signals visibility fix */
.reflect-signals-block {
  display: grid !important;
  gap: 14px !important;
  margin-top: 22px !important;
  margin-bottom: 18px !important;
  padding: 18px !important;
  border: 1px solid var(--border) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.66) !important;
}


/* Life OS v5.47 cleanup */
.reflect-signals-heading {
  margin-bottom: 2px;
}
.reflect-signals-intro {
  display: contents !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.task-actions:empty,
.backlog-task-actions:empty {
  display: none !important;
}


/* Life OS v5.49 Subtasks */
.subtask-progress {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  font-size: .78rem;
  font-weight: 800;
  color: var(--muted);
}
.subtask-progress-bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(31,41,51,.10);
  overflow: hidden;
}
.subtask-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
}
.task-subtasks-card,
.task-subtasks-edit {
  display: grid;
  gap: 12px;
}
.subtask-list,
.subtask-edit-rows {
  display: grid;
  gap: 8px;
}
.subtask-row,
.subtask-edit-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
}
.subtask-row span.done {
  text-decoration: line-through;
  color: var(--muted);
}
.subtask-edit-row {
  grid-template-columns: auto 1fr auto;
}
@media (max-width: 640px) {
  .subtask-edit-row {
    grid-template-columns: auto 1fr;
  }
  .subtask-edit-row button {
    grid-column: 1 / -1;
  }
}


/* Life OS v5.50 Task Types and fast Subtask entry */
.task-type-rows {
  display: grid;
  gap: 12px;
}
.task-type-row textarea {
  min-height: 110px;
}
.task-type-row .card-title-row {
  align-items: end;
}
.task-type-row .card-title-row label {
  flex: 1;
  margin: 0;
}
#taskTypePickerSlot:empty {
  display: none;
}


/* Life OS v5.59 Docs */
.doc-card {
  cursor: pointer;
}
.doc-card .task-project-name-marker {
  margin-top: 12px;
}


/* Life OS v5.61 Docs large modal and principle markers */
.doc-large-modal .modal {
  width: min(1180px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
}

.doc-large-modal .modal-body {
  max-height: calc(100vh - 150px);
}

.doc-form-grid {
  gap: 16px;
}

.doc-rich-editor {
  min-height: 52vh;
}

.doc-large-modal .reflection-html {
  font-size: 1rem;
  line-height: 1.7;
}


/* Life OS v5.62 enhanced Docs editor */
.doc-rich-toolbar {
  flex-wrap: wrap;
  gap: 6px;
  position: sticky;
  top: 0;
  z-index: 3;
  background: rgba(255,255,255,.96);
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
}

.doc-rich-toolbar button {
  min-height: 30px;
  padding: 5px 9px;
}

.doc-rich-editor h2,
.reflection-html h2 {
  font-size: 1.55rem;
  margin: 1.15em 0 .45em;
  line-height: 1.2;
}

.doc-rich-editor h3,
.reflection-html h3 {
  font-size: 1.2rem;
  margin: 1em 0 .35em;
  line-height: 1.25;
}

.doc-rich-editor blockquote,
.reflection-html blockquote {
  margin: 1em 0;
  padding: 10px 14px;
  border-left: 4px solid var(--primary);
  background: var(--primary-soft);
  border-radius: 12px;
}

.doc-rich-editor pre,
.reflection-html pre {
  white-space: pre-wrap;
  overflow-x: auto;
  padding: 12px;
  border-radius: 12px;
  background: #111827;
  color: #f9fafb;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.doc-rich-editor code,
.reflection-html code {
  padding: 2px 5px;
  border-radius: 6px;
  background: #f3f4f6;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.doc-rich-editor pre code,
.reflection-html pre code {
  padding: 0;
  background: transparent;
  color: inherit;
}

.doc-rich-editor hr,
.reflection-html hr {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 18px 0;
}

.doc-rich-editor a,
.reflection-html a {
  color: var(--primary);
  font-weight: 800;
  text-decoration: underline;
}


/* Life OS v5.63 advanced Docs editor */
.doc-rich-toolbar {
  align-items: center;
}

.doc-rich-editor table,
.reflection-html table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
  overflow: hidden;
  border-radius: 12px;
}

.doc-rich-editor td,
.doc-rich-editor th,
.reflection-html td,
.reflection-html th {
  border: 1px solid var(--border);
  padding: 9px 10px;
  vertical-align: top;
  min-width: 90px;
}

.doc-rich-editor th,
.reflection-html th {
  background: var(--primary-soft);
  font-weight: 900;
}

.doc-checklist {
  list-style: none;
  padding-left: 0;
}

.doc-checklist li {
  margin: 6px 0;
}

.doc-checklist input[type="checkbox"] {
  margin-right: 8px;
}

.doc-rich-editor mark,
.reflection-html mark,
.doc-rich-editor span[style*="background-color"],
.reflection-html span[style*="background-color"] {
  padding: 1px 3px;
  border-radius: 4px;
}

.doc-rich-editor s,
.reflection-html s,
.doc-rich-editor strike,
.reflection-html strike {
  color: var(--muted);
}

@media (max-width: 720px) {
  .doc-rich-toolbar button {
    flex: 1 1 auto;
  }
}


/* Life OS v5.64 Docs toolbar cleanup */
.doc-toolbar-dropdown {
  position: relative;
  display: inline-flex;
}

.doc-toolbar-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 30;
  min-width: 170px;
  display: grid;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: white;
  box-shadow: 0 14px 30px rgba(31,41,51,.14);
}

.doc-toolbar-menu.hidden {
  display: none !important;
}

.doc-toolbar-menu button {
  justify-content: flex-start;
  text-align: left;
  width: 100%;
}

.doc-rich-toolbar button[title="Undo"],
.doc-rich-toolbar button[title="Redo"] {
  font-size: 1rem;
  min-width: 42px;
}


/* Life OS v5.66 Docs editor stability and active toolbar state */
.doc-rich-toolbar button.active,
.doc-rich-toolbar button[aria-pressed="true"] {
  background: var(--primary) !important;
  color: white !important;
  border-color: var(--primary) !important;
  box-shadow: 0 4px 10px rgba(31,41,51,.12);
}

.doc-rich-editor {
  font-weight: 400;
}

.doc-rich-editor p,
.doc-rich-editor div {
  font-weight: 400;
}


/* Life OS v5.68 Project Docs tab */
.project-popup-tabs {
  margin: 14px 0;
}

.project-docs-panel {
  display: grid;
  gap: 14px;
}

.project-doc-card {
  cursor: pointer;
}


/* Life OS v5.69 Task Docs */
.task-docs-card .button-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.linked-doc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
  cursor: pointer;
}

.linked-doc-main {
  flex: 1;
  cursor: pointer;
}

.linked-doc-row button {
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .linked-doc-row {
    align-items: stretch;
    flex-direction: column;
  }
}


/* Life OS v5.70 Docs filters */
.docs-filter-toolbar,
.project-docs-filter-toolbar {
  align-items: end;
}

.docs-filter-toolbar label,
.project-docs-filter-toolbar label {
  min-width: 160px;
}

.docs-filter-toolbar input,
.project-docs-filter-toolbar input {
  min-width: min(320px, 100%);
}


/* Life OS v5.72 Bible Note docs */
.bible-note-ref-chips {
  margin-top: 10px;
}

[data-doc-bible-fields] {
  display: grid;
  gap: 12px;
}


/* Life OS v5.75 My Day quiet time as Bible Note Doc */
.myday-quiet-panel .quiet-time-doc-card {
  cursor: default;
}

.quiet-time-preview {
  margin-top: 12px;
  max-height: 260px;
  overflow: auto;
}

.checkbox-line {
  display: flex !important;
  align-items: center;
  gap: 8px;
  flex-direction: row !important;
  font-weight: 800;
}

.checkbox-line input {
  width: auto;
}


/* Life OS v5.77 mobile navigation refinement */
@media (max-width: 980px) {
  .bottom-nav {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 8px;
  }

  .bottom-nav::-webkit-scrollbar {
    display: none;
  }

  .bottom-nav-item {
    flex: 0 0 auto;
    min-width: 76px;
    min-height: 44px;
    padding: 8px 10px;
    white-space: nowrap;
    font-size: .76rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .bottom-nav {
    left: 8px;
    right: 8px;
    bottom: 8px;
    border-radius: 18px;
  }

  .bottom-nav-item {
    min-width: 68px;
    font-size: .7rem;
    padding-left: 8px;
    padding-right: 8px;
  }

  .main {
    padding-bottom: 104px;
  }
}


/* Life OS v5.78 My Day compact header and no-scroll mobile nav */
.myday-date-under-title {
  margin: -14px 0 4px;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .78rem;
  font-weight: 850;
}

@media (max-width: 980px) {
  .bottom-nav {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 4px !important;
    padding: 7px !important;
    align-items: stretch;
  }

  .bottom-nav-item {
    min-width: 0 !important;
    width: 100%;
    min-height: 42px;
    padding: 7px 3px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .66rem !important;
    line-height: 1;
    border-radius: 13px;
  }
}

@media (max-width: 390px) {
  .bottom-nav {
    left: 6px;
    right: 6px;
    gap: 3px !important;
    padding: 6px !important;
  }

  .bottom-nav-item {
    min-height: 40px;
    font-size: .6rem !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
}

@media (max-width: 340px) {
  .bottom-nav-item {
    font-size: .56rem !important;
  }
}


/* Life OS v5.80 Plan header create buttons */
@media (max-width: 700px) {
  .panel-header > .primary-button,
  .panel-header > .secondary-button {
    width: 100%;
  }
}


/* Life OS v5.81 Settings and Export */
.settings-link {
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0;
}

.settings-tabs {
  margin-bottom: 16px;
}

.settings-panel {
  display: grid;
  gap: 14px;
}

.settings-version {
  text-align: right;
  margin: 4px 0 0;
}

.settings-panel .danger-button {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* Life OS v5.82 Settings stats and Bird's Eye info button */
.settings-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.settings-stat {
  border: 1px solid var(--border);
  background: white;
  border-radius: 16px;
  padding: 12px;
  display: grid;
  gap: 4px;
}

.settings-stat span {
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--primary);
  line-height: 1;
}

.settings-stat small {
  color: var(--muted);
  font-weight: 800;
}

.settings-info-list {
  display: grid;
  gap: 9px;
}

.settings-info-list > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}

.settings-info-list span {
  color: var(--muted);
}

.birdseye-card {
  position: relative;
  padding-right: 42px;
}

.birdseye-info-button {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: 900;
  font-size: .8rem;
  line-height: 1;
  display: inline-grid;
  place-items: center;
  z-index: 2;
}

.birdseye-info-button:hover {
  background: var(--primary);
  color: white;
}

@media (max-width: 720px) {
  .settings-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-info-list > div {
    flex-direction: column;
    gap: 2px;
  }
}


/* Life OS v5.86 Autosave status */
.autosave-box {
  display: grid;
  gap: 6px;
  align-items: start;
}

.autosave-status {
  width: fit-content;
  border-radius: 999px;
  padding: 7px 11px;
  background: var(--primary-soft);
  color: #24473d;
  font-size: .82rem;
  font-weight: 800;
}

.autosave-status.error {
  background: var(--danger-soft);
  color: var(--danger);
}

.mini-save-button {
  width: fit-content;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 850;
  font-size: .84rem;
  padding: 0;
}

.mini-save-button:hover {
  color: var(--primary);
}


/* Life OS v5.88 Project popup compact header */
.project-board-header-compact {
  align-items: flex-start;
}

.project-title-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

.project-title-inline h2 {
  margin: 0;
}

.project-header-markers {
  margin: 0;
}

.project-board-header-compact + .project-popup-tabs {
  margin-top: 12px;
}

@media (max-width: 720px) {
  .project-title-inline {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}


/* Life OS v5.89 Sport */
.sport-tabs {
  margin: 14px 0;
}

.sport-card {
  cursor: pointer;
}

.sport-mini-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.sport-mini-list > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 6px;
}

.sport-workout-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(88px, .7fr)) auto;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: white;
}

.sport-status-planned {
  background: #e0f2fe;
  color: #075985;
}

.sport-status-done {
  background: #dcfce7;
  color: #166534;
}

.sport-status-skipped {
  background: #fef3c7;
  color: #92400e;
}

.myday-sport-panel {
  border-left: 4px solid #0ea5e9;
}

@media (max-width: 900px) {
  .sport-workout-row {
    grid-template-columns: 1fr;
  }

  .sport-mini-list > div {
    flex-direction: column;
    gap: 2px;
  }
}

/* v5.89 eight bottom-nav items */
@media (max-width: 980px) {
  .bottom-nav {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  .bottom-nav-item {
    font-size: .6rem !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
}


/* Life OS v5.91 Sport muscle chips and searchable exercise input */
.sport-muscle-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.sport-muscle-chip {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 6px;
  width: auto;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 7px 10px;
  background: white;
  font-weight: 800;
  cursor: pointer;
}

.sport-muscle-chip input {
  width: auto;
}

.sport-muscle-chip:has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary);
}

.sport-exercise-search-input {
  min-width: 180px;
}


/* Life OS v5.92 Sport fixes */
.sport-exercise-search {
  position: relative;
}

.sport-exercise-results {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 260px;
  overflow: auto;
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
  box-shadow: var(--shadow);
}

.sport-exercise-results.hidden {
  display: none;
}

.sport-exercise-result {
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 10px;
  padding: 9px 10px;
  display: grid;
  gap: 2px;
  font-weight: 850;
}

.sport-exercise-result:hover {
  background: var(--primary-soft);
  color: var(--primary);
}

.sport-exercise-result span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.sport-exercise-no-results {
  padding: 8px;
}


/* Life OS v5.93 Sport exercise suggestion click fix */
.sport-exercise-results {
  pointer-events: auto;
}

.sport-exercise-result {
  cursor: pointer;
  user-select: none;
}


/* Life OS v5.94 Sport workout value formatting */
.sport-workout-values {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 720px) {
  .sport-workout-values {
    text-align: left;
  }
}


/* Life OS v5.95 Sport planning calendar */
.sport-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 16px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: white;
}

.sport-week-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(180px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.sport-day-column {
  min-width: 180px;
  display: grid;
  gap: 8px;
}

.sport-day-column > header {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--primary-soft);
  color: var(--primary);
  padding: 9px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 900;
}

.sport-time-slot {
  min-height: 132px;
  border: 1px dashed var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  padding: 8px;
  display: grid;
  align-content: start;
  gap: 8px;
}

.sport-time-slot.drag-over {
  border-color: var(--primary);
  background: var(--primary-soft);
}

.sport-slot-header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  font-size: .78rem;
  font-weight: 900;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.sport-slot-list {
  display: grid;
  gap: 8px;
}

.sport-session-card-compact {
  padding: 10px;
  cursor: grab;
}

.sport-session-card-compact:active {
  cursor: grabbing;
}

.sport-session-card.dragging {
  opacity: .55;
}

.sport-session-card-compact .card-title-row {
  gap: 8px;
}

.sport-session-card-compact .card-title {
  font-size: .92rem;
}

@media (max-width: 980px) {
  .sport-calendar-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .sport-week-calendar {
    grid-template-columns: repeat(7, minmax(170px, 1fr));
  }
}


/* Life OS v5.97 My Day training cards */
.myday-sport-panel {
  border-left: 0 !important;
}

.myday-sport-list {
  grid-template-columns: 1fr !important;
}

.myday-sport-session-card {
  width: 100%;
}

.sport-session-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.sport-session-action {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: white;
  color: var(--muted);
  font-weight: 850;
  font-size: .78rem;
  padding: 7px 10px;
}

.sport-session-action.done.active {
  border-color: #166534;
  background: #dcfce7;
  color: #166534;
}

.sport-session-action.skipped.active {
  border-color: #92400e;
  background: #fef3c7;
  color: #92400e;
}

.sport-session-action:hover {
  border-color: var(--primary);
  color: var(--primary);
}

@media (max-width: 720px) {
  .myday-sport-session-card .card-title-row {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Life OS v5.98 Sport buttons aligned with routine buttons */
.sport-session-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 700px) {
  .sport-session-actions {
    justify-content: flex-start;
  }
}


/* Life OS v5.99 Mobile-friendly sport calendar */
@media (max-width: 760px) {
  .sport-calendar-toolbar {
    position: sticky;
    top: 0;
    z-index: 3;
    margin-left: -2px;
    margin-right: -2px;
  }

  .sport-calendar-toolbar > div {
    text-align: center;
  }

  .sport-calendar-toolbar .ghost-button {
    width: 100%;
  }

  .sport-week-calendar {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px;
    overflow-x: visible;
    padding-bottom: 0;
  }

  .sport-day-column {
    min-width: 0;
    width: 100%;
    gap: 10px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: rgba(255,255,255,.72);
    padding: 10px;
  }

  .sport-day-column > header {
    position: sticky;
    top: 86px;
    z-index: 2;
    margin: -2px -2px 2px;
  }

  .sport-time-slot {
    min-height: 96px;
    width: 100%;
  }

  .sport-slot-header {
    font-size: .76rem;
  }

  .sport-session-card-compact {
    width: 100%;
  }

  .sport-session-card-compact .card-title-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 420px) {
  .sport-calendar-toolbar {
    padding: 8px;
  }

  .sport-day-column {
    padding: 8px;
    border-radius: 18px;
  }

  .sport-time-slot {
    padding: 7px;
    border-radius: 14px;
  }

  .sport-slot-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .sport-slot-header .mini-save-button {
    padding-top: 2px;
  }
}


/* Life OS v6.00 Sport filters */
.sport-filter-toolbar {
  margin: 0 0 14px;
}

.sport-filter-toolbar label {
  min-width: 180px;
}


/* Life OS v6.02 My Day rhythm and workout search */
.myday-rhythm-list {
  grid-template-columns: 1fr !important;
}

.sport-linked-routine-missing {
  border-left: 0;
}

.sport-workout-search {
  position: relative;
}

.sport-workout-results {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 260px;
  overflow: auto;
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
  box-shadow: var(--shadow);
}

.sport-workout-results.hidden {
  display: none;
}


/* Life OS v6.04 My Day rhythm subsections and drag/drop */
.myday-rhythm-sections {
  display: grid;
  gap: 14px;
}

.myday-rhythm-slot {
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255,255,255,.58);
  padding: 12px;
  display: grid;
  gap: 10px;
}

.myday-rhythm-slot.drag-over {
  border-color: var(--primary);
  background: var(--primary-soft);
}

.myday-rhythm-slot-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.myday-rhythm-slot-header h3 {
  margin: 0;
}

.myday-rhythm-card {
  cursor: grab;
}

.myday-rhythm-card:active {
  cursor: grabbing;
}

.myday-rhythm-card.dragging {
  opacity: .55;
}

.empty-state.compact {
  padding: 14px;
  min-height: auto;
}

@media (max-width: 700px) {
  .myday-rhythm-slot {
    padding: 10px;
    border-radius: 18px;
  }
}


/* Life OS v6.05 My Day rhythm sorting and subsection backgrounds */
.myday-rhythm-slot,
.myday-subsection-card {
  background: rgb(247 246 243) !important;
}

.myday-rhythm-list {
  min-height: 42px;
}

.myday-rhythm-slot.drag-over {
  border-color: var(--primary);
  background: rgb(247 246 243) !important;
  box-shadow: inset 0 0 0 2px rgba(49,95,82,.18);
}


/* Life OS v6.06 Training linked routines */
.routine-link-row {
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.routine-link-row > span:first-child {
  display: grid;
  gap: 2px;
}


/* Life OS v6.08 Routine history filters */
.routine-history-filter {
  margin-bottom: 14px;
  background: rgb(247 246 243);
}

.routine-history-filter .form-grid {
  margin: 0;
}


/* Life OS v6.09 Workout supersets */
.button-row {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sport-superset-block {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgb(247 246 243);
  padding: 12px;
  display: grid;
  gap: 12px;
}

.sport-superset-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
}

.sport-superset-header label {
  flex: 1;
}

.sport-superset-exercises {
  display: grid;
  gap: 10px;
  padding-left: 10px;
  border-left: 3px solid var(--primary-soft);
}

.sport-mini-superset strong::before {
  content: "Supersatz · ";
  color: var(--muted);
  font-weight: 800;
}

@media (max-width: 900px) {
  .sport-superset-header {
    align-items: stretch;
    flex-direction: column;
  }

  .sport-superset-exercises {
    padding-left: 0;
    border-left: 0;
  }
}


/* Life OS v6.10 Detailed supersets in workout view */
.sport-workout-detail-list {
  display: grid;
  gap: 12px;
}

.sport-detail-superset {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgb(247 246 243);
  padding: 12px;
  display: grid;
  gap: 10px;
}

.sport-detail-superset-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sport-detail-superset-header h3 {
  margin: 0;
}

.sport-detail-superset-items {
  display: grid;
  gap: 8px;
}

.sport-detail-exercise-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
  padding: 10px;
}

.sport-detail-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: 900;
  font-size: .8rem;
}

@media (max-width: 700px) {
  .sport-detail-superset-header {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Life OS v6.11 Sport free text search filters */
.sport-filter-toolbar input {
  min-width: 180px;
}


/* Life OS v6.13 Workout editor drag and drop */
.sport-workout-sortable-item {
  cursor: grab;
}

.sport-workout-sortable-item:active {
  cursor: grabbing;
}

.sport-workout-sortable-item.dragging,
.sport-workout-row.dragging {
  opacity: .55;
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
}

.sport-superset-block .sport-workout-row {
  cursor: grab;
}

.sport-workout-row input,
.sport-workout-row button,
.sport-workout-row select,
.sport-workout-row textarea,
.sport-superset-block input,
.sport-superset-block button {
  cursor: auto;
}


/* Life OS v6.14 Daily subtask planning */
.daily-subtask-list{margin-top:8px}
.daily-subtask-card{border:1px solid var(--border);border-radius:16px;background:white;padding:10px;display:grid;gap:10px}
.daily-subtask-card.done{opacity:.78}
.daily-subtask-card.skipped{background:#fff7ed}
.daily-subtask-actions,.planned-subtask-row .button-row{display:flex;flex-wrap:wrap;gap:8px}
.planned-subtask-row{align-items:flex-start;justify-content:space-between;gap:10px}
.planned-subtask-row label{display:inline-flex;align-items:center;gap:8px}
.myday-subsection-card h4{margin:14px 0 8px;font-size:.9rem}


/* Life OS v6.15 Subtask in-progress parent marker */
.subtask-in-progress-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 7px;
  font-size: .92rem;
  line-height: 1;
  vertical-align: -1px;
  filter: saturate(.9);
}


/* Life OS v6.16 Daily subtask checkbox and workout duplicate */
.daily-subtask-check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
}

.daily-subtask-check > span {
  display: grid;
  gap: 4px;
}

.icon-button {
  min-width: 34px;
  padding-left: 8px;
  padding-right: 8px;
  font-size: 1rem;
  line-height: 1;
}

.sport-card .button-row {
  align-items: center;
}


/* Life OS v6.18 Dark Mode */
:root[data-theme="dark"]{
  --bg:#101613;
  --panel:#17201c;
  --text:#edf4ef;
  --muted:#a9b8b0;
  --border:#314039;
  --primary:#8fc7b2;
  --primary-soft:#21372f;
  --danger:#ff9b8f;
  --danger-soft:#40211f;
  --shadow:0 18px 45px rgba(0,0,0,.34);
}

:root[data-theme="dark"] body{
  background:radial-gradient(circle at top left,rgba(143,199,178,.16),transparent 30rem),linear-gradient(135deg,#0f1713 0%,#111a16 45%,#0d1411 100%);
}

:root[data-theme="dark"] .sidebar{
  background:rgba(17,25,21,.78);
  border-right-color:rgba(49,64,57,.9);
}

:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .settings-panel section,
:root[data-theme="dark"] .task,
:root[data-theme="dark"] .log-entry,
:root[data-theme="dark"] .sport-detail-exercise-row,
:root[data-theme="dark"] .daily-subtask-card{
  background:rgba(23,32,28,.86);
  border-color:var(--border);
}

:root[data-theme="dark"] .myday-rhythm-slot,
:root[data-theme="dark"] .myday-subsection-card,
:root[data-theme="dark"] .routine-history-filter,
:root[data-theme="dark"] .sport-superset-block,
:root[data-theme="dark"] .sport-detail-superset{
  background:#141d19 !important;
  border-color:var(--border);
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select,
:root[data-theme="dark"] .rich-editor{
  background:#101713;
  color:var(--text);
  border-color:var(--border);
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{
  color:#7f9288;
}

:root[data-theme="dark"] .nav-item:hover,
:root[data-theme="dark"] .bottom-nav-item:hover,
:root[data-theme="dark"] .ghost-button:hover,
:root[data-theme="dark"] .secondary-button:hover{
  background:rgba(143,199,178,.11);
  color:var(--text);
}

:root[data-theme="dark"] .nav-item.active,
:root[data-theme="dark"] .primary-button,
:root[data-theme="dark"] .tab.active{
  color:#0d1712;
  background:var(--primary);
}

:root[data-theme="dark"] .status-pill,
:root[data-theme="dark"] .chip.primary{
  background:var(--primary-soft);
  color:var(--primary);
}

:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .tag-chip,
:root[data-theme="dark"] .project-marker,
:root[data-theme="dark"] .project-name-marker{
  background:#1d2924;
  border-color:var(--border);
  color:var(--text);
}

:root[data-theme="dark"] .sport-workout-results,
:root[data-theme="dark"] .sport-exercise-results,
:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .table-dropdown-menu{
  background:#17201c;
  border-color:var(--border);
  box-shadow:var(--shadow);
}

:root[data-theme="dark"] .sport-exercise-result,
:root[data-theme="dark"] .link-row,
:root[data-theme="dark"] .routine-link-row{
  background:#121a16;
  color:var(--text);
  border-color:var(--border);
}

:root[data-theme="dark"] .empty-state{
  background:rgba(20,29,25,.72);
  border-color:var(--border);
}

:root[data-theme="dark"] .modal-backdrop{
  background:rgba(0,0,0,.72);
}

:root[data-theme="dark"] .danger-button{
  background:var(--danger-soft);
  color:var(--danger);
}

:root[data-theme="dark"] .subtask-progress-bar,
:root[data-theme="dark"] .progress-bar{
  background:#26342e;
}


/* Life OS v6.19 Dark Mode Refinement */
:root[data-theme="dark"]{
  --bg:#0f1115;
  --panel:#171a20;
  --text:#f3f5f7;
  --muted:#9aa3b2;
  --border:#2b313c;
  --primary:#8ea2ff;
  --primary-soft:#20283a;
  --danger:#ff9a92;
  --danger-soft:#3a2225;
  --shadow:0 18px 42px rgba(0,0,0,.42);
  --col-next:#6f97ff;
  --col-next-soft:#1a2333;
  --col-next-border:#314668;
  --col-progress:#6fd2f1;
  --col-progress-soft:#162630;
  --col-progress-border:#27414d;
  --col-waiting:#b18cff;
  --col-waiting-soft:#231c31;
  --col-waiting-border:#43325d;
  --col-done:#6dd39c;
  --col-done-soft:#18291f;
  --col-done-border:#2f4d3d;
}

:root[data-theme="dark"] body{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.02), transparent 28rem),
    linear-gradient(135deg,#0c0f13 0%,#11141a 55%,#0d1015 100%) !important;
}

:root[data-theme="dark"] .sidebar,
:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .bottom-nav{
  background:rgba(16,18,24,.94) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .settings-panel section,
:root[data-theme="dark"] .task,
:root[data-theme="dark"] .log-entry,
:root[data-theme="dark"] .sport-detail-exercise-row,
:root[data-theme="dark"] .daily-subtask-card,
:root[data-theme="dark"] .routine-today-row,
:root[data-theme="dark"] .birdseye-card,
:root[data-theme="dark"] .birdseye-column,
:root[data-theme="dark"] .project-card-clickable,
:root[data-theme="dark"] .project-board-task,
:root[data-theme="dark"] .project-board-column,
:root[data-theme="dark"] .tag-element-row,
:root[data-theme="dark"] .project-doc-card,
:root[data-theme="dark"] .move-task-modal,
:root[data-theme="dark"] .move-column-button{
  background:var(--panel) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}

:root[data-theme="dark"] .modal-header{
  background:#1b1f26 !important;
  border-bottom:1px solid var(--border) !important;
}

:root[data-theme="dark"] #closeModalButton,
:root[data-theme="dark"] .icon-button{
  background:#1d222b !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .main,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .modal-body,
:root[data-theme="dark"] .modal-header,
:root[data-theme="dark"] .birdseye-map,
:root[data-theme="dark"] .project-board-modal,
:root[data-theme="dark"] .project-board,
:root[data-theme="dark"] .project-docs-panel,
:root[data-theme="dark"] .project-board-header,
:root[data-theme="dark"] .myday-rhythm-card,
:root[data-theme="dark"] .myday-quiet-panel{
  color:var(--text) !important;
}

:root[data-theme="dark"] .muted,
:root[data-theme="dark"] .small,
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .project-board-task .muted,
:root[data-theme="dark"] .birdseye-card .muted{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .tabs,
:root[data-theme="dark"] .settings-tabs,
:root[data-theme="dark"] .project-popup-tabs,
:root[data-theme="dark"] .sport-tabs{
  background:transparent !important;
}

:root[data-theme="dark"] .tab{
  background:#171c23 !important;
  color:#cfd6df !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .tab.active{
  background:#263041 !important;
  color:#ffffff !important;
  border-color:#4a5d83 !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .nav-item,
:root[data-theme="dark"] .bottom-nav-item{
  color:#ccd3dd !important;
}

:root[data-theme="dark"] .nav-item:hover,
:root[data-theme="dark"] .bottom-nav-item:hover{
  background:#1a2029 !important;
}

:root[data-theme="dark"] .nav-item.active,
:root[data-theme="dark"] .bottom-nav-item.active{
  background:#232b37 !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px #465772 !important;
}

:root[data-theme="dark"] .primary-button{
  background:#8ea2ff !important;
  color:#0f1420 !important;
  border-color:#8ea2ff !important;
}

:root[data-theme="dark"] .secondary-button,
:root[data-theme="dark"] .ghost-button,
:root[data-theme="dark"] .sport-session-action,
:root[data-theme="dark"] .routine-status-button{
  background:#1a1f27 !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .primary-button:hover{
  filter:brightness(1.04);
}

:root[data-theme="dark"] .secondary-button:hover,
:root[data-theme="dark"] .ghost-button:hover,
:root[data-theme="dark"] .icon-button:hover,
:root[data-theme="dark"] .sport-session-action:hover{
  background:#232934 !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select,
:root[data-theme="dark"] .rich-editor{
  background:#11151b !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{
  color:#778190 !important;
}

:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .tag-chip,
:root[data-theme="dark"] .project-marker,
:root[data-theme="dark"] .project-name-marker,
:root[data-theme="dark"] .project-mini-chip{
  background:#1f242d !important;
  color:#f2f5f7 !important;
  border-color:#343b48 !important;
}

:root[data-theme="dark"] .chip.primary,
:root[data-theme="dark"] .status-pill{
  background:#20283a !important;
  color:#c6d2ff !important;
  border-color:#34415b !important;
}

:root[data-theme="dark"] .project-name-marker{
  background:transparent !important;
}

:root[data-theme="dark"] .birdseye-column{
  background:#171b21 !important;
}

:root[data-theme="dark"] .birdseye-card{
  background:#1b2028 !important;
}

:root[data-theme="dark"] .birdseye-card.selected{
  border-color:#586f9d !important;
  box-shadow:0 0 0 2px rgba(142,162,255,.18) !important;
}

:root[data-theme="dark"] .birdseye-info-button{
  background:#232a35 !important;
  color:#fff !important;
  border-color:#3a4454 !important;
}

:root[data-theme="dark"] .project-columns-mini div{
  background:#1b2027 !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}

:root[data-theme="dark"] .project-col-backlog{
  background:linear-gradient(180deg,#191c22,#171a20) !important;
  border-color:#313642 !important;
}
:root[data-theme="dark"] .project-col-next{
  background:linear-gradient(180deg,#182130,#171a20) !important;
  border-color:#314668 !important;
}
:root[data-theme="dark"] .project-col-inProgress{
  background:linear-gradient(180deg,#16252f,#171a20) !important;
  border-color:#27414d !important;
}
:root[data-theme="dark"] .project-col-waiting{
  background:linear-gradient(180deg,#231c31,#171a20) !important;
  border-color:#43325d !important;
}
:root[data-theme="dark"] .project-col-done{
  background:linear-gradient(180deg,#18291f,#171a20) !important;
  border-color:#2f4d3d !important;
}

:root[data-theme="dark"] .project-col-next h3{ color:#7ea2ff !important; }
:root[data-theme="dark"] .project-col-inProgress h3{ color:#6fd2f1 !important; }
:root[data-theme="dark"] .project-col-waiting h3{ color:#b18cff !important; }
:root[data-theme="dark"] .project-col-done h3{ color:#6dd39c !important; }

:root[data-theme="dark"] .myday-rhythm-slot,
:root[data-theme="dark"] .myday-subsection-card,
:root[data-theme="dark"] .routine-history-filter,
:root[data-theme="dark"] .sport-superset-block,
:root[data-theme="dark"] .sport-detail-superset,
:root[data-theme="dark"] .principles-review-panel,
:root[data-theme="dark"] .empty-state{
  background:#13171d !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}

:root[data-theme="dark"] .sport-linked-routine-missing{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .project-board-task,
:root[data-theme="dark"] .routine-today-row,
:root[data-theme="dark"] .daily-subtask-card{
  box-shadow:none !important;
}

:root[data-theme="dark"] .sport-workout-results,
:root[data-theme="dark"] .sport-exercise-results,
:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .table-dropdown-menu{
  background:#1a1f27 !important;
  border-color:var(--border) !important;
  box-shadow:var(--shadow) !important;
}

:root[data-theme="dark"] .sport-exercise-result,
:root[data-theme="dark"] .link-row,
:root[data-theme="dark"] .routine-link-row{
  background:#13171d !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .doc-rich-editor blockquote,
:root[data-theme="dark"] .reflection-html blockquote{
  background:#1c2330 !important;
}

:root[data-theme="dark"] .subtask-progress-bar,
:root[data-theme="dark"] .progress-bar{
  background:#29313d !important;
}

:root[data-theme="dark"] .subtask-progress-fill,
:root[data-theme="dark"] .progress-fill{
  background:#8ea2ff !important;
}

:root[data-theme="dark"] .modal-backdrop{
  background:rgba(0,0,0,.78) !important;
}


/* Life OS v6.20 Theme Architecture + Dark Mode Coverage
   New semantic tokens:
   - --surface-page: app background base
   - --surface-panel: large sections and modal base
   - --surface-card: normal cards
   - --surface-card-alt: nested cards/subsections
   - --surface-input: inputs/editors
   - --surface-hover: hover/focus surface
   - --surface-selected: active/selected pills
   - --text-strong, --text-soft: text layers
   - --border-soft, --border-strong: border layers
*/
:root{
  --surface-page:var(--bg);
  --surface-panel:rgba(255,255,255,.78);
  --surface-card:rgba(255,255,255,.92);
  --surface-card-alt:rgb(247 246 243);
  --surface-input:#fff;
  --surface-hover:#f7faf8;
  --surface-selected:var(--primary-soft);
  --text-strong:var(--text);
  --text-soft:var(--muted);
  --border-soft:var(--border);
  --border-strong:rgba(49,95,82,.28);
}

:root[data-theme="dark"]{
  --surface-page:#0f1115;
  --surface-panel:#15181e;
  --surface-card:#181c23;
  --surface-card-alt:#13171d;
  --surface-input:#10141a;
  --surface-hover:#202632;
  --surface-selected:#263041;
  --text-strong:#f4f7fb;
  --text-soft:#aab3c1;
  --border-soft:#2b313c;
  --border-strong:#48546a;
}

/* Broad component normalization for dark mode.
   These overrides intentionally target old hard-coded white/cream surfaces so
   future UI extensions inherit semantic surfaces instead of adding one-off colors.
*/
:root[data-theme="dark"] .panel{background:var(--surface-panel)!important;border-color:var(--border-soft)!important;color:var(--text-strong)!important}
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .task,
:root[data-theme="dark"] .log-entry,
:root[data-theme="dark"] .link-row,
:root[data-theme="dark"] .tag-element-row,
:root[data-theme="dark"] .settings-stat,
:root[data-theme="dark"] .doc-card,
:root[data-theme="dark"] .project-card-colored,
:root[data-theme="dark"] .routine-today-row,
:root[data-theme="dark"] .daily-subtask-card,
:root[data-theme="dark"] .sport-workout-row,
:root[data-theme="dark"] .sport-session-card,
:root[data-theme="dark"] .sport-session-card-compact,
:root[data-theme="dark"] .sport-detail-exercise-row,
:root[data-theme="dark"] .birdseye-card,
:root[data-theme="dark"] .project-board-task{
  background:var(--surface-card)!important;
  border-color:var(--border-soft)!important;
  color:var(--text-strong)!important;
}

:root[data-theme="dark"] .myday-rhythm-slot,
:root[data-theme="dark"] .myday-subsection-card,
:root[data-theme="dark"] .task-subtasks-card,
:root[data-theme="dark"] .task-subtasks-edit,
:root[data-theme="dark"] .subtask-row,
:root[data-theme="dark"] .subtask-edit-row,
:root[data-theme="dark"] .planned-subtask-row,
:root[data-theme="dark"] .reflect-signals-block,
:root[data-theme="dark"] .reflect-signals-intro,
:root[data-theme="dark"] .routine-history-filter,
:root[data-theme="dark"] .routine-history-summary,
:root[data-theme="dark"] .routine-history-table,
:root[data-theme="dark"] .sport-superset-block,
:root[data-theme="dark"] .sport-detail-superset,
:root[data-theme="dark"] .sport-muscle-chip,
:root[data-theme="dark"] .project-columns-mini div,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .empty-mini,
:root[data-theme="dark"] .birdseye-selection{
  background:var(--surface-card-alt)!important;
  border-color:var(--border-soft)!important;
  color:var(--text-strong)!important;
}

/* Readability fixes for old hard-coded light blocks */
:root[data-theme="dark"] .subtask-row span,
:root[data-theme="dark"] .subtask-edit-row span,
:root[data-theme="dark"] .planned-subtask-row span,
:root[data-theme="dark"] .daily-subtask-check span,
:root[data-theme="dark"] .task-title,
:root[data-theme="dark"] .card-title,
:root[data-theme="dark"] .birdseye-card-title{
  color:var(--text-strong)!important;
}

:root[data-theme="dark"] .subtask-row span.done,
:root[data-theme="dark"] .task-title.done,
:root[data-theme="dark"] .done{
  color:#7f8896!important;
}

/* Editors and toolbars */
:root[data-theme="dark"] .rich-toolbar,
:root[data-theme="dark"] .doc-rich-toolbar{
  background:var(--surface-card-alt)!important;
  border-color:var(--border-soft)!important;
}

:root[data-theme="dark"] .rich-toolbar button,
:root[data-theme="dark"] .doc-rich-toolbar button,
:root[data-theme="dark"] .table-dropdown-menu button{
  background:var(--surface-input)!important;
  color:var(--text-strong)!important;
  border-color:var(--border-soft)!important;
}

:root[data-theme="dark"] .rich-toolbar button.active,
:root[data-theme="dark"] .doc-rich-toolbar button.active,
:root[data-theme="dark"] .rich-toolbar button:hover,
:root[data-theme="dark"] .doc-rich-toolbar button:hover{
  background:var(--surface-selected)!important;
  color:#fff!important;
  border-color:var(--border-strong)!important;
}

:root[data-theme="dark"] .rich-editor,
:root[data-theme="dark"] .doc-rich-editor,
:root[data-theme="dark"] .reflection-html{
  background:var(--surface-input)!important;
  color:var(--text-strong)!important;
  border-color:var(--border-soft)!important;
}

/* Filter and selection pills */
:root[data-theme="dark"] .sport-muscle-chip{
  background:var(--surface-card)!important;
  color:var(--text-soft)!important;
}

:root[data-theme="dark"] .sport-muscle-chip:has(input:checked){
  background:var(--surface-selected)!important;
  color:#fff!important;
  border-color:var(--border-strong)!important;
}

:root[data-theme="dark"] .sport-muscle-chip input,
:root[data-theme="dark"] input[type="checkbox"]{
  accent-color:#a77dff;
}

/* Bird's Eye + Kanban empty/drop areas */
:root[data-theme="dark"] .birdseye-column h3 span,
:root[data-theme="dark"] .project-board-column h3 span{
  background:var(--surface-input)!important;
  color:var(--text-soft)!important;
  border-color:var(--border-soft)!important;
}

:root[data-theme="dark"] .empty-mini,
:root[data-theme="dark"] .project-board-dropzone .empty-mini{
  background:#1b2028!important;
  color:var(--text-soft)!important;
  border-color:#3a414d!important;
}

:root[data-theme="dark"] .project-board-dropzone.drag-over,
:root[data-theme="dark"] .myday-rhythm-slot.drag-over{
  outline-color:#8ea2ff!important;
  box-shadow:inset 0 0 0 2px rgba(142,162,255,.22)!important;
}

/* Review signals were previously forced to a light background with !important */
:root[data-theme="dark"] .reflect-signals-block{
  background:var(--surface-card-alt)!important;
}

:root[data-theme="dark"] .reflect-signals-block .card{
  background:var(--surface-card)!important;
}

/* Inputs/search/dropdowns */
:root[data-theme="dark"] .sport-workout-results,
:root[data-theme="dark"] .sport-exercise-results,
:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .table-dropdown-menu{
  background:var(--surface-card)!important;
  color:var(--text-strong)!important;
  border-color:var(--border-soft)!important;
}

:root[data-theme="dark"] .sport-exercise-result:hover,
:root[data-theme="dark"] .sport-workout-results button:hover,
:root[data-theme="dark"] .sport-exercise-results button:hover{
  background:var(--surface-hover)!important;
  color:var(--text-strong)!important;
}

/* Buttons/chips should not fall back to white */
:root[data-theme="dark"] .icon-button,
:root[data-theme="dark"] .mini-move-button,
:root[data-theme="dark"] .sport-session-action{
  background:var(--surface-input)!important;
  color:var(--text-strong)!important;
  border-color:var(--border-soft)!important;
}

:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .tag-chip,
:root[data-theme="dark"] .warning-chip,
:root[data-theme="dark"] .project-mini-chip,
:root[data-theme="dark"] .project-column-chip{
  background:#202630!important;
  color:var(--text-strong)!important;
  border-color:#353d4a!important;
}

/* Status-specific dark colors stay readable but less bright */
:root[data-theme="dark"] .project-column-next,
:root[data-theme="dark"] .project-chip-next{background:#1a2333!important;color:#8fb0ff!important;border-color:#314668!important}
:root[data-theme="dark"] .project-column-inProgress,
:root[data-theme="dark"] .project-chip-inProgress{background:#162630!important;color:#7bdcf6!important;border-color:#27414d!important}
:root[data-theme="dark"] .project-column-waiting,
:root[data-theme="dark"] .project-chip-waiting{background:#231c31!important;color:#c5a7ff!important;border-color:#43325d!important}
:root[data-theme="dark"] .project-column-done,
:root[data-theme="dark"] .project-chip-done{background:#18291f!important;color:#7be3a7!important;border-color:#2f4d3d!important}

/* Tables */
:root[data-theme="dark"] table,
:root[data-theme="dark"] th,
:root[data-theme="dark"] td{
  border-color:var(--border-soft)!important;
}

:root[data-theme="dark"] th{
  background:var(--surface-card-alt)!important;
  color:var(--text-soft)!important;
}

/* Scrollbars in dark mode */
:root[data-theme="dark"] *{
  scrollbar-color:#3a414d #11151b;
}


/* Life OS v6.21 Weekly Planning */
.weekplan {
  display: grid;
  gap: 16px;
}

.weekplan-summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.weekplan-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(210px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.weekplan-day {
  align-content: start;
  min-width: 210px;
  gap: 12px;
}

.weekplan-day.today {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(49,95,82,.10);
}

.weekplan-day-head,
.weekplan-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-weight: 900;
}

.weekplan-day-head strong,
.weekplan-day-head span {
  display: block;
}

.weekplan-day-head span {
  color: var(--muted);
  font-size: .82rem;
  margin-top: 2px;
}

.weekplan-focus-label,
.weekplan-capacity-label {
  margin: 0;
}

.weekplan-section {
  display: grid;
  gap: 7px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
}

.weekplan-section-title {
  font-size: .88rem;
}

.weekplan-section-title span {
  color: var(--muted);
  font-size: .78rem;
}

.weekplan-mini-list {
  display: grid;
  gap: 6px;
}

.weekplan-mini-item {
  width: 100%;
  text-align: left;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--text);
  border-radius: 12px;
  padding: 8px 9px;
  display: grid;
  gap: 3px;
  font-weight: 850;
  cursor: pointer;
}

.weekplan-mini-item:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow);
}

.weekplan-mini-item.done {
  opacity: .65;
}

.weekplan-mini-item span,
.weekplan-mini-item small {
  display: block;
}

.weekplan-mini-item small {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 800;
}

.weekplan-actions {
  margin-top: 2px;
}

.weekplan-toolbar {
  align-items: end;
}

.daily-plan-meta {
  margin-bottom: 16px;
}

:root[data-theme="dark"] .weekplan-mini-item {
  background: var(--surface-card-alt) !important;
  color: var(--text-strong) !important;
  border-color: var(--border-soft) !important;
}

:root[data-theme="dark"] .weekplan-day.today {
  box-shadow: 0 0 0 3px rgba(142,162,255,.16);
}

@media (max-width: 980px) {
  .weekplan-summary {
    flex-direction: column;
  }

  .weekplan-grid {
    grid-template-columns: repeat(7, minmax(190px, 82vw));
  }
}


/* Life OS v6.22 Sport Calendar Dark Mode Fix */
:root[data-theme="dark"] .sport-calendar-toolbar {
  background: var(--surface-panel) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .sport-calendar-toolbar strong {
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .sport-week-calendar {
  background: transparent !important;
}

:root[data-theme="dark"] .sport-day-column > header {
  background: #202838 !important;
  border-color: #334052 !important;
  color: #aebfff !important;
}

:root[data-theme="dark"] .sport-time-slot {
  background: var(--surface-card-alt) !important;
  border-color: #3a414d !important;
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .sport-time-slot.drag-over {
  background: #1f293b !important;
  border-color: #8ea2ff !important;
  box-shadow: inset 0 0 0 2px rgba(142,162,255,.22) !important;
}

:root[data-theme="dark"] .sport-slot-header {
  color: var(--text-soft) !important;
}

:root[data-theme="dark"] .sport-slot-header span {
  color: var(--text-soft) !important;
}

:root[data-theme="dark"] .sport-slot-header .mini-save-button,
:root[data-theme="dark"] .mini-save-button {
  color: #8ea2ff !important;
}

:root[data-theme="dark"] .sport-slot-header .mini-save-button:hover,
:root[data-theme="dark"] .mini-save-button:hover {
  color: #c6d2ff !important;
}

:root[data-theme="dark"] .sport-session-card,
:root[data-theme="dark"] .sport-session-card-compact,
:root[data-theme="dark"] .sport-card {
  background: var(--surface-card) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .sport-session-card .card-title,
:root[data-theme="dark"] .sport-session-card-compact .card-title,
:root[data-theme="dark"] .sport-card .card-title {
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .sport-session-card:hover,
:root[data-theme="dark"] .sport-session-card-compact:hover {
  border-color: var(--border-strong) !important;
  background: var(--surface-hover) !important;
}

:root[data-theme="dark"] .sport-status-planned {
  background: #1a2333 !important;
  color: #8fb0ff !important;
}

:root[data-theme="dark"] .sport-status-done {
  background: #18291f !important;
  color: #7be3a7 !important;
}

:root[data-theme="dark"] .sport-status-skipped {
  background: #332813 !important;
  color: #ffd28a !important;
}


/* Life OS v6.23 Week combined planning */
.week-combined-plan {
  gap: 20px;
}

.week-goals-section {
  display: grid;
  gap: 14px;
}

.week-assignment-panel {
  margin-top: 4px;
}

.week-assignment-list {
  gap: 12px;
}

.week-assignment-card {
  grid-template-columns: minmax(0, 1fr) auto;
}

.week-assignment-actions {
  min-width: 150px;
  align-items: flex-end;
}

.week-assign-select {
  min-width: 132px;
}

.week-assignment-subtasks {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.week-assignment-subtask {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 8px;
  background: var(--surface-card-alt, rgba(255,255,255,.62));
}

.week-assignment-subtask span {
  font-weight: 800;
  font-size: .86rem;
}

:root[data-theme="dark"] .week-assignment-subtask {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

@media (max-width: 760px) {
  .week-assignment-card {
    grid-template-columns: 1fr;
  }

  .week-assignment-actions {
    align-items: stretch;
  }

  .week-assignment-subtask {
    grid-template-columns: 1fr;
  }
}


/* Life OS v6.25 Week drag, sort and unplan */
.weekplan-dropzone.drag-over {
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
  background: var(--surface-selected, var(--primary-soft));
}

.weekplan-planned-list {
  min-height: 30px;
}

.weekplan-planned-card {
  position: relative;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  cursor: grab;
}

.weekplan-planned-card:active {
  cursor: grabbing;
}

.weekplan-planned-card.dragging {
  opacity: .55;
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
}

.weekplan-card-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.weekplan-card-main span,
.weekplan-card-main small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.week-unplan-button {
  min-width: 30px;
  width: 30px;
  height: 30px;
  padding: 0 !important;
  border-radius: 999px;
}

:root[data-theme="dark"] .weekplan-dropzone.drag-over {
  background: #1f293b !important;
}


/* Life OS v6.27 Week unplan click + dark comments fix */
.weekplan-card-click-target {
  cursor: pointer;
}

.weekplan-card-click-target:hover span {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:root[data-theme="dark"] .task-comment {
  background: var(--surface-card) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .task-comment .reflection-html {
  background: transparent !important;
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .task-comment .reflection-html *,
:root[data-theme="dark"] .task-comment .reflection-html p,
:root[data-theme="dark"] .task-comment .reflection-html div,
:root[data-theme="dark"] .task-comment .reflection-html span {
  background: transparent !important;
  color: var(--text-strong) !important;
}


/* Life OS v6.28 Week controls and simpler week heading */
.weekplan-heading {
  margin-bottom: 12px;
  padding: 0;
}
.weekplan-heading .chip-row {
  justify-content: flex-end;
}


/* Life OS v6.29 Target card click + planned subtask pool sync */
.target-state-card {
  cursor: pointer;
}
.target-state-card:hover {
  border-color: var(--primary);
}


/* Life OS v6.30 Task comments and activity log */
.task-bottom-tabs {
  display: grid;
  gap: 12px;
}

.task-bottom-tabbar {
  margin-bottom: 0;
}

.task-bottom-panel {
  display: grid;
  gap: 12px;
}

.compact-rich-editor {
  min-height: 110px;
}

.task-history-list {
  gap: 10px;
}

.task-history-entry {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--panel);
  display: grid;
  gap: 5px;
}

:root[data-theme="dark"] .task-history-entry {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}


/* Life OS v6.31 Reflect Performance Review */
.reflect-performance-block {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.performance-metric-card {
  align-content: start;
}

.performance-number {
  font-size: 2rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.performance-list {
  display: grid;
  gap: 8px;
}

.performance-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 9px 10px;
  background: var(--panel);
}

.performance-question-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}

.performance-question-grid div {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px;
  background: var(--panel);
  font-weight: 800;
}

:root[data-theme="dark"] .performance-row,
:root[data-theme="dark"] .performance-question-grid div {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

@media (max-width: 760px) {
  .performance-question-grid {
    grid-template-columns: 1fr;
  }
}


/* Life OS v6.32 Projectüberblick */
.project-overview-panel {
  display: grid;
  gap: 16px;
}

.project-overview-summary {
  margin-bottom: 2px;
}

.project-overview-status-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 8px;
}

.project-overview-status {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: var(--panel);
  display: grid;
  gap: 6px;
}

.project-overview-status span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
}

.project-overview-status strong {
  font-size: 1.45rem;
  line-height: 1;
}

.project-overview-list {
  display: grid;
  gap: 8px;
}

.project-overview-row {
  width: 100%;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: var(--panel);
  color: var(--text);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

.project-overview-row:hover {
  border-color: var(--primary);
}

.project-overview-row span {
  display: grid;
  gap: 3px;
}

.project-overview-row small {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
}

:root[data-theme="dark"] .project-overview-status,
:root[data-theme="dark"] .project-overview-row {
  background: var(--surface-card-alt) !important;
  color: var(--text-strong) !important;
  border-color: var(--border-soft) !important;
}

@media (max-width: 980px) {
  .project-overview-status-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}


/* Life OS v6.33 Sidebar collapse + project tab adjustment */
.brand {
  position: relative;
}

.brand-text {
  min-width: 0;
}

.sidebar-collapse-button {
  margin-left: auto;
  width: 32px;
  height: 32px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  color: var(--muted);
  font-size: 1.2rem;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.sidebar-collapse-button:hover {
  color: var(--text);
  border-color: var(--primary);
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-icon {
  width: 22px;
  min-width: 22px;
  display: inline-grid;
  place-items: center;
  font-size: 1.05rem;
  line-height: 1;
}

.nav-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.sidebar-collapsed .app-shell {
  grid-template-columns: 88px minmax(0,1fr);
}

body.sidebar-collapsed .sidebar {
  padding: 20px 14px;
  align-items: center;
}

body.sidebar-collapsed .brand {
  width: 100%;
  justify-content: center;
  margin-bottom: 24px;
}

body.sidebar-collapsed .brand-text,
body.sidebar-collapsed .nav-label,
body.sidebar-collapsed #todayLabel,
body.sidebar-collapsed .autosave-status,
body.sidebar-collapsed #sidebarSaveButton {
  display: none !important;
}

body.sidebar-collapsed .brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 15px;
}

body.sidebar-collapsed .sidebar-collapse-button {
  position: absolute;
  right: -5px;
  top: -2px;
  width: 24px;
  height: 24px;
  font-size: .95rem;
}

body.sidebar-collapsed .nav {
  width: 100%;
}

body.sidebar-collapsed .nav-item {
  justify-content: center;
  padding: 13px 0;
  border-radius: 16px;
}

body.sidebar-collapsed .nav-icon {
  width: auto;
  min-width: 0;
  font-size: 1.15rem;
}

body.sidebar-collapsed .sidebar-footer {
  width: 100%;
}

body.sidebar-collapsed .autosave-box {
  display: none;
}

:root[data-theme="dark"] .sidebar-collapse-button {
  background: var(--surface-input) !important;
  color: var(--text-soft) !important;
  border-color: var(--border-soft) !important;
}

@media(max-width:980px){
  .sidebar-collapse-button{display:none}
  body.sidebar-collapsed .app-shell{display:block}
}


/* Life OS v6.34 Rounded line sidebar icons */
.nav-icon svg {
  width: 21px;
  height: 21px;
  display: block;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.nav-item.active .nav-icon svg {
  stroke: currentColor;
}

body.sidebar-collapsed .nav-icon svg {
  width: 23px;
  height: 23px;
  stroke-width: 1.85;
}

.nav-icon {
  color: currentColor;
}


/* Life OS v6.35 My Day desktop split and completed routines */
.myday-main-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 20px;
  align-items: start;
}

.myday-main-grid > .panel {
  min-width: 0;
  height: fit-content;
}

.myday-task-columns {
  grid-template-columns: 1fr;
}

.completed-routines-details {
  margin-top: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  padding: 10px 12px;
}

.completed-routines-details summary {
  cursor: pointer;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
}

.completed-routines-details summary::-webkit-details-marker {
  display: none;
}

.completed-routines-details summary::before {
  content: "›";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid var(--border);
  margin-right: auto;
  transform: rotate(0deg);
  transition: transform .15s ease;
}

.completed-routines-details[open] summary::before {
  transform: rotate(90deg);
}

.completed-routines-list {
  margin-top: 12px;
  gap: 8px;
}

.completed-routine-row {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
  padding: 10px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

:root[data-theme="dark"] .completed-routines-details,
:root[data-theme="dark"] .completed-routine-row {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

@media (max-width: 980px) {
  .myday-main-grid {
    grid-template-columns: 1fr;
  }
}


/* Life OS v6.36 Reopen completed routines */
.completed-routine-reopen {
  white-space: nowrap;
}

.completed-routine-row {
  align-items: center;
}

@media (max-width: 560px) {
  .completed-routine-row {
    align-items: stretch;
    flex-direction: column;
  }

  .completed-routine-reopen {
    width: 100%;
  }
}


/* Life OS v6.37 My Day right column and routine reopen fix */
.myday-right-column {
  display: grid;
  gap: 20px;
  min-width: 0;
}

.myday-log-panel {
  min-width: 0;
}

@media (max-width: 980px) {
  .myday-right-column {
    gap: 20px;
  }
}


/* Life OS v6.38 Quick Capture Inbox */
.inbox-grid {
  align-items: start;
}

.inbox-card {
  align-content: start;
}

.inbox-card.muted-card {
  opacity: .72;
}

.inbox-text {
  white-space: pre-wrap;
  margin: 0;
}

.inbox-mini-row {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 8px 10px;
  background: var(--panel);
  font-weight: 800;
  font-size: .9rem;
}

.myday-inbox-summary {
  min-width: 0;
}

:root[data-theme="dark"] .inbox-mini-row {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

@media(max-width:560px){
  .bottom-nav{
    grid-template-columns:repeat(4,1fr);
  }
}


/* Life OS v6.39 Inbox button fix */
.quick-capture-top-button {
  min-width: 40px;
  width: 40px;
  padding-inline: 0 !important;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-grid;
  place-items: center;
}


/* Life OS v6.40 Inbox follow-up + autosave contrast */
.autosave-status {
  color: #6f7f78 !important;
}

:root[data-theme="dark"] .autosave-status {
  color: #d7dee8 !important;
}


/* Life OS v6.43 Routine pause */
.routine-card-actions {
  flex-wrap: wrap;
}

.warning-chip {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}

:root[data-theme="dark"] .warning-chip {
  background: #332813 !important;
  color: #ffd28a !important;
  border-color: #5b451f !important;
}


/* Life OS v6.44 Routine pause fix */
.routine-card-actions [data-routine-pause-action] {
  position: relative;
  z-index: 2;
}


/* Life OS v6.45 Sport two-level muscle filters */
.sport-muscle-picker-wide {
  display: grid;
  gap: 14px;
}

.sport-muscle-picker-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel);
}

.sport-muscle-picker-group > strong {
  width: 100%;
  color: var(--muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

:root[data-theme="dark"] .sport-muscle-picker-group {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}


/* Life OS v6.46 Sport exercise muscle form split */
.sport-exercise-muscle-fields {
  display: grid;
  gap: 12px;
}

.sport-muscle-form-split {
  display: grid;
  gap: 14px;
}

.sport-muscle-form-section {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px;
  background: var(--panel);
  display: grid;
  gap: 10px;
}

.sport-muscle-form-head {
  display: grid;
  gap: 3px;
}

.sport-muscle-form-head strong {
  font-size: .95rem;
}

.sport-muscle-form-head span {
  color: var(--muted);
  font-size: .8rem;
  font-weight: 800;
}

.sport-muscle-picker-general,
.sport-muscle-picker-specific {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sport-muscle-chip-general span {
  font-weight: 950;
}

:root[data-theme="dark"] .sport-muscle-form-section {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}


/* Life OS v6.47 Appearance settings: mobile icons-only navigation */
.bottom-nav-item {
  display: grid;
  place-items: center;
  gap: 3px;
}

.bottom-nav-icon {
  display: none;
  line-height: 1;
}

.bottom-nav-icon svg {
  width: 20px;
  height: 20px;
  display: block;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.settings-toggle-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}

.settings-toggle-row input {
  margin-top: 4px;
}

.settings-toggle-row span {
  display: grid;
  gap: 4px;
}

.settings-toggle-row small {
  color: var(--muted);
  font-weight: 700;
}

@media(max-width:980px){
  .bottom-nav-icon {
    display: inline-grid;
    place-items: center;
  }

  .bottom-nav-label {
    display: inline;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav {
    grid-template-columns: repeat(9,1fr);
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-item {
    padding: 8px 4px;
    min-height: 48px;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-label {
    display: none !important;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-icon svg {
    width: 22px;
    height: 22px;
  }
}


/* Life OS v6.48 Mobile icons-only nav fit */
@media(max-width:980px){
  html[data-mobile-nav-icons-only="true"] .bottom-nav {
    display: grid;
    grid-template-columns: repeat(9,minmax(0,1fr)) !important;
    gap: clamp(2px, 0.8vw, 6px) !important;
    padding-inline: clamp(4px, 1vw, 8px) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-item {
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 0 !important;
    min-height: 46px !important;
    overflow: hidden !important;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-icon {
    min-width: 0 !important;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-icon svg {
    width: clamp(17px, 5vw, 22px) !important;
    height: clamp(17px, 5vw, 22px) !important;
  }
}

@media(max-width:380px){
  html[data-mobile-nav-icons-only="true"] .bottom-nav {
    gap: 2px !important;
    padding-inline: 3px !important;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-item {
    min-height: 42px !important;
    padding-block: 7px !important;
  }

  html[data-mobile-nav-icons-only="true"] .bottom-nav-icon svg {
    width: 17px !important;
    height: 17px !important;
  }
}


/* Life OS v6.50 Finder */
.finder-top-button {
  min-width: 54px;
  padding-inline: 12px !important;
  font-weight: 950;
}

.finder-modal .modal {
  max-width: 860px;
}

.finder {
  display: grid;
  gap: 12px;
}

.finder-search-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
}

.finder-input {
  width: 100%;
  font-size: 1rem;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--text);
}

.finder-results {
  display: grid;
  gap: 8px;
  max-height: min(62vh, 620px);
  overflow: auto;
  padding-right: 4px;
}

.command-result {
  width: 100%;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
  color: var(--text);
  padding: 11px 12px;
  cursor: pointer;
}

.command-result:hover,
.command-result.active {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
}

.command-result-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--surface-card-alt, rgba(247,246,243,.9));
  font-weight: 950;
}

.command-result-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.command-result-main strong,
.command-result-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.command-result-main small {
  color: var(--muted);
  font-weight: 800;
}

:root[data-theme="dark"] .finder-input,
:root[data-theme="dark"] .command-result {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
  color: var(--text-strong) !important;
}

:root[data-theme="dark"] .command-result-icon {
  background: var(--surface-input) !important;
  color: var(--text-strong) !important;
}

@media(max-width:760px){
  .finder-top-button {
    min-width: 42px;
    width: 42px;
    padding-inline: 0 !important;
    font-size: .82rem;
  }

  .finder-search-row {
    grid-template-columns: 1fr;
  }

  .finder-results {
    max-height: 58vh;
  }
}


/* Life OS v6.51 Mobile topbar fit */
@media(max-width:760px){
  .topbar {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: start;
  }

  .topbar > div:first-child {
    min-width: 0;
    overflow: hidden;
  }

  .topbar h1,
  #viewTitle {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
    font-size: clamp(1.25rem, 7vw, 2rem);
    line-height: 1.05;
  }

  .topbar .eyebrow,
  #viewEyebrow {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
  }

  .topbar-actions .secondary-button,
  .topbar-actions .primary-button {
    flex: 0 0 auto;
  }

  .topbar-actions #topSettingsButton {
    padding-inline: 10px !important;
    font-size: .86rem;
  }

  .topbar-actions .finder-top-button,
  .topbar-actions .quick-capture-top-button {
    min-width: 38px !important;
    width: 38px !important;
    height: 38px;
    padding-inline: 0 !important;
  }
}

@media(max-width:420px){
  .topbar {
    gap: 8px;
  }

  .topbar-actions {
    gap: 4px;
  }

  .topbar-actions #topSettingsButton {
    padding-inline: 8px !important;
    max-width: 76px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .topbar-actions .finder-top-button,
  .topbar-actions .quick-capture-top-button {
    min-width: 34px !important;
    width: 34px !important;
    height: 34px;
    font-size: .78rem;
  }
}


/* Life OS v6.78 Project board modal and task type conversion */
.modal-backdrop.project-board-large-modal .modal {
  width: min(1680px, calc(100vw - 24px)) !important;
  max-width: min(1680px, calc(100vw - 24px)) !important;
  height: min(94vh, 1080px) !important;
  max-height: min(94vh, 1080px) !important;
}

.modal-backdrop.project-board-large-modal .modal-body {
  max-height: calc(94vh - 110px) !important;
}

.project-board-modal.is-large-project-board {
  min-height: calc(94vh - 150px);
}

.project-board-modal.is-large-project-board .project-board {
  min-height: min(700px, calc(94vh - 280px));
}

.context-note {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
  background: var(--surface-card-alt, var(--panel));
  color: var(--muted);
  font-size: .9rem;
}

.context-note strong {
  color: var(--text);
}

:root[data-theme="dark"] .context-note {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}


/* Life OS v6.80 Project/Birdseye return and subtask delete */
.subtask-row {
  position: relative;
}

.subtask-delete-button {
  width: 26px;
  height: 26px;
  border: 1px solid color-mix(in srgb, #ef4444 55%, transparent);
  background: color-mix(in srgb, #ef4444 10%, transparent);
  color: #ef4444;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  margin-left: auto;
}

.subtask-delete-button:hover {
  background: #ef4444;
  color: white;
}

:root[data-theme="dark"] .subtask-delete-button {
  background: color-mix(in srgb, #ef4444 16%, transparent) !important;
  border-color: color-mix(in srgb, #ef4444 65%, transparent) !important;
}


/* Life OS v6.82 Project task create and subtask row alignment */
.task-subtasks-card .subtask-list {
  display: grid;
  gap: 8px;
}

.task-subtasks-card .subtask-row.planned-subtask-row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 58px;
}

.task-subtasks-card .subtask-row.planned-subtask-row > label {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.task-subtasks-card .subtask-row.planned-subtask-row > label span {
  min-width: 0 !important;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.subtask-row-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-left: auto !important;
}

.subtask-row-actions .button-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

.subtask-row-actions .chip {
  margin: 0 !important;
}

.subtask-row-actions .subtask-delete-button {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
}

@media(max-width:720px){
  .task-subtasks-card .subtask-row.planned-subtask-row {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  .subtask-row-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}


/* Life OS v6.84 Workout summary metrics */
.sport-workout-metric-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.workout-detail-summary-card {
  position: sticky;
  top: 0;
  z-index: 2;
}

.workout-detail-summary-card .sport-workout-metric-chips .chip {
  font-size: .86rem;
  padding: 8px 11px;
  border-radius: 999px;
  font-weight: 800;
}

.sport-card .card-title-row .muted.small {
  line-height: 1.35;
}


/* Life OS v6.85 In-app notifications */
.in-app-notification-host {
  position: fixed;
  top: calc(18px + env(safe-area-inset-top));
  right: calc(18px + env(safe-area-inset-right));
  z-index: 12000;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 28px));
  pointer-events: none;
}

.in-app-notification {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface-card, #fff);
  box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
  padding: 14px 42px 14px 14px;
  pointer-events: auto;
  animation: inAppNotificationEnter .22s ease-out;
}

.in-app-notification-body {
  display: grid;
  gap: 7px;
}

.in-app-notification-body strong {
  font-size: .92rem;
}

.in-app-notification-body p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.35;
}

.in-app-notification-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface-card-alt, transparent);
  color: var(--muted);
  display: grid;
  place-items: center;
  cursor: pointer;
  font-weight: 900;
}

.in-app-notification-close:hover {
  color: var(--text);
  border-color: var(--primary);
}

.in-app-notification-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: var(--primary);
  transform-origin: left center;
  animation: inAppNotificationProgress var(--notification-duration, 7000ms) linear forwards;
}

@keyframes inAppNotificationEnter {
  from { opacity: 0; transform: translateY(-8px) translateX(10px) scale(.98); }
  to { opacity: 1; transform: translateY(0) translateX(0) scale(1); }
}

@keyframes inAppNotificationProgress {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

@media(max-width:720px){
  .in-app-notification-host {
    top: calc(12px + env(safe-area-inset-top));
    right: calc(10px + env(safe-area-inset-right));
    left: calc(10px + env(safe-area-inset-left));
    width: auto;
  }
}


/* Life OS v6.86 Notification visibility hardening */
.in-app-notification-host {
  isolation: isolate;
}

.in-app-notification {
  min-width: 0;
}

.in-app-notification-close {
  font-family: inherit;
}

.in-app-notification-body .secondary-button.small {
  justify-self: start;
}

.in-app-notification-progress {
  will-change: transform;
}


/* Life OS v6.87 Notification opaque background and type label */
:root {
  --notification-bg: #ffffff;
}

:root[data-theme="dark"] {
  --notification-bg: #111827;
}

.in-app-notification {
  background: var(--notification-bg) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.in-app-notification-body p strong {
  color: var(--text);
  font-weight: 900;
}


/* Life OS v6.88 MyDay done button state */
.myday-done-state-button {
  appearance: none;
  border: 1px solid transparent;
  background: transparent !important;
  color: #16a34a !important;
  box-shadow: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 850;
  border-radius: 999px;
  padding: 7px 10px;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.myday-done-state-button:hover {
  color: #2563eb !important;
  background: color-mix(in srgb, #2563eb 7%, transparent) !important;
  border-color: color-mix(in srgb, #2563eb 20%, transparent);
}

.myday-done-icon-stack {
  position: relative;
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 16px;
}

.myday-done-icon-stack svg {
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  transition: opacity .2s ease, transform .2s ease, color .2s ease;
}

.myday-done-check-icon {
  opacity: 1;
  transform: translateX(0) scale(1);
  color: #16a34a;
}

.myday-done-back-icon {
  opacity: 0;
  transform: translateX(5px) scale(.92);
  color: #2563eb;
}

.myday-done-state-button:hover .myday-done-check-icon {
  opacity: 0;
  transform: translateX(-5px) scale(.92);
}

.myday-done-state-button:hover .myday-done-back-icon {
  opacity: 1;
  transform: translateX(0) scale(1);
}

:root[data-theme="dark"] .myday-done-state-button {
  color: #4ade80 !important;
}

:root[data-theme="dark"] .myday-done-check-icon {
  color: #4ade80;
}


/* Life OS v6.89 Bird's Eye Overall Board */
.birdseye-overall-board-panel .overall-board {
  min-height: 72vh;
}

.overall-board-task {
  background: var(--overall-project-bg, var(--surface-card)) !important;
  border-color: color-mix(in srgb, var(--overall-project-color, #2563eb) 26%, var(--border)) !important;
}

.overall-board-task:hover {
  background: color-mix(in srgb, var(--overall-project-color, #2563eb) 18%, var(--surface-card)) !important;
}

.overall-board-project-marker {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  margin-top: 6px;
  padding: 4px 8px 4px 9px;
  border-left: 4px solid var(--overall-project-color, #2563eb);
  border-radius: 9px;
  background: color-mix(in srgb, var(--overall-project-color, #2563eb) 10%, var(--surface-card));
  font-size: .76rem;
  font-weight: 850;
  color: var(--text);
}

.overall-board-column .project-board-dropzone {
  min-height: 58vh;
}


/* Life OS v6.90 Overall Board mobile containment and controls */
.birdseye-overall-board-panel {
  overflow: hidden;
}

.overall-board-toolbar {
  margin: 10px 0 14px;
  align-items: end;
}

.birdseye-overall-board-panel .overall-board {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 1fr);
  gap: 12px;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.birdseye-overall-board-panel .overall-board-column {
  min-width: 220px;
}

@media(max-width:720px){
  .birdseye-overall-board-panel {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
  }

  .birdseye-overall-board-panel .overall-board {
    grid-auto-columns: minmax(196px, 78vw);
    max-width: calc(100vw - 28px);
    margin-inline: auto;
  }

  .overall-board-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .birdseye-overall-board-panel > .panel-header {
    align-items: stretch;
  }

  .birdseye-overall-board-panel > .panel-header .primary-button {
    width: 100%;
  }
}


/* Life OS v6.91 Overall Board controls cleanup */
.overall-board-toolbar {
  max-width: 320px;
}

@media(max-width:720px){
  .overall-board-toolbar {
    max-width: none;
  }
}


/* Life OS v6.92 Task comment editing */
.task-comments-list {
  gap: 10px;
}

.task-comment-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.task-comment-header .ghost-button.small {
  padding: 5px 8px;
  font-size: .75rem;
  opacity: .82;
}

.task-comment:hover .task-comment-header .ghost-button.small {
  opacity: 1;
}


/* Life OS v6.93 Task comment delete in edit popup */
.task-comment-edit-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.task-comment-edit-actions .spacer {
  flex: 1 1 auto;
}

@media(max-width:720px){
  .task-comment-edit-actions {
    flex-wrap: wrap;
  }

  .task-comment-edit-actions .danger-button {
    width: 100%;
  }

  .task-comment-edit-actions .spacer {
    display: none;
  }
}


/* Life OS v6.94 Links and references */
.element-links-card .card-title-row {
  align-items: center;
}

.element-link-list,
.element-link-choice-list {
  display: grid;
  gap: 9px;
}

.element-link-row,
.element-link-choice {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto 30px;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--border);
  background: var(--surface-card-alt, transparent);
  border-radius: 14px;
  padding: 9px 10px;
  cursor: pointer;
}

.element-link-choice {
  grid-template-columns: 34px minmax(0, 1fr) auto;
}

.element-link-row:hover,
.element-link-choice:hover {
  border-color: var(--primary);
}

.element-link-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, transparent);
}

.element-link-icon svg {
  width: 18px;
  height: 18px;
}

.element-link-main {
  min-width: 0;
}

.element-link-main strong {
  display: block;
  overflow-wrap: anywhere;
}

.link-remove-button {
  width: 28px;
  height: 28px;
  border: 1px solid color-mix(in srgb, #ef4444 55%, transparent);
  background: color-mix(in srgb, #ef4444 10%, transparent);
  color: #ef4444;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}

.link-remove-button:hover {
  background: #ef4444;
  color: white;
}

@media(max-width:720px){
  .element-link-row {
    grid-template-columns: 32px minmax(0, 1fr) 28px;
  }

  .element-link-row > .chip {
    display: none;
  }
}


/* Life OS v6.95 Mobile web link overflow fix */
.element-link-row {
  max-width: 100%;
  min-width: 0;
}

.element-link-main,
.element-link-main strong,
.element-link-main .muted,
.element-link-main .small {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.element-link-row .muted.small {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media(max-width:720px){
  .element-links-card,
  .element-link-list {
    min-width: 0;
    max-width: 100%;
  }

  .element-link-row {
    grid-template-columns: 32px minmax(0, 1fr) 28px;
    width: 100%;
    box-sizing: border-box;
  }

  .element-link-row .element-link-main {
    width: 100%;
  }
}


/* Life OS v6.96 Project groups */
.project-groups-list {
  display: grid;
  gap: 18px;
}

.project-group-section {
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 14px;
  background: color-mix(in srgb, var(--surface-card) 82%, transparent);
}

.project-group-section.dragging {
  opacity: .58;
}

.project-group-section.drag-over {
  outline: 2px dashed var(--primary);
  outline-offset: 4px;
}

.project-group-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.project-group-header h3 {
  margin: 0;
}

.project-group-drag {
  width: 32px;
  height: 32px;
  border: 1px solid var(--border);
  background: var(--surface-card);
  border-radius: 10px;
  cursor: grab;
  color: var(--muted);
  font-weight: 900;
}

.project-group-drag:active {
  cursor: grabbing;
}

.project-group-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--primary) 10%, transparent);
  color: var(--primary);
  flex: 0 0 auto;
}

.project-group-icon svg {
  width: 22px;
  height: 22px;
}

.project-group-projects {
  min-height: 90px;
  border-radius: 16px;
}

.project-group-projects.drag-over {
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
  background: color-mix(in srgb, var(--primary) 6%, transparent);
}

.project-card-clickable.dragging {
  opacity: .55;
}

.project-group-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 9px;
}

.project-group-icon-option {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  display: grid;
  gap: 6px;
  place-items: center;
  cursor: pointer;
  background: var(--surface-card);
}

.project-group-icon-option input {
  display: none;
}

.project-group-icon-option svg {
  width: 24px;
  height: 24px;
}

.project-group-icon-option.active,
.project-group-icon-option:has(input:checked) {
  border-color: var(--primary);
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 8%, transparent);
}

@media(max-width:720px){
  .project-group-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .project-group-header .ghost-button {
    margin-left: auto;
  }
}


/* Life OS v6.97 Project group drag icon, icon dropdown and layout settings */
.project-group-drag svg {
  width: 18px;
  height: 18px;
}

.project-group-icon-preview {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--primary) 10%, transparent);
  color: var(--primary);
  border: 1px solid var(--border);
}

.project-group-icon-preview svg {
  width: 28px;
  height: 28px;
}

.project-group-projects {
  gap: 14px;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}

.project-group-projects > .project-card-clickable {
  min-width: 0;
}

@media(max-width:900px){
  .project-group-projects {
    grid-template-columns: 1fr !important;
    grid-auto-columns: minmax(240px, 86vw) !important;
  }
}


/* Life OS v6.98 Project group header actions */
.project-group-header {
  position: relative;
  align-items: flex-start;
  padding-right: 140px;
}

.project-group-title {
  min-width: 0;
}

.project-group-top-actions {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.project-group-top-actions .ghost-button.small {
  white-space: nowrap;
}

.project-group-top-actions .project-group-drag {
  flex: 0 0 auto;
}

@media(max-width:720px){
  .project-group-header {
    padding-right: 0;
  }

  .project-group-top-actions {
    position: static;
    width: 100%;
    justify-content: flex-end;
    margin-left: auto;
  }
}


/* Life OS v6.99 Mobile project group layout override */
@media(max-width:720px){
  .project-group-projects {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

  .project-group-projects > .project-card-clickable {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Life OS v7.00 Remove workout assignment from weekly sport planning */
.sport-session-card-compact {
  position: relative;
  padding-right: 38px;
}

.sport-session-unassign-button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border: 1px solid color-mix(in srgb, #ef4444 55%, transparent);
  background: color-mix(in srgb, #ef4444 10%, transparent);
  color: #ef4444;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

.sport-session-unassign-button:hover {
  background: #ef4444;
  color: #ffffff;
}


/* Life OS v7.01 Plain red remove x for sport planning */
.sport-session-unassign-button {
  border: none !important;
  background: transparent !important;
  color: #ef4444 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: 1.15rem;
  font-weight: 950;
  line-height: 1;
  padding: 0;
}

.sport-session-unassign-button:hover {
  background: transparent !important;
  color: #dc2626 !important;
  transform: scale(1.08);
}


/* Life OS v7.02 JSON data importer */
.json-import-preview {
  border: 1px dashed var(--border);
  border-radius: 16px;
  padding: 12px;
  min-height: 48px;
  background: color-mix(in srgb, var(--surface-card) 80%, transparent);
}

.json-import-preview.error {
  border-color: #ef4444;
  color: #ef4444;
}

.import-preview-card {
  display: grid;
  gap: 10px;
}

.simple-table {
  width: 100%;
  border-collapse: collapse;
}

.simple-table td {
  border-bottom: 1px solid var(--border);
  padding: 7px 0;
}

.simple-table td:last-child {
  text-align: right;
  font-weight: 800;
}

.import-format-example {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--surface-card);
  font-size: .86rem;
}


/* Life OS v7.03 Custom Fields */
.custom-fields-definition-card {
  border-style: dashed;
}

.custom-field-definition-list,
.custom-field-value-list {
  display: grid;
  gap: 10px;
}

.custom-field-definition-row {
  background: color-mix(in srgb, var(--surface-card) 86%, transparent);
}

.custom-field-value-row {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(0, 1.2fr);
  gap: 12px;
  align-items: start;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: var(--surface-card);
}

.custom-field-display {
  min-width: 0;
  overflow-wrap: anywhere;
}

.task-custom-field-edit {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: color-mix(in srgb, var(--surface-card) 88%, transparent);
}

@media(max-width:720px){
  .custom-field-value-row {
    grid-template-columns: 1fr;
  }
}


/* Life OS v7.04 Custom field select options visibility */
.custom-field-options-label.hidden {
  display: none;
}


/* Life OS v7.05 Check-Select-Text custom field */
.custom-field-placeholder-label.hidden {
  display: none;
}

.check-select-text-field {
  display: grid;
  gap: 10px;
}

.check-select-text-extra {
  display: none;
  grid-template-columns: minmax(160px, .75fr) minmax(220px, 1.25fr);
  gap: 10px;
  align-items: stretch;
}

.check-select-text-field.is-active .check-select-text-extra {
  display: grid;
}

.check-select-text-extra select,
.check-select-text-extra textarea {
  min-height: 74px;
}

.custom-checkselecttext-display {
  display: grid;
  gap: 4px;
}

.custom-checkselecttext-display p {
  margin: 0;
  white-space: pre-wrap;
}

@media(max-width:720px){
  .check-select-text-extra {
    grid-template-columns: 1fr;
  }
}


/* Life OS v7.06 Archived project tasks */
.project-column-archived,
.project-column-chip.project-column-archived {
  background: color-mix(in srgb, #64748b 16%, transparent);
  color: #475569;
  border-color: color-mix(in srgb, #64748b 35%, transparent);
}

.project-archived-panel {
  display: grid;
  gap: 16px;
}

.project-archived-filter-toolbar {
  align-items: end;
}

.project-archived-task {
  opacity: .92;
  border-style: dashed;
}

.task-edit-actions {
  align-items: center;
}


/* Life OS v7.07 Backup restore */
.restore-backup-card {
  border-color: color-mix(in srgb, #ef4444 28%, var(--border));
}

.restore-backup-card h3 {
  color: #b91c1c;
}


/* Life OS v7.08 Bulk Actions */
.bulk-selected {
  outline: 2px solid color-mix(in srgb, var(--accent) 52%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 13%, transparent);
  background: color-mix(in srgb, var(--accent) 7%, var(--surface-card));
}

.project-board-topline {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 38px;
  margin-bottom: 10px;
}

.bulk-actions-bar {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.bulk-actions-modal {
  display: grid;
  gap: 14px;
}

@media(max-width:720px){
  .project-board-topline {
    justify-content: stretch;
  }

  .bulk-actions-bar {
    width: 100%;
    justify-content: stretch;
  }

  .bulk-actions-bar button {
    flex: 1;
  }
}


/* Life OS v7.09 Bulk selection click fix */
.project-board-task.bulk-selected {
  outline: 2px solid color-mix(in srgb, var(--accent) 62%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);
}


/* Life OS v7.10 robust shift selection */
.project-board-task.bulk-selected {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
}


/* Life OS v7.11 shift click open suppression */
.project-board-task[data-bulk-suppress-click="1"] {
  cursor: default;
}


/* Life OS v7.12 delegated click suppression */
.project-board-task.bulk-selected {
  user-select: none;
}


/* Life OS v7.13 Ideas project status */
.project-col-ideas,
.project-column-ideas,
.project-column-chip.project-column-ideas {
  background: color-mix(in srgb, #f59e0b 9%, var(--surface-card));
  border-color: color-mix(in srgb, #f59e0b 28%, var(--border));
}

.project-column-ideas,
.project-column-chip.project-column-ideas {
  color: #92400e;
}

.project-col-ideas h3 span {
  background: color-mix(in srgb, #f59e0b 16%, transparent);
  color: #92400e;
}


/* Life OS v7.14 Custom Field card badges */
.custom-field-card-display-config {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  display: grid;
  gap: 10px;
  background: color-mix(in srgb, var(--surface-card) 88%, transparent);
}

.custom-field-card-display-options.hidden {
  display: none;
}

.project-board-task,
.overall-board-task,
.task-card-clickable,
.task {
  position: relative;
}

.custom-field-card-badges {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  max-width: 70%;
  pointer-events: none;
}

.custom-field-card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  max-width: 160px;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--custom-field-card-badge-bg, #88E788);
  color: #16301d;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1;
  box-shadow: 0 3px 10px rgba(15, 23, 42, .12);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-board-task:has(.custom-field-card-badges),
.overall-board-task:has(.custom-field-card-badges),
.task:has(.custom-field-card-badges) {
  padding-bottom: 38px;
}


/* Life OS v7.15 Admin Funktionen / Global Repair */
.admin-functions-card {
  border-color: color-mix(in srgb, var(--accent) 22%, var(--border));
}

.admin-function-box {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
  background: color-mix(in srgb, var(--surface-card) 88%, transparent);
}

.admin-repair-status {
  margin-top: 12px;
  border: 1px dashed var(--border);
  border-radius: 14px;
  padding: 12px;
  min-height: 48px;
}

.admin-repair-status.error {
  border-color: #ef4444;
  color: #b91c1c;
}

.admin-repair-running {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-weight: 750;
}

.admin-repair-spinner {
  width: 18px;
  height: 18px;
  border: 3px solid color-mix(in srgb, var(--accent) 20%, transparent);
  border-top-color: var(--accent);
  border-radius: 999px;
  animation: life-os-spin .8s linear infinite;
}

.admin-repair-completed {
  display: grid;
  gap: 8px;
}

@keyframes life-os-spin {
  to { transform: rotate(360deg); }
}

@media(max-width:720px){
  .admin-function-box {
    align-items: stretch;
    flex-direction: column;
  }
}


/* Life OS v7.16 Project board intra-column ordering */
.project-board-task.drag-insert-before {
  border-top: 3px solid var(--accent);
}

.project-board-task.drag-insert-after {
  border-bottom: 3px solid var(--accent);
}

.project-board-task.dragging {
  opacity: .54;
}


/* Life OS v7.17 Performance */
.admin-perf-hint {
  margin-top: 10px;
}


/* Life OS v7.18 Global Repair archived option */
.admin-repair-archive-option {
  margin-top: 12px;
}


/* Life OS v7.19 Project board filters and done archive action */
.project-board-column h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.project-board-column-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.archive-done-column-button {
  background: transparent;
  color: #166534;
  border: 1px solid #166534;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.archive-done-column-button:hover {
  background: color-mix(in srgb, #166534 8%, transparent);
}

.project-board-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 10px;
  margin-bottom: 12px;
  background: color-mix(in srgb, var(--surface-card) 88%, transparent);
}

.project-board-filter-title {
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  padding: 0 4px 9px 0;
}

.project-board-filter-control {
  display: grid;
  gap: 4px;
  min-width: 180px;
  margin: 0;
}

.project-board-filter-control span {
  font-size: .74rem;
  font-weight: 800;
  color: var(--muted);
}

.project-board-filter-control select {
  min-height: 34px;
}

.project-filter-settings-list {
  display: grid;
  gap: 10px;
}

.project-filter-setting-row {
  margin: 0;
}

@media(max-width:720px){
  .project-board-filter-control {
    min-width: 100%;
  }
}


/* Life OS v7.20 Project board UI cleanup */
.project-board-filter-bar {
  background: transparent;
}

.project-board-topline {
  min-height: 0;
  margin: 0;
  padding: 0;
}

.project-board-topline:has([data-project-board-bulk-host]:empty) {
  display: none;
}


/* Life OS v7.22 Split storage migration */
.admin-split-storage-box {
  margin-top: 16px;
}


/* Life OS v7.23 Lazy project archive loading */
.project-archived-panel .panel-title-stack .muted strong {
  color: var(--text);
}


/* Life OS v7.24 Project popup modal sizing */
.modal-card.project-board-modal {
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
}

.modal-card.project-board-modal .modal-body {
  max-height: none;
  overflow: visible;
}

.modal-card.project-board-modal .project-board-modal-body {
  max-height: none;
  overflow: visible;
}

@media (min-width: 900px) {
  .modal-card.project-board-modal {
    width: calc(100vw - 32px);
  }
}

@media (max-width: 720px) {
  .modal-card.project-board-modal {
    width: 100%;
    max-width: none;
    max-height: none;
  }
}


/* Life OS v7.25 Project board modal hard override
   The large project modal is controlled by the backdrop selector, not only by .project-board-modal. */
.modal-backdrop.project-board-large-modal .modal-card,
.modal-backdrop.project-board-large-modal .modal-card.project-board-modal {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
}

.modal-backdrop.project-board-large-modal .modal-body,
.modal-backdrop.project-board-large-modal .project-board-modal-body {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

.modal-backdrop.project-board-large-modal {
  align-items: flex-start;
}

@media (min-width: 900px) {
  .modal-backdrop.project-board-large-modal .modal-card,
  .modal-backdrop.project-board-large-modal .modal-card.project-board-modal {
    width: 100% !important;
    max-width: none !important;
  }
}


/* Life OS v7.26 Project board modal direct sizing fallback */
#modalBackdrop.project-board-large-modal .modal,
#modalBackdrop.project-board-large-modal .modal-card,
.modal-backdrop.project-board-large-modal .modal,
.modal-backdrop.project-board-large-modal .modal-card {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
}

#modalBackdrop.project-board-large-modal .modal-body,
.modal-backdrop.project-board-large-modal .modal-body,
#modalBackdrop.project-board-large-modal .project-board-modal-body,
.modal-backdrop.project-board-large-modal .project-board-modal-body {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

#modalBackdrop.project-board-large-modal,
.modal-backdrop.project-board-large-modal {
  align-items: flex-start !important;
}


/* Life OS v7.27 Project board modal scroll containment */
body.project-board-modal-open {
  overflow: hidden !important;
}

#modalBackdrop.project-board-large-modal,
.modal-backdrop.project-board-large-modal {
  overflow: hidden !important;
  align-items: flex-start !important;
}

#modalBackdrop.project-board-large-modal .modal,
#modalBackdrop.project-board-large-modal .modal-card,
.modal-backdrop.project-board-large-modal .modal,
.modal-backdrop.project-board-large-modal .modal-card {
  width: 100% !important;
  max-width: none !important;
  height: calc(100vh - 24px) !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.project-board-large-modal .modal-body,
.modal-backdrop.project-board-large-modal .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}

#modalBackdrop.project-board-large-modal .project-board-modal,
.modal-backdrop.project-board-large-modal .project-board-modal {
  min-height: auto !important;
}

#modalBackdrop.project-board-large-modal .project-board,
.modal-backdrop.project-board-large-modal .project-board {
  min-height: 0 !important;
}


/* Life OS v7.28 Overall Board navigation */
.project-overview-top-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}


/* Life OS v7.29 Board overlap and week assignment filters */
.project-overview-top-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.project-board,
.birdseye-overall-board-panel .overall-board {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 12px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  grid-template-columns: none !important;
  grid-auto-flow: initial !important;
  grid-auto-columns: initial !important;
  overscroll-behavior-x: contain !important;
}

.project-board-column,
.birdseye-overall-board-panel .overall-board-column {
  flex: 0 0 280px !important;
  min-width: 280px !important;
  max-width: 320px;
}

.project-board-task,
.overall-board-task {
  width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.project-board-dropzone {
  width: 100%;
}

@media(max-width:720px){
  .project-board,
  .birdseye-overall-board-panel .overall-board {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow-x: visible !important;
  }

  .project-board-column,
  .birdseye-overall-board-panel .overall-board-column {
    flex-basis: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

.week-assignment-filter-toolbar {
  margin: 10px 0 14px;
  align-items: end;
}

.week-assignment-filter-toolbar label {
  min-width: min(420px, 100%);
}

.week-assignment-filter-toolbar select[multiple] {
  min-height: 118px;
}


/* Life OS v7.30 Task duplicate button */
.task-duplicate-button {
  min-width: 32px;
  width: 32px;
  height: 32px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  font-size: 1rem;
  line-height: 1;
  flex: 0 0 auto;
}

.task-card-icon-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.task-actions-inline {
  align-self: flex-start;
}

.weekplan-duplicate-button {
  margin-left: auto;
}


/* Life OS v7.32 Project multi-select dropdown filters */
.project-multiselect {
  position: relative;
  min-width: 220px;
}

.project-multiselect-label {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--muted);
}

.project-multiselect-trigger {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  font: inherit;
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}

.project-multiselect.open .project-multiselect-trigger {
  border-color: var(--accent);
}

.project-multiselect-chevron {
  opacity: .7;
  transition: transform .16s ease;
}

.project-multiselect.open .project-multiselect-chevron {
  transform: rotate(180deg);
}

.project-multiselect-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 8px);
  left: 0;
  min-width: min(340px, 86vw);
  width: max(100%, 300px);
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow-strong);
  padding: 10px;
}

.project-multiselect-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 4px 8px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 8px;
}

.project-multiselect-options {
  display: grid;
  gap: 6px;
}

.project-multiselect-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.project-multiselect-option:hover {
  background: var(--surface-soft);
}

.project-multiselect-option.selected {
  background: color-mix(in srgb, var(--accent) 13%, transparent);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
}

.project-multiselect-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.project-multiselect-switch {
  width: 38px;
  height: 22px;
  border-radius: 999px;
  background: var(--border);
  position: relative;
  flex: 0 0 auto;
  transition: background .16s ease;
}

.project-multiselect-switch::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  transition: transform .16s ease;
}

.project-multiselect-option input:checked + .project-multiselect-switch {
  background: var(--accent);
}

.project-multiselect-option input:checked + .project-multiselect-switch::after {
  transform: translateX(16px);
}

.project-multiselect-name {
  font-weight: 650;
}

.project-multiselect-empty {
  padding: 8px 10px;
}


/* Life OS v7.33 Project multiselect visual fixes */
.project-multiselect-menu {
  background: var(--surface, #ffffff) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  isolation: isolate;
}

[data-theme="dark"] .project-multiselect-menu,
html[data-theme="dark"] .project-multiselect-menu,
body[data-theme="dark"] .project-multiselect-menu {
  background: var(--surface, #171923) !important;
}

.project-multiselect-chevron {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: currentColor;
  opacity: .75;
}

.project-multiselect-chevron svg {
  display: block;
  width: 18px;
  height: 18px;
}


/* Life OS v7.34 Project multiselect interaction fixes */
.project-multiselect-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.project-multiselect-close-button {
  width: 32px;
  height: 32px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.project-multiselect-close-button:hover {
  background: var(--surface-soft);
  border-color: var(--accent);
  transform: translateY(-1px);
}

.project-multiselect-close-button svg {
  display: block;
}


/* Life OS v7.35 Daily/MyDay subtask card behavior */
.daily-subtask-card.task-card-clickable {
  cursor: pointer;
}

.daily-subtask-card .daily-subtask-check {
  cursor: pointer;
}

.daily-subtask-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}




/* Life OS v7.39 Configurable card display only */
.settings-card-density-preview {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.density-preview {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
  display: grid;
  gap: 2px;
  background: var(--panel);
}

.density-preview span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 750;
}

.card-visibility-settings {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.card-visibility-mode-panel {
  background: var(--surface-card-alt, var(--panel));
}

.card-visibility-switch-grid {
  display: grid;
  gap: 8px;
}

.card-large-extra {
  margin-top: 10px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
  display: grid;
  gap: 6px;
}

.card-large-extra > span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.card-large-extra p,
.card-large-extra ul {
  margin: 0;
  color: var(--text);
  font-size: .9rem;
  line-height: 1.45;
}

.card-large-extra ul {
  padding-left: 18px;
}

.card-density-slider {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.density-icon-button {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
}

.density-icon-button:hover {
  color: var(--text);
  background: var(--surface-soft);
}

.density-icon-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.density-slider-input {
  width: 92px;
  accent-color: var(--primary);
}

/* Visibility rules are scoped to card content only. Global UI, menus and buttons are untouched. */
html[data-card-show-meta="false"] .task .muted.small,
html[data-card-show-meta="false"] .backlog-task .muted.small,
html[data-card-show-meta="false"] .daily-subtask-card .muted.small,
html[data-card-show-meta="false"] .week-assignment-card .muted.small,
html[data-card-show-meta="false"] .project-board-task .muted.small,
html[data-card-show-meta="false"] .overall-board-task .muted.small,
html[data-card-show-meta="false"] .routine-today-row .muted.small,
html[data-card-show-meta="false"] .routine-draggable .muted.small {
  display: none !important;
}

html[data-card-show-tags="false"] .task .tag-chip,
html[data-card-show-tags="false"] .backlog-task .tag-chip,
html[data-card-show-tags="false"] .daily-subtask-card .tag-chip,
html[data-card-show-tags="false"] .week-assignment-card .tag-chip,
html[data-card-show-tags="false"] .project-board-task .tag-chip,
html[data-card-show-tags="false"] .overall-board-task .tag-chip,
html[data-card-show-tags="false"] .routine-today-row .tag-chip,
html[data-card-show-tags="false"] .routine-draggable .tag-chip,
html[data-card-show-tags="false"] .task .project-marker,
html[data-card-show-tags="false"] .backlog-task .project-marker,
html[data-card-show-tags="false"] .daily-subtask-card .project-marker,
html[data-card-show-tags="false"] .week-assignment-card .project-marker,
html[data-card-show-tags="false"] .project-board-task .project-marker,
html[data-card-show-tags="false"] .overall-board-task .project-marker {
  display: none !important;
}

html[data-card-show-status="false"] .task .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .backlog-task .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .daily-subtask-card .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .week-assignment-card .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .project-board-task .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .overall-board-task .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .routine-today-row .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .routine-draggable .chip-row .chip:not(.tag-chip),
html[data-card-show-status="false"] .routine-draggable .card-title-row .chip,
html[data-card-show-status="false"] .routine-today-row .card-title-row .chip {
  display: none !important;
}

html[data-card-show-description="false"] .task .card-description,
html[data-card-show-description="false"] .backlog-task .card-description,
html[data-card-show-description="false"] .daily-subtask-card .card-description,
html[data-card-show-description="false"] .week-assignment-card .card-description,
html[data-card-show-description="false"] .project-board-task .card-description,
html[data-card-show-description="false"] .overall-board-task .card-description,
html[data-card-show-description="false"] .routine-today-row .routine-day-description,
html[data-card-show-description="false"] .routine-draggable .card-description,
html[data-card-show-description="false"] .inbox-card .inbox-text {
  display: none !important;
}

html[data-card-show-progress="false"] .task .subtask-progress,
html[data-card-show-progress="false"] .backlog-task .subtask-progress,
html[data-card-show-progress="false"] .daily-subtask-card .subtask-progress,
html[data-card-show-progress="false"] .week-assignment-card .subtask-progress,
html[data-card-show-progress="false"] .project-board-task .subtask-progress,
html[data-card-show-progress="false"] .overall-board-task .subtask-progress,
html[data-card-show-progress="false"] .routine-draggable .routine-weekdays,
html[data-card-show-progress="false"] .routine-today-row .routine-weekdays,
html[data-card-show-progress="false"] .progress-mini,
html[data-card-show-progress="false"] .progressbar {
  display: none !important;
}

html[data-card-show-customFields="false"] .custom-field-card-badges {
  display: none !important;
}

html[data-card-show-extra="false"] .card-large-extra {
  display: none !important;
}

@media(max-width:720px){
  .card-density-slider {
    max-width: 150px;
    padding-inline: 6px;
  }
  .density-slider-input {
    width: 70px;
  }
}


/* Life OS v7.40 UI repair after configurable card display
   Important: card display settings must never affect navigation, topbar, menus, settings switch cards or action buttons. */

/* Topbar and global action buttons stay fixed */
.topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

.topbar-actions > button,
.topbar-actions > .primary-button,
.topbar-actions > .secondary-button,
.topbar-actions > .ghost-button,
#finderButton,
#quickCaptureButton,
#topSettingsButton {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  border-radius: 14px !important;
  font-size: .88rem !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

#quickCaptureButton.quick-capture-top-button {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 14px !important;
}

#quickCaptureButton .topbar-plus-icon,
.topbar-plus-icon {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  stroke: currentColor !important;
  stroke-width: 2.3 !important;
  fill: none !important;
}

#finderButton.finder-top-button {
  width: auto !important;
  min-width: 52px !important;
  padding-inline: 12px !important;
}

.card-density-slider {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

.card-density-slider,
.card-density-slider * {
  font-size: initial;
  line-height: normal;
}

.density-icon-button,
.card-density-slider .density-icon-button {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  padding: 0 !important;
  border-radius: 999px !important;
}

.density-slider-input {
  width: 92px !important;
  max-width: 92px !important;
}

/* Sidebar navigation and quick-menu buttons */
.nav {
  display: grid !important;
  gap: 6px !important;
}

.nav-item-wrap {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.nav-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 48px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.nav-icon {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: inline-grid !important;
  place-items: center !important;
}

.nav-icon svg,
.nav-quick-button svg,
.bottom-nav-icon svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.nav-label {
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.nav-quick-button {
  display: none !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--muted) !important;
  place-items: center !important;
  cursor: pointer !important;
}

html[data-nav-quick-menu="true"] .nav-quick-button {
  display: inline-grid !important;
}

.nav-quick-button:hover {
  background: rgba(49,95,82,.08) !important;
  color: var(--text) !important;
}

.nav-quick-menu {
  position: absolute !important;
  z-index: 50 !important;
  right: 0 !important;
  top: calc(100% + 4px) !important;
  min-width: 220px !important;
  padding: 8px !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  background: var(--surface, #fff) !important;
  box-shadow: var(--shadow) !important;
  display: grid !important;
  gap: 4px !important;
}

.nav-quick-menu[hidden] {
  display: none !important;
}

/* Right subnavigation restored */
.mobile-subnav {
  position: fixed !important;
  display: grid !important;
  gap: 6px !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

.mobile-subnav[hidden] {
  display: none !important;
}

.mobile-subnav-item {
  border: 1px solid var(--border) !important;
  background: var(--surface, #fff) !important;
  color: var(--muted) !important;
  border-radius: 999px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: var(--shadow-soft) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.mobile-subnav.with-labels .mobile-subnav-item,
.mobile-subnav.is-desktop .mobile-subnav-item {
  border-radius: 14px !important;
  min-width: 132px !important;
  justify-content: flex-start !important;
  padding-inline: 10px !important;
}

.mobile-subnav.icons-only .mobile-subnav-label {
  display: none !important;
}

.mobile-subnav-icon {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: .85rem !important;
  line-height: 1 !important;
}

.mobile-subnav-label {
  white-space: nowrap !important;
  font-size: .78rem !important;
  line-height: 1 !important;
}

.mobile-subnav-item.active {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Settings switch cards restored */
.settings-switch-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  background: var(--surface, #fff) !important;
  cursor: pointer !important;
  min-width: 0 !important;
}

.settings-switch-card > input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
}

.settings-switch-visual {
  grid-column: 1 !important;
  width: 42px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: var(--border) !important;
  position: relative !important;
  transition: background .16s ease !important;
  display: block !important;
}

.settings-switch-visual::after {
  content: "" !important;
  position: absolute !important;
  width: 20px !important;
  height: 20px !important;
  top: 2px !important;
  left: 2px !important;
  border-radius: 999px !important;
  background: var(--surface, #fff) !important;
  box-shadow: 0 1px 5px rgba(0,0,0,.25) !important;
  transition: transform .16s ease !important;
}

.settings-switch-card > input[type="checkbox"]:checked + .settings-switch-visual {
  background: var(--primary) !important;
}

.settings-switch-card > input[type="checkbox"]:checked + .settings-switch-visual::after {
  transform: translateX(18px) !important;
}

.settings-switch-copy {
  grid-column: 2 !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

.settings-switch-copy strong,
.settings-switch-copy small {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  line-height: 1.35 !important;
}

.settings-switch-copy small {
  color: var(--muted) !important;
  font-size: .82rem !important;
}

.card-visibility-switch-grid {
  display: grid !important;
  gap: 8px !important;
}

.card-visibility-mode-panel {
  overflow: hidden !important;
}

.card-visibility-mode-panel .settings-switch-card {
  grid-template-columns: 46px minmax(0, 1fr) !important;
}

/* No raw checkbox should leak in card visibility/settings UI */
.card-visibility-settings input[type="checkbox"],
.settings-panel input[type="checkbox"] {
  accent-color: var(--primary) !important;
}

/* Card display settings may hide card content only; explicitly keep action buttons/global buttons visible */
html[data-card-density] .topbar-actions button,
html[data-card-density] .sidebar button,
html[data-card-density] .mobile-subnav button,
html[data-card-density] .modal-header button,
html[data-card-density] .settings-panel button,
html[data-card-density] .routine-actions button,
html[data-card-density] .task-actions button,
html[data-card-density] .backlog-task-actions button,
html[data-card-density] .daily-subtask-actions button {
  display: inline-flex !important;
  visibility: visible !important;
}

html[data-card-density] #quickCaptureButton,
html[data-card-density] .density-icon-button,
html[data-card-density] #finderButton {
  display: inline-grid !important;
}

/* Dark theme support for restored components */
:root[data-theme="dark"] .settings-switch-card,
:root[data-theme="dark"] .mobile-subnav-item,
:root[data-theme="dark"] .nav-quick-menu,
:root[data-theme="dark"] .card-density-slider {
  background: var(--surface-card-alt, var(--surface)) !important;
  border-color: var(--border-soft, var(--border)) !important;
}


/* v7.41: left navigation quick menus repaired */
.nav-item-wrap{
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"item quick" "menu menu" !important;
  align-items:center !important;
}
.nav-item-wrap > .nav-item{grid-area:item !important;}
.nav-item-wrap > .nav-quick-button{grid-area:quick !important; align-self:center !important; justify-self:end !important;}
.nav-item-wrap > .nav-quick-menu{
  grid-area:menu !important;
  position:static !important;
  right:auto !important;
  top:auto !important;
  width:100% !important;
  min-width:0 !important;
  margin-top:4px !important;
  padding:8px !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  background:var(--surface) !important;
  box-shadow:var(--shadow-soft) !important;
  display:none !important;
  gap:6px !important;
  overflow:hidden !important;
}
.nav-item-wrap.nav-quick-open > .nav-quick-menu,
.nav-quick-menu.open{
  display:grid !important;
}
.nav-quick-menu[hidden]{display:none !important;}
.nav-quick-menu-item{
  width:100% !important;
  border:1px solid var(--border) !important;
  background:var(--surface-2, rgba(255,255,255,.6)) !important;
  color:var(--text) !important;
  border-radius:10px !important;
  padding:10px 12px !important;
  display:grid !important;
  gap:2px !important;
  text-align:left !important;
  min-width:0 !important;
}
.nav-quick-menu-item:hover{background:var(--surface-3, rgba(49,95,82,.07)) !important;border-color:var(--primary-soft-border,var(--border)) !important;}
.nav-quick-menu-item span,
.nav-quick-menu-item small{
  display:block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.nav-quick-menu-item span{font-weight:700 !important;}
.nav-quick-menu-item small{color:var(--muted) !important;font-size:.78rem !important;}
.nav-quick-empty{
  color:var(--muted) !important;
  font-size:.85rem !important;
  padding:10px 6px !important;
}
.nav-quick-button.active{
  background:rgba(49,95,82,.08) !important;
  color:var(--text) !important;
}
.nav-quick-chevron{transition:transform .18s ease !important;}
.nav-item-wrap.nav-quick-open .nav-quick-chevron{transform:rotate(180deg) !important;}

:root[data-theme="dark"] .nav-item-wrap > .nav-quick-menu{
  background:var(--surface-card-alt, var(--surface)) !important;
  border-color:var(--border-soft, var(--border)) !important;
}
:root[data-theme="dark"] .nav-quick-menu-item{
  background:rgba(255,255,255,.03) !important;
  border-color:var(--border-soft, var(--border)) !important;
}
:root[data-theme="dark"] .nav-quick-menu-item:hover{
  background:rgba(255,255,255,.06) !important;
}


/* Life OS v7.42 MyDay rhythm sections */
.myday-rhythm-slot {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface, #fff);
  padding: 10px;
  display: grid;
  gap: 10px;
  transition: background .16s ease, border-color .16s ease;
}

.myday-rhythm-slot.is-current {
  background: #dfdcd8 !important;
}

.myday-rhythm-slot-header {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 10px;
  text-align: left;
  padding: 6px;
  border-radius: 14px;
  cursor: pointer;
}

.myday-rhythm-slot-header:hover {
  background: rgba(49,95,82,.07);
}

.myday-rhythm-slot-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.myday-rhythm-slot-title h3 {
  margin: 0;
}

.myday-rhythm-slot-count {
  color: var(--muted);
  font-weight: 900;
  min-width: 24px;
  text-align: right;
}

.myday-rhythm-chevron {
  width: 22px;
  height: 22px;
  display: block;
  color: var(--muted);
}

.myday-rhythm-slot.is-collapsed {
  gap: 0;
}

.myday-time-range-settings {
  display: grid;
  gap: 10px;
}

.myday-time-range-row {
  display: grid;
  grid-template-columns: minmax(120px,1fr) minmax(120px,160px) minmax(120px,160px);
  gap: 10px;
  align-items: end;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: var(--surface, #fff);
}

.myday-time-range-row strong {
  align-self: center;
}

:root[data-theme="dark"] .myday-rhythm-slot.is-current {
  background: #3b3936 !important;
}

@media(max-width:720px){
  .myday-time-range-row {
    grid-template-columns: 1fr;
  }
}


/* Life OS v7.43 MyDay rhythm collapse fix */
.myday-rhythm-list.is-hidden,
.myday-rhythm-list[hidden] {
  display: none !important;
}

.myday-rhythm-slot-header {
  user-select: none;
}

.myday-rhythm-slot-header .myday-rhythm-chevron {
  transition: transform .16s ease;
}


/* Life OS v7.44 skipped routine marker */
.myday-skipped-state-button {
  border: 0 !important;
  background: transparent !important;
  color: #dc2626 !important;
  box-shadow: none !important;
  padding-inline: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.myday-skipped-state-button:hover {
  background: transparent !important;
  color: #b91c1c !important;
}

.myday-status-icon-stack {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
}

.myday-skipped-icon-stack svg {
  width: 19px;
  height: 19px;
  display: block;
}

.myday-done-state-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-inline: 0 !important;
}


/* Life OS v7.45 softer skipped routine status */
.myday-skipped-state-button {
  color: #d9776f !important;
}

.myday-skipped-state-button:hover {
  color: #c85f58 !important;
}


/* Life OS v7.46 linked sport routine status */
.myday-linked-routine-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.myday-linked-routine-status {
  display: inline-flex;
  width: fit-content;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
}

.myday-linked-routine-status.done {
  color: #2f7d5c;
  border-color: rgba(47,125,92,.25);
  background: rgba(47,125,92,.08);
}

.myday-linked-routine-status.skipped {
  color: #d9776f;
  border-color: rgba(217,119,111,.26);
  background: rgba(217,119,111,.08);
}


/* Life OS v7.47 Global Create popup repair */
.global-create-menu,
.global-create-drawer {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, 1.1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

.global-quick-capture {
  border: 1px solid var(--border) !important;
  border-radius: 20px !important;
  background: var(--surface, #fff) !important;
  padding: 16px !important;
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  box-shadow: var(--shadow-soft) !important;
}

.global-quick-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.global-quick-head h3 {
  margin: 0 !important;
}

.global-create-secondary {
  display: grid !important;
  gap: 14px !important;
  min-width: 0 !important;
}

.global-create-group {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.global-create-group h3 {
  margin: 0 !important;
  font-size: .95rem !important;
}

.global-create-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.global-create-item {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  background: var(--surface, #fff) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-soft) !important;
  padding: 12px !important;
  min-height: 86px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

.global-create-item:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(49,95,82,.28) !important;
  background: rgba(49,95,82,.04) !important;
}

.global-create-item > span:last-child {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}

.global-create-item strong,
.global-create-item small {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  line-height: 1.25 !important;
}

.global-create-item strong {
  font-size: .95rem !important;
  font-weight: 900 !important;
}

.global-create-item small {
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
}

.global-create-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 14px !important;
  background: var(--primary-soft, rgba(49,95,82,.1)) !important;
  color: var(--primary, #315f52) !important;
  display: inline-grid !important;
  place-items: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
}

.global-create-icon.large {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  border-radius: 16px !important;
}

.global-create-icon svg,
.global-create-icon.large svg,
.global-create-item svg,
.global-quick-head svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  overflow: visible !important;
}

.global-create-icon.large svg {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
}

.global-quick-capture textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

.global-quick-capture .form-actions {
  justify-content: flex-end !important;
}

.global-quick-capture select,
.global-quick-capture textarea,
.global-quick-capture input {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

:root[data-theme="dark"] .global-quick-capture,
:root[data-theme="dark"] .global-create-item {
  background: var(--surface-card-alt, var(--surface)) !important;
  border-color: var(--border-soft, var(--border)) !important;
}

@media(max-width:900px){
  .global-create-menu,
  .global-create-drawer {
    grid-template-columns: 1fr !important;
  }
  .global-create-list {
    grid-template-columns: 1fr !important;
  }
}


/* Life OS v7.48 MyDay unified task/subtask list */
.myday-mixed-sort-list {
  align-items: stretch;
}

.myday-mixed-card {
  position: relative;
}

.myday-subtask-card {
  padding-right: 56px !important;
}

.myday-subtask-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(37, 99, 235, .1);
  color: #2563eb;
  border: 1px solid rgba(37, 99, 235, .22);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .02em;
}

.daily-subtask-parent-name {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 2px;
}

html[data-card-show-parentTask="false"] .daily-subtask-parent-name,
html[data-card-show-parenttask="false"] .daily-subtask-parent-name {
  display: none !important;
}

.myday-mixed-card.drag-over {
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
}

.myday-mixed-card.dragging {
  opacity: .55;
}


/* Life OS v7.49 Bible Note Input */
.bible-note-input-card {
  gap: 10px;
}

.bible-note-input-textarea,
.bible-note-input-form-textarea {
  width: 100%;
  min-height: 160px;
  resize: vertical;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface, #fff);
  color: var(--text);
  padding: 12px;
  font: inherit;
  line-height: 1.55;
  box-sizing: border-box;
}

.bible-note-input-textarea[readonly] {
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  cursor: default;
}

.bible-note-input-textarea.is-editing {
  background: var(--surface, #fff);
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(49,95,82,.12);
}

.bible-input-edit-button,
.bible-input-save-button {
  display: inline-grid !important;
  place-items: center;
}

.bible-input-edit-button svg,
.bible-input-save-button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bible-input-save-button {
  color: var(--primary);
}

:root[data-theme="dark"] .bible-note-input-textarea,
:root[data-theme="dark"] .bible-note-input-form-textarea {
  background: var(--surface-card-alt, var(--surface));
  border-color: var(--border-soft, var(--border));
}


/* Life OS v7.50 Bible Note Input collapsible + fixed bottom-right actions */
.bible-note-input-card {
  gap: 10px !important;
}

.bible-note-input-header {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 0;
  cursor: pointer;
}

.bible-note-input-header h3 {
  margin: 0;
}

.bible-note-input-header p {
  margin-bottom: 0;
}

.bible-input-chevron {
  width: 24px;
  height: 24px;
  color: var(--muted);
  display: block;
}

.bible-note-input-body[hidden] {
  display: none !important;
}

.bible-note-input-field-wrap {
  position: relative;
}

.bible-note-input-textarea {
  padding-right: 62px !important;
  padding-bottom: 54px !important;
}

.bible-note-input-actions {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  z-index: 2;
}

.bible-input-floating-button {
  grid-area: 1 / 1;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 999px !important;
  background: var(--surface, #fff) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-soft) !important;
}

.bible-input-floating-button.hidden {
  display: none !important;
}

.bible-input-floating-button svg {
  width: 19px !important;
  height: 19px !important;
}

.bible-input-save-button {
  color: var(--primary) !important;
}

.bible-note-input-card.is-collapsed {
  gap: 0 !important;
}


/* Life OS v7.51 MyDay multiple quiet-time Bible Notes */
.myday-quiet-doc-grid {
  align-items: stretch;
}

.quiet-time-doc-card {
  display: grid;
  gap: 10px;
}

.quiet-time-input-preview {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}

.quiet-time-input-preview strong {
  color: var(--muted);
  font-size: .76rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-weight: 950;
}

.quiet-time-input-preview p {
  margin: 0;
  color: var(--text);
}

.quiet-time-card-actions {
  justify-content: flex-end;
  margin-top: 4px;
}

:root[data-theme="dark"] .quiet-time-input-preview {
  background: var(--surface-card-alt, var(--surface));
  border-color: var(--border-soft, var(--border));
}


/* Life OS v7.52 Doc Collections */
.docs-header-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.doc-collections-overview {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.section-mini-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.section-mini-header h3 {
  margin: 0;
}

.doc-collection-grid {
  align-items: stretch;
}

.doc-collection-card {
  display: grid;
  gap: 8px;
}

.doc-collection-chip {
  background: var(--surface-card-alt, rgba(247,246,243,.78));
}

.doc-collection-multiselect .project-multiselect-name {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}


/* Life OS v7.53 Doc Collection Detail */
.doc-collection-chip-button {
  border: 0;
  cursor: pointer;
}

.doc-collection-chip-button:hover {
  filter: brightness(.98);
  transform: translateY(-1px);
}

.doc-collection-large-modal .modal {
  max-width: 1040px;
}

.doc-collection-detail {
  gap: 14px;
}

.doc-collection-detail-list {
  display: grid;
  gap: 10px;
}

.doc-collection-detail-item {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
}

.doc-collection-detail-item.dragging {
  opacity: .55;
}

.doc-collection-detail-item.drag-over {
  outline: 2px dashed var(--primary);
  outline-offset: 3px;
}

.doc-collection-drag-handle {
  color: var(--muted);
  font-weight: 900;
  cursor: grab;
  text-align: center;
  line-height: 1;
}

.doc-collection-item-main {
  min-width: 0;
  cursor: pointer;
}

.doc-collection-item-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media(max-width:720px){
  .doc-collection-detail-item {
    grid-template-columns: 20px minmax(0,1fr);
  }
  .doc-collection-item-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
}


/* Life OS v7.54 Routine types */
.routine-kind-section[hidden] {
  display: none !important;
}

.routine-kind-chip.generic {
  background: var(--surface-card-alt, rgba(247,246,243,.78));
}

.routine-kind-chip.sport {
  background: rgba(37,99,235,.10);
  border-color: rgba(37,99,235,.22);
  color: #2563eb;
}

.routine-kind-chip.bible {
  background: rgba(49,95,82,.10);
  border-color: rgba(49,95,82,.24);
  color: var(--primary);
}

:root[data-theme="dark"] .routine-kind-chip.sport {
  color: #93c5fd;
}


/* Life OS v7.55 Bible routine plan link */
.bible-routine-preview {
  border: 1px solid rgba(49,95,82,.18);
  border-radius: 14px;
  background: rgba(49,95,82,.06);
  padding: 10px 12px;
  display: grid;
  gap: 8px;
  margin: 8px 0;
}

.bible-routine-preview strong {
  display: block;
  color: var(--text);
}

.bible-routine-preview p {
  margin: 0;
  font-weight: 850;
}

.bible-routine-preview.is-empty {
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  border-color: var(--border);
}

.bible-routine-preview.is-complete {
  background: rgba(47,125,92,.08);
  border-color: rgba(47,125,92,.22);
}

.routine-kind-section select[name="bibleCollectionId"] {
  width: 100%;
}

:root[data-theme="dark"] .bible-routine-preview {
  background: rgba(255,255,255,.04);
  border-color: var(--border-soft, var(--border));
}


/* Life OS v7.56 Bible routine progress + button fix */
.bible-routine-open-button {
  justify-self: start;
}

.bible-routine-preview.is-done {
  background: rgba(47,125,92,.09);
  border-color: rgba(47,125,92,.24);
}

.bible-routine-preview.is-skipped {
  background: rgba(217,119,111,.08);
  border-color: rgba(217,119,111,.22);
}

.bible-routine-status-note {
  display: block;
  margin-top: 2px;
}


/* Life OS v7.57 MyDay Bible Notes as daily collection */
.bible-note-source-chip {
  width: fit-content;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
}

.bible-note-source-chip.routine {
  background: rgba(49,95,82,.10);
  border-color: rgba(49,95,82,.22);
  color: var(--primary);
}

.quiet-time-doc-card > .bible-note-source-chip,
.quiet-time-doc-card > .chip {
  margin-right: 6px;
}

:root[data-theme="dark"] .bible-note-source-chip.routine {
  background: rgba(255,255,255,.05);
  border-color: var(--border-soft, var(--border));
}


/* Life OS v7.58 MyDay layout cleanup */
.myday-right-column .myday-quiet-panel {
  min-width: 0;
}

.myday-right-column .myday-quiet-doc-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}


/* Life OS v7.59 MyDay Stille Zeit in left column */
.myday-left-column {
  display: grid;
  gap: 20px;
  min-width: 0;
}

.myday-left-column > .panel {
  min-width: 0;
}

.myday-left-column .myday-quiet-doc-grid {
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  .myday-left-column {
    gap: 20px;
  }
}


/* Life OS v7.60 Task Flow Cleanup */
.task-flow-note {
  color: var(--muted);
  font-size: .85rem;
}


/* Life OS v7.61 MyDay Subtask Cleanup + carry-over history */
.myday-embedded-subtasks {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
}

.myday-embedded-subtasks-title {
  font-weight: 850;
}

.myday-embedded-subtask {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 10px;
  background: var(--panel);
  cursor: pointer;
}

.myday-embedded-subtask input {
  margin-top: 2px;
}

.myday-embedded-subtask strong {
  display: block;
  font-size: .92rem;
}

.myday-embedded-subtask small {
  color: var(--muted);
  font-weight: 800;
}

.myday-embedded-subtask.done strong {
  text-decoration: line-through;
  color: var(--muted);
}

.carry-over-chip {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}

:root[data-theme="dark"] .myday-embedded-subtasks,
:root[data-theme="dark"] .myday-embedded-subtask {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}

:root[data-theme="dark"] .carry-over-chip {
  background: #332813 !important;
  color: #ffd28a !important;
  border-color: #5b451f !important;
}


/* Life OS v7.62 Stable Task Identity */
.stable-task-chip {
  background: rgba(49,95,82,.08);
  border-color: rgba(49,95,82,.20);
  color: var(--primary);
}


/* Life OS v7.63 Task Flow Stabilisierung & QA */
.task-planned-chip {
  background: rgba(49,95,82,.08);
  border-color: rgba(49,95,82,.20);
  color: var(--primary);
}
.task-planned-chip.today {
  background: rgba(47,125,92,.12);
  border-color: rgba(47,125,92,.26);
}
.task-planned-chip.muted-chip {
  color: var(--muted);
}
.task-identity-diagnostics {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}
:root[data-theme="dark"] .task-planned-chip {
  background: rgba(255,255,255,.05);
  border-color: var(--border-soft, var(--border));
}


/* Life OS v7.64 Daily planning pool: In Progress | Next | Waiting */
.task-planning-pool-panel {
  margin-top: 18px;
}

.daily-planning-pool-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.daily-planning-pool-column {
  min-width: 0;
  align-content: start;
}

.daily-planning-pool-column .card-title-row h3 {
  margin: 0;
}

.daily-planning-pool-list {
  gap: 12px;
}

.daily-planning-pool-task {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.daily-planning-pool-task .backlog-task-actions {
  justify-content: flex-start;
}

.daily-planning-pool-column.in-progress {
  border-color: rgba(14, 116, 144, .20);
}

.daily-planning-pool-column.next {
  border-color: rgba(49, 95, 82, .18);
}

.daily-planning-pool-column.waiting {
  border-color: rgba(124, 58, 237, .18);
}

.daily-next-filter-toolbar {
  margin-bottom: 16px;
}

@media (max-width: 1180px) {
  .daily-planning-pool-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .daily-planning-pool-task .backlog-task-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
}


/* Life OS v7.65 Bible Notes Collection Import */
.bible-notes-import-form {
  gap: 16px;
}

.bible-notes-import-textarea {
  min-height: 300px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .88rem;
  line-height: 1.45;
}

.import-format-example {
  max-height: 220px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  white-space: pre-wrap;
  font-size: .82rem;
}

.bible-notes-import-preview {
  display: grid;
  gap: 10px;
}

.import-status {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
}

.import-status.success {
  border-color: rgba(47,125,92,.25);
  background: rgba(47,125,92,.08);
}

.import-status.error {
  border-color: rgba(185,28,28,.28);
  background: rgba(185,28,28,.08);
}

.import-status.warning {
  border-color: rgba(217,119,6,.28);
  background: rgba(217,119,6,.08);
}

.import-status ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.import-preview-list {
  display: grid;
  gap: 8px;
}

.import-preview-row {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 9px 10px;
  background: var(--panel);
  display: grid;
  gap: 3px;
}

:root[data-theme="dark"] .import-format-example,
:root[data-theme="dark"] .import-preview-row,
:root[data-theme="dark"] .import-status {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}


/* Life OS v7.66 MyDay Bible Note relevance fix */
.myday-quiet-panel .muted {
  overflow-wrap: anywhere;
}


/* Life OS v7.67 Bible Note Input maximize/minimize */
.bible-note-input-field-wrap {
  position: relative;
  min-width: 0;
}

.bible-note-input-top-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  z-index: 3;
}

.bible-input-maximize-button,
.bible-input-minimize-button {
  grid-area: 1 / 1;
  display: inline-grid !important;
  place-items: center;
}

.bible-input-maximize-button.hidden,
.bible-input-minimize-button.hidden {
  display: none !important;
}

.bible-input-maximize-button svg,
.bible-input-minimize-button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bible-note-input-textarea,
.bible-note-input-form-textarea {
  padding-right: 62px !important;
}

#modalBackdrop.bible-input-maximized .modal,
#modalBackdrop.bible-input-maximized .modal-card {
  height: calc(100vh - 28px);
  max-height: calc(100vh - 28px);
  display: flex;
  flex-direction: column;
}

#modalBackdrop.bible-input-maximized .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: hidden;
}

#modalBackdrop.bible-input-maximized .modal-body > .grid,
#modalBackdrop.bible-input-maximized #docForm {
  height: 100%;
  min-height: 0;
}

#modalBackdrop.bible-input-maximized .modal-body > .grid {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

#modalBackdrop.bible-input-maximized .modal-body > .grid > :not(.is-input-maximized) {
  display: none !important;
}

#modalBackdrop.bible-input-maximized .bible-note-input-card.is-input-maximized {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#modalBackdrop.bible-input-maximized .bible-note-input-card.is-input-maximized .bible-note-input-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#modalBackdrop.bible-input-maximized #docForm {
  display: flex;
  flex-direction: column;
}

#modalBackdrop.bible-input-maximized #docForm > :not([data-doc-bible-fields]) {
  display: none !important;
}

#modalBackdrop.bible-input-maximized #docForm [data-doc-bible-fields] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
  flex-direction: column;
}

#modalBackdrop.bible-input-maximized #docForm [data-doc-bible-fields] > :not(.is-input-maximized) {
  display: none !important;
}

#modalBackdrop.bible-input-maximized .bible-note-input-form-field.is-input-maximized {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#modalBackdrop.bible-input-maximized .bible-note-input-field-wrap.is-input-maximized {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#modalBackdrop.bible-input-maximized .bible-note-input-field-wrap.is-input-maximized textarea {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  resize: none;
  font-size: 1.02rem;
  line-height: 1.65;
}

#modalBackdrop.bible-input-maximized .bible-note-input-header {
  margin-bottom: 10px;
}

body.bible-input-maximized-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  #modalBackdrop.bible-input-maximized .modal,
  #modalBackdrop.bible-input-maximized .modal-card {
    width: calc(100vw - 16px);
    height: calc(100vh - 16px);
    max-height: calc(100vh - 16px);
  }
}


/* Life OS v7.68 Weekly planning pool and Bird's Eye calendar fix */
.week-planning-pool-panel {
  margin-top: 18px;
}

.week-planning-pool-grid {
  align-items: start;
}

.week-assignment-card.daily-planning-pool-task,
.week-assignment-card {
  min-width: 0;
}

.week-assignment-list {
  gap: 12px;
}

.birdseye-calendar-panel {
  overflow-x: hidden;
}

.birdseye-calendar-shell {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.birdseye-calendar-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
}

.birdseye-calendar-toolbar > div {
  flex: 1 1 auto;
  min-width: 180px;
  text-align: center;
}

.birdseye-calendar-toolbar h3 {
  margin: 0;
}

.birdseye-calendar-weekdays,
.birdseye-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(132px, 1fr));
  gap: 8px;
}

.birdseye-calendar-weekdays > div {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 0 4px;
}

.birdseye-calendar-day {
  min-width: 0;
  min-height: 132px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
  padding: 8px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}

.birdseye-calendar-day.outside {
  opacity: .56;
  background: var(--surface-card-alt, rgba(247,246,243,.60));
}

.birdseye-calendar-day.today {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(49,95,82,.12);
}

.birdseye-calendar-date {
  width: 100%;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--text);
  padding: 5px 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font: inherit;
  cursor: pointer;
}

.birdseye-calendar-date:hover {
  background: var(--primary-soft);
  color: var(--primary);
}

.birdseye-calendar-date span {
  color: var(--primary);
  font-size: .72rem;
  font-weight: 900;
}

.birdseye-calendar-events {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  overflow: hidden;
}

.calendar-event {
  width: 100%;
  min-width: 0;
  min-height: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  color: var(--text);
  padding: 6px 7px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  text-align: left;
  font: inherit;
  cursor: pointer;
  overflow: hidden;
}

.calendar-event:hover {
  border-color: var(--primary);
  background: var(--primary-soft);
}

.calendar-event-icon {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  color: var(--primary);
  overflow: hidden;
  flex: 0 0 auto;
}

.calendar-event-icon svg,
.calendar-event svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.calendar-event strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .78rem;
  line-height: 1.2;
}

.calendar-event small {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.15;
}

.calendar-event.done {
  opacity: .72;
}

.calendar-event.skipped {
  border-color: rgba(217,119,6,.25);
  background: rgba(217,119,6,.08);
}

.calendar-event-task .calendar-event-icon,
.calendar-event-subtask .calendar-event-icon {
  color: var(--primary);
}

.calendar-event-routine .calendar-event-icon {
  color: var(--accent, var(--primary));
}

.calendar-event-sport .calendar-event-icon {
  color: var(--info, var(--primary));
}

:root[data-theme="dark"] .birdseye-calendar-toolbar,
:root[data-theme="dark"] .birdseye-calendar-day,
:root[data-theme="dark"] .calendar-event {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}

@media (max-width: 1180px) {
  .birdseye-calendar-shell {
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .birdseye-calendar-weekdays,
  .birdseye-calendar-grid {
    min-width: 980px;
  }
}

@media (max-width: 760px) {
  .birdseye-calendar-toolbar {
    align-items: stretch;
  }

  .birdseye-calendar-toolbar .secondary-button {
    flex: 1 1 70px;
  }

  .birdseye-calendar-weekdays,
  .birdseye-calendar-grid {
    min-width: 840px;
  }

  .birdseye-calendar-day {
    min-height: 118px;
  }
}


/* Life OS v7.69 Planning pool hardening */
.week-assignment-card .task-planned-chip,
.daily-planning-pool-task .task-planned-chip {
  white-space: nowrap;
}


/* Life OS v7.70 MyDay sport routine skipped state */
.sport-session-actions-state {
  justify-content: flex-end;
}

.myday-sport-session-card .sport-session-actions-state .myday-skipped-state-button,
.myday-sport-session-card .sport-session-actions-state .myday-done-state-button {
  white-space: nowrap;
}

@media (max-width: 700px) {
  .sport-session-actions-state {
    justify-content: flex-start;
  }
}


/* Life OS v7.71 MyDay tomorrow routine glimpse */
.myday-top-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 18px;
  align-items: start;
  margin-bottom: 12px;
}

.myday-top-row .myday-date-under-title {
  margin: 0;
  align-self: center;
}

.myday-tomorrow-glimpse {
  border: 1px solid var(--border);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-soft);
  padding: 16px;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.myday-tomorrow-glimpse-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.myday-tomorrow-glimpse h3 {
  margin: 2px 0 0;
  font-size: 1rem;
}

.myday-tomorrow-routine-list {
  display: grid;
  gap: 8px;
}

.myday-tomorrow-routine-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 8px 10px;
  border: 1px solid var(--border-soft, var(--border));
  border-radius: 14px;
  background: rgba(247,246,243,.55);
}

.myday-tomorrow-routine-item strong,
.myday-tomorrow-routine-item span {
  display: block;
  min-width: 0;
}

.myday-tomorrow-routine-item strong {
  font-size: .92rem;
}

.myday-tomorrow-routine-item span:not(.myday-tomorrow-routine-dot) {
  color: var(--muted);
  font-size: .78rem;
  margin-top: 1px;
}

.myday-tomorrow-routine-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--primary);
  margin-top: 5px;
}

.myday-tomorrow-routine-dot.sport {
  background: var(--accent, var(--primary));
}

.myday-tomorrow-routine-dot.bible {
  background: #7c3aed;
}

.myday-tomorrow-routine-dot.generic {
  background: var(--primary);
}

.myday-tomorrow-more {
  justify-self: start;
}

@media (max-width: 1100px) {
  .myday-top-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .myday-tomorrow-glimpse-head {
    display: grid;
  }
  .myday-tomorrow-glimpse-head .secondary-button {
    justify-self: start;
  }
}


/* Life OS v7.72 MyDay one-line tomorrow glimpse */
.myday-top-row {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.myday-tomorrow-glimpse-inline {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 999px;
  box-shadow: none;
  background: rgba(255,255,255,.78);
  overflow: visible;
}

.myday-tomorrow-kicker {
  flex: 0 0 auto;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--primary);
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(49,95,82,.08);
}

.myday-tomorrow-summary-button {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  text-align: left;
  padding: 4px 0;
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.myday-tomorrow-summary-button strong {
  color: var(--primary);
}

.myday-tomorrow-summary-meta {
  color: var(--muted);
  margin-left: 8px;
  font-size: .86rem;
}

.myday-tomorrow-plan-button {
  flex: 0 0 auto;
}

.myday-tomorrow-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  right: 0;
  width: min(560px, calc(100vw - 36px));
  max-height: min(520px, 70vh);
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--panel);
  box-shadow: var(--shadow-strong, 0 20px 60px rgba(15,23,42,.18));
  padding: 14px;
}

.myday-tomorrow-popover-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.myday-tomorrow-popover-head span {
  display: block;
  color: var(--muted);
  font-size: .82rem;
  margin-top: 2px;
}

.myday-tomorrow-popover-list {
  display: grid;
  gap: 8px;
}

.myday-tomorrow-popover-list .eyebrow {
  margin: 8px 0 2px;
}

.myday-tomorrow-popover-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--border-soft, var(--border));
  border-radius: 14px;
  background: rgba(247,246,243,.55);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.myday-tomorrow-popover-item:hover {
  border-color: rgba(49,95,82,.32);
  background: rgba(49,95,82,.06);
}

.myday-tomorrow-popover-item strong,
.myday-tomorrow-popover-item small {
  display: block;
}

.myday-tomorrow-popover-item small {
  color: var(--muted);
  margin-top: 2px;
}

@media (max-width: 900px) {
  .myday-tomorrow-glimpse-inline {
    align-items: stretch;
    border-radius: 22px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
  }
}

@media (max-width: 620px) {
  .myday-tomorrow-glimpse-inline {
    grid-template-columns: 1fr;
  }
  .myday-tomorrow-summary-button {
    white-space: normal;
  }
  .myday-tomorrow-popover {
    left: 0;
    right: auto;
    width: min(100%, calc(100vw - 32px));
  }
}


/* Life OS v7.73 MyDay tomorrow glimpse refinement */
.myday-top-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center;
}

.myday-tomorrow-glimpse-inline {
  justify-self: end;
  width: auto;
  max-width: min(920px, 100%);
  cursor: pointer;
  user-select: none;
}

.myday-tomorrow-glimpse-inline:hover {
  border-color: rgba(49,95,82,.30);
  background: rgba(255,255,255,.90);
}

.myday-tomorrow-summary-button {
  flex: 0 1 auto;
  max-width: min(720px, 60vw);
  pointer-events: none;
}

.myday-tomorrow-summary-meta {
  white-space: nowrap;
}

.myday-tomorrow-chevron {
  flex: 0 0 auto;
  color: var(--muted);
  font-weight: 900;
  transition: transform .18s ease;
}

.myday-tomorrow-glimpse.open .myday-tomorrow-chevron {
  transform: rotate(180deg);
}

.myday-tomorrow-plan-button {
  display: none !important;
}

.myday-tomorrow-popover {
  cursor: auto;
}

.myday-tomorrow-popover-item {
  user-select: auto;
}

@media (max-width: 1100px) {
  .myday-top-row {
    grid-template-columns: 1fr !important;
  }
  .myday-tomorrow-glimpse-inline {
    justify-self: stretch;
  }
  .myday-tomorrow-summary-button {
    max-width: none;
  }
}

@media (max-width: 620px) {
  .myday-tomorrow-glimpse-inline {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    border-radius: 22px;
  }
}


/* Life OS v7.74 Morgen im Blick routines + tasks */
.myday-tomorrow-summary-button strong {
  color: var(--primary);
}

.myday-tomorrow-chevron {
  display: inline-grid;
  place-items: center;
}

.myday-tomorrow-chevron-icon {
  display: block;
  transition: transform .18s ease;
}

.myday-tomorrow-glimpse.open .myday-tomorrow-chevron-icon {
  transform: rotate(180deg);
}

.myday-tomorrow-task-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #0891b2;
  margin-top: 5px;
}

.myday-tomorrow-popover-item.task {
  border-color: rgba(8,145,178,.20);
}

.myday-tomorrow-popover-list .eyebrow {
  color: var(--primary);
}

.myday-tomorrow-popover-item small {
  line-height: 1.35;
}


/* Life OS v7.75 Split tomorrow glimpse into routines/tasks */
.myday-tomorrow-glimpse-inline {
  gap: 6px;
  padding: 6px;
}

.myday-tomorrow-summary-button,
.myday-tomorrow-summary-meta {
  display: none !important;
}

.myday-tomorrow-trigger {
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  padding: 7px 9px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: min(54vw, 720px);
  overflow: hidden;
  text-overflow: ellipsis;
}

.myday-tomorrow-trigger:hover,
.myday-tomorrow-trigger.open,
.myday-tomorrow-trigger:focus-visible {
  background: rgba(49,95,82,.10);
  outline: none;
}

.myday-tomorrow-trigger strong {
  color: var(--primary);
}

.myday-tomorrow-trigger .myday-tomorrow-chevron-icon {
  transition: transform .18s ease;
}

.myday-tomorrow-trigger.open .myday-tomorrow-chevron-icon {
  transform: rotate(180deg);
}

.myday-tomorrow-tasks-trigger:hover,
.myday-tomorrow-tasks-trigger.open,
.myday-tomorrow-tasks-trigger:focus-visible {
  background: rgba(8,145,178,.10);
}

.myday-tomorrow-popover[data-myday-tomorrow-popover="tasks"] {
  border-color: rgba(8,145,178,.22);
}

.myday-tomorrow-popover[data-myday-tomorrow-popover="routines"] {
  border-color: rgba(49,95,82,.24);
}

@media (max-width: 900px) {
  .myday-tomorrow-glimpse-inline {
    grid-template-columns: auto minmax(0,1fr);
  }
  .myday-tomorrow-trigger {
    max-width: 100%;
  }
}

@media (max-width: 620px) {
  .myday-tomorrow-glimpse-inline {
    grid-template-columns: 1fr;
  }
  .myday-tomorrow-trigger {
    justify-content: flex-start;
    white-space: normal;
    border-radius: 16px;
  }
}


/* Life OS v7.76 Morgen im Blick chevron + hover fix */
.myday-tomorrow-glimpse.open .myday-tomorrow-chevron-icon {
  transform: rotate(0deg) !important;
}

.myday-tomorrow-trigger.open .myday-tomorrow-chevron-icon {
  transform: rotate(180deg) !important;
}

.myday-tomorrow-glimpse.open .myday-tomorrow-trigger:not(.open) .myday-tomorrow-chevron-icon {
  transform: rotate(0deg) !important;
}

.myday-tomorrow-trigger:hover,
.myday-tomorrow-trigger.open,
.myday-tomorrow-trigger:focus-visible,
.myday-tomorrow-tasks-trigger:hover,
.myday-tomorrow-tasks-trigger.open,
.myday-tomorrow-tasks-trigger:focus-visible,
.myday-tomorrow-routines-trigger:hover,
.myday-tomorrow-routines-trigger.open,
.myday-tomorrow-routines-trigger:focus-visible {
  background: rgba(49,95,82,.10) !important;
  outline: none;
}


/* Life OS v7.77 Morgen im Blick placement settings */
.myday-tomorrow-glimpse-inline {
  display: none !important;
}

@media (min-width: 721px) {
  .myday-tomorrow-glimpse-inline.desktop-visible {
    display: flex !important;
  }
}

@media (max-width: 720px) {
  .myday-tomorrow-glimpse-inline.mobile-visible {
    display: grid !important;
  }
}

.myday-bottom-tomorrow-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

@media (max-width: 720px) {
  .myday-bottom-tomorrow-row {
    display: block;
  }
}


/* Life OS v7.78 MyDay history edit */
.myday-date-head {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.myday-date-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.myday-date-picker-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  width: auto;
  font-size: .82rem;
  color: var(--muted);
}

.myday-date-picker-label input[type="date"] {
  width: auto;
  min-width: 150px;
  padding: 7px 10px;
  border-radius: 999px;
}

.myday-date-relation-chip.past {
  border-color: rgba(217,119,6,.28);
  background: rgba(217,119,6,.08);
}

.myday-date-relation-chip.future {
  border-color: rgba(8,145,178,.26);
  background: rgba(8,145,178,.08);
}

@media (max-width: 720px) {
  .myday-date-nav {
    align-items: stretch;
  }
  .myday-date-picker-label {
    flex: 1 1 100%;
  }
  .myday-date-picker-label input[type="date"] {
    flex: 1 1 auto;
  }
}


/* Life OS v7.79 Mobile header no-wrap + Back-to-top button */
.topbar > div:first-child {
  min-width: 0 !important;
  max-width: 100% !important;
}

#viewTitle,
#viewEyebrow {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

@media (max-width: 720px) {
  .main {
    overflow-x: hidden !important;
  }

  .topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "spacer actions" "title title" !important;
    align-items: start !important;
    gap: 12px !important;
  }

  .topbar > div:first-child {
    grid-area: title !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .topbar-actions {
    grid-area: actions !important;
    justify-self: end !important;
    max-width: 100% !important;
  }

  #viewTitle {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    font-size: clamp(1.9rem, 8.5vw, 2.35rem) !important;
    letter-spacing: -.045em !important;
  }

  #viewEyebrow {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .topbar-actions {
    gap: 6px !important;
  }

  .density-slider-input {
    width: 66px !important;
    max-width: 66px !important;
  }

  .card-density-slider {
    padding-inline: 6px !important;
  }

  #topSettingsButton {
    padding-inline: 10px !important;
  }
}

.back-to-top-button {
  position: fixed;
  right: calc(18px + env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 85;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(49,95,82,.18);
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  box-shadow: 0 16px 38px rgba(49,95,82,.24);
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  display: none;
}

.back-to-top-button svg {
  width: 23px;
  height: 23px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.back-to-top-button:hover,
.back-to-top-button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(49,95,82,.30);
  outline: none;
}

@media (min-width: 721px) {
  .back-to-top-button.desktop-enabled:not([hidden]) {
    display: inline-flex;
  }
}

@media (max-width: 720px) {
  .back-to-top-button.mobile-enabled:not([hidden]) {
    display: inline-flex;
    right: calc(16px + env(safe-area-inset-right));
    bottom: calc(92px + env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
  }
}

:root[data-theme="dark"] .back-to-top-button {
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 16px 42px rgba(0,0,0,.34);
}


/* Life OS v7.80 Compact MyDay date nav + professional mobile Kanban */
.myday-date-nav-compact {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.myday-date-nav-compact::-webkit-scrollbar {
  display: none;
}

.myday-date-arrow {
  flex: 0 0 auto;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 12px !important;
}

.myday-date-picker-input {
  flex: 0 0 auto;
  width: 156px !important;
  min-width: 156px !important;
  max-width: 156px !important;
  height: 34px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  font-size: .88rem !important;
}

.myday-date-today-button,
.myday-date-relation-chip {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .myday-date-head {
    gap: 6px !important;
  }

  .myday-date-nav,
  .myday-date-nav-compact {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .myday-date-picker-label {
    display: none !important;
  }

  .myday-date-picker-input {
    width: 144px !important;
    min-width: 144px !important;
    max-width: 144px !important;
  }

  .myday-date-relation-chip {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.kanban-column-nav {
  display: none;
}

@media (max-width: 820px) {
  .kanban-column-nav {
    position: sticky;
    top: 0;
    z-index: 12;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 10px;
    margin: 0 0 10px;
    scrollbar-width: none;
    background: linear-gradient(180deg, var(--panel, rgba(255,255,255,.96)) 0%, rgba(255,255,255,.82) 74%, rgba(255,255,255,0) 100%);
  }

  .kanban-column-nav::-webkit-scrollbar {
    display: none;
  }

  .kanban-column-nav-button {
    flex: 0 0 auto;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-card, rgba(255,255,255,.92));
    color: var(--muted);
    padding: 8px 12px;
    font-weight: 850;
    font-size: .82rem;
    cursor: pointer;
    white-space: nowrap;
  }

  .kanban-column-nav-button.active,
  .kanban-column-nav-button:hover,
  .kanban-column-nav-button:focus-visible {
    border-color: rgba(49,95,82,.28);
    background: var(--primary-soft);
    color: var(--primary);
    outline: none;
  }

  .project-board,
  .modal-backdrop.large-modal .project-board,
  .birdseye-overall-board-panel .overall-board {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(286px, calc(100vw - 44px)) !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 12px !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 2px 12px !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }

  .project-board-column,
  .modal-backdrop.large-modal .project-board-column,
  .birdseye-overall-board-panel .overall-board-column {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: min(70vh, 720px) !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    align-self: stretch;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .project-board-column h3,
  .overall-board-column h3 {
    position: sticky;
    top: 48px;
    z-index: 4;
    background: inherit;
    border-radius: 12px;
    padding: 2px 0 8px;
  }

  .project-board-dropzone,
  .modal-backdrop.large-modal .project-board-dropzone,
  .birdseye-overall-board-panel .overall-board-column .project-board-dropzone {
    min-height: 52vh !important;
    align-content: start;
    overflow-y: auto;
    padding-bottom: 18px;
    overscroll-behavior-y: contain;
  }

  .modal-backdrop.large-modal .modal-body {
    overflow-x: hidden !important;
  }

  .project-board-modal.is-large-project-board {
    min-height: auto !important;
  }

  .birdseye-overall-board-panel {
    overflow: hidden !important;
  }
}

@media (max-width: 430px) {
  .project-board,
  .modal-backdrop.large-modal .project-board,
  .birdseye-overall-board-panel .overall-board {
    grid-auto-columns: minmax(278px, calc(100vw - 34px)) !important;
  }

  .kanban-column-nav-button {
    padding: 8px 10px;
  }
}

:root[data-theme="dark"] .kanban-column-nav {
  background: linear-gradient(180deg, rgba(20,24,30,.98) 0%, rgba(20,24,30,.86) 74%, rgba(20,24,30,0) 100%);
}

:root[data-theme="dark"] .kanban-column-nav-button {
  background: var(--surface-card);
  border-color: var(--border-soft);
  color: var(--text-muted);
}


/* Life OS v7.81 SVG date arrows + refined mobile Kanban */
.nav-arrow-icon {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

button:has(.nav-arrow-icon),
.ghost-button:has(.nav-arrow-icon),
.secondary-button:has(.nav-arrow-icon) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.birdseye-calendar-toolbar [data-action="birdseye-calendar-prev"],
.birdseye-calendar-toolbar [data-action="birdseye-calendar-next"] {
  min-width: 38px;
  width: 38px;
  padding-inline: 0 !important;
}

.myday-date-arrow .nav-arrow-icon {
  width: 17px;
  height: 17px;
}

@media (max-width: 820px) {
  .kanban-column-nav {
    width: fit-content !important;
    max-width: 100% !important;
    border: 1px solid rgba(229,223,213,.86) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.74) !important;
    box-shadow: 0 10px 28px rgba(31,41,51,.06) !important;
    backdrop-filter: blur(10px);
    padding: 4px !important;
    gap: 2px !important;
    margin: 2px 0 12px !important;
  }

  .kanban-column-nav-button {
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 7px 11px !important;
    color: var(--muted) !important;
    font-size: .8rem !important;
    line-height: 1 !important;
  }

  .kanban-column-nav-button.active,
  .kanban-column-nav-button:hover,
  .kanban-column-nav-button:focus-visible {
    background: var(--primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(49,95,82,.18) !important;
  }

  .project-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    height: min(70dvh, 720px) !important;
    min-height: 420px !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .modal-backdrop.large-modal .project-board.kanban-scroll-board {
    height: calc(100dvh - 250px) !important;
    min-height: 390px !important;
    max-height: 760px !important;
  }

  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    height: calc(100dvh - 310px) !important;
    min-height: 430px !important;
    max-height: 760px !important;
  }

  .project-board-column,
  .modal-backdrop.large-modal .project-board-column,
  .birdseye-overall-board-panel .overall-board-column {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  .project-board-column h3,
  .overall-board-column h3 {
    position: relative !important;
    top: auto !important;
    z-index: 2 !important;
    margin-bottom: 10px !important;
  }

  .project-board-dropzone,
  .modal-backdrop.large-modal .project-board-dropzone,
  .birdseye-overall-board-panel .overall-board-dropzone {
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-content: start !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    padding-right: 2px;
  }

  .project-board-task,
  .overall-board-task {
    touch-action: manipulation;
  }
}

@media (max-width: 430px) {
  .kanban-column-nav {
    max-width: calc(100vw - 28px) !important;
  }

  .kanban-column-nav-button {
    padding: 7px 10px !important;
  }

  .modal-backdrop.large-modal .project-board.kanban-scroll-board {
    height: calc(100dvh - 232px) !important;
  }
}

:root[data-theme="dark"] .kanban-column-nav {
  background: rgba(26,31,38,.78) !important;
  border-color: var(--border-soft) !important;
}

:root[data-theme="dark"] .kanban-column-nav-button.active,
:root[data-theme="dark"] .kanban-column-nav-button:hover,
:root[data-theme="dark"] .kanban-column-nav-button:focus-visible {
  background: var(--primary) !important;
  color: #fff !important;
}


/* Life OS v7.82 Project popup mobile header/menu */
.project-mobile-header-actions {
  display: none;
}

.project-overview-meta-card {
  margin-bottom: 14px;
}

.project-overview-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 720px) {
  .project-board-header-compact {
    display: grid;
    gap: 12px;
  }

  .project-title-inline {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .project-title-inline h2 {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .project-header-markers,
  .project-board-actions-desktop,
  .project-popup-tabs-desktop {
    display: none !important;
  }

  .project-mobile-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-self: end;
    position: relative;
  }

  .project-mobile-icon-button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border: 1px solid var(--border);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    background: rgba(255,255,255,.86);
    box-shadow: 0 10px 24px rgba(31,41,51,.08);
    cursor: pointer;
    padding: 0;
  }

  .project-mobile-add-button {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    box-shadow: 0 14px 28px rgba(49,95,82,.22);
  }

  .project-mobile-icon-button svg {
    width: 21px;
    height: 21px;
    display: block;
  }

  .project-mobile-menu {
    position: relative;
  }

  .project-mobile-menu summary {
    list-style: none;
  }

  .project-mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .project-mobile-menu-popover {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 70;
    min-width: 210px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--panel, rgba(255,255,255,.98));
    box-shadow: var(--shadow-strong, 0 20px 60px rgba(15,23,42,.18));
    display: grid;
    gap: 4px;
  }

  .project-mobile-menu-popover button {
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--text);
    padding: 10px 12px;
    text-align: left;
    font-weight: 850;
    cursor: pointer;
  }

  .project-mobile-menu-popover button:hover,
  .project-mobile-menu-popover button.active {
    background: var(--primary-soft);
    color: var(--primary);
  }

  .project-mobile-menu-divider {
    height: 1px;
    background: var(--border);
    margin: 4px 2px;
  }

  .project-overview-meta-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 721px) {
  .project-mobile-header-actions {
    display: none !important;
  }
}

:root[data-theme="dark"] .project-mobile-icon-button {
  background: var(--surface-card);
  border-color: var(--border-soft);
}

:root[data-theme="dark"] .project-mobile-add-button {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

:root[data-theme="dark"] .project-mobile-menu-popover {
  background: var(--surface-card);
  border-color: var(--border-soft);
}


/* Life OS v7.83 Mobile Kanban finger swipe without visible scrollbar */
@media (max-width: 820px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    touch-action: pan-x !important;
    cursor: grab;
  }

  .project-board.kanban-scroll-board:active,
  .overall-board.kanban-scroll-board:active {
    cursor: grabbing;
  }

  .project-board.kanban-scroll-board::-webkit-scrollbar,
  .overall-board.kanban-scroll-board::-webkit-scrollbar,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board::-webkit-scrollbar,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .project-board-column,
  .overall-board-column {
    touch-action: pan-y pan-x !important;
  }

  .project-board-dropzone,
  .overall-board-dropzone {
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .project-board-dropzone::-webkit-scrollbar,
  .overall-board-dropzone::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .project-board-task,
  .overall-board-task {
    touch-action: pan-y pan-x !important;
  }

  .kanban-column-nav {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .kanban-column-nav::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }
}


/* Life OS v7.84 Mobile Kanban near-full-width columns */
@media (max-width: 820px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    grid-auto-columns: minmax(300px, calc(100vw - 28px)) !important;
    scroll-padding-inline: 6px !important;
    padding-inline: 6px !important;
    gap: 12px !important;
  }

  .project-board-column,
  .modal-backdrop.large-modal .project-board-column,
  .birdseye-overall-board-panel .overall-board-column {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

@media (max-width: 430px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    grid-auto-columns: minmax(280px, calc(100vw - 24px)) !important;
    scroll-padding-inline: 4px !important;
    padding-inline: 4px !important;
    gap: 10px !important;
  }

  .project-board-column,
  .modal-backdrop.large-modal .project-board-column,
  .birdseye-overall-board-panel .overall-board-column {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}


/* Life OS v7.85 Mobile Kanban visual containment fix */
@media (max-width: 820px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-auto-columns: minmax(0, calc(100% - 14px)) !important;
    padding-inline: 6px !important;
    scroll-padding-inline: 6px !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    contain: layout paint;
  }

  .project-board-column,
  .modal-backdrop.large-modal .project-board-column,
  .birdseye-overall-board-panel .overall-board-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .project-board-dropzone,
  .overall-board-dropzone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .project-board-task,
  .overall-board-task {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .project-board-task-top,
  .task-title {
    min-width: 0 !important;
  }

  .task-title {
    overflow-wrap: anywhere;
  }

  .project-board-column h3,
  .overall-board-column h3 {
    overflow: hidden;
  }
}

@media (max-width: 430px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    grid-auto-columns: minmax(0, calc(100% - 10px)) !important;
    padding-inline: 5px !important;
    scroll-padding-inline: 5px !important;
    gap: 10px !important;
  }
}


/* Life OS v7.86 Mobile Kanban true one-column-per-screen fix */
@media (max-width: 820px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    grid-auto-columns: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 12px !important;
    padding: 0 6px 12px !important;
    box-sizing: border-box !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 6px !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    touch-action: pan-x !important;
  }

  .project-board.kanban-scroll-board::-webkit-scrollbar,
  .overall-board.kanban-scroll-board::-webkit-scrollbar,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board::-webkit-scrollbar,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .project-board.kanban-scroll-board > .project-board-column,
  .overall-board.kanban-scroll-board > .project-board-column,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board > .project-board-column,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board > .overall-board-column {
    flex: 0 0 calc(100% - 12px) !important;
    width: calc(100% - 12px) !important;
    min-width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    align-self: stretch !important;
  }

  .project-board-column,
  .overall-board-column {
    overflow: hidden !important;
  }

  .project-board-dropzone,
  .overall-board-dropzone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
  }

  .project-board-task,
  .overall-board-task {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 430px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    gap: 10px !important;
    padding-inline: 5px !important;
    scroll-padding-inline: 5px !important;
  }

  .project-board.kanban-scroll-board > .project-board-column,
  .overall-board.kanban-scroll-board > .project-board-column,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board > .project-board-column,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board > .overall-board-column {
    flex-basis: calc(100% - 10px) !important;
    width: calc(100% - 10px) !important;
    min-width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
  }
}


/* Life OS v7.87 Mobile Kanban full-width columns */
@media (max-width: 820px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    gap: 0 !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  .project-board.kanban-scroll-board > .project-board-column,
  .overall-board.kanban-scroll-board > .project-board-column,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board > .project-board-column,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board > .overall-board-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: start !important;
  }
}

@media (max-width: 430px) {
  .project-board.kanban-scroll-board,
  .overall-board.kanban-scroll-board,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board {
    gap: 0 !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  .project-board.kanban-scroll-board > .project-board-column,
  .overall-board.kanban-scroll-board > .project-board-column,
  .modal-backdrop.large-modal .project-board.kanban-scroll-board > .project-board-column,
  .birdseye-overall-board-panel .overall-board.kanban-scroll-board > .overall-board-column {
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}


/* Life OS v7.88 Docs Reading/Writing Cleanup */
.doc-reading-modal .modal-body,
.doc-writing-modal .modal-body {
  background: linear-gradient(180deg, rgba(247,246,243,.55), rgba(255,255,255,.2));
}

.doc-reading-shell,
.doc-writing-form {
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
}

.doc-reading-hero,
.doc-writing-hero {
  border-radius: 26px;
  padding: 22px;
}

.doc-reading-title-block h2 {
  font-size: clamp(1.65rem, 4vw, 2.55rem);
  letter-spacing: -.055em;
  line-height: 1.05;
}

.doc-reading-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.doc-reading-section {
  padding: clamp(18px, 3vw, 30px);
}

.doc-reading-content {
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--text);
}

.doc-reading-content > *:first-child {
  margin-top: 0;
}

.doc-reading-content h2 {
  margin: 1.25em 0 .45em;
  font-size: 1.45rem;
  letter-spacing: -.035em;
}

.doc-reading-content h3 {
  margin: 1.1em 0 .35em;
  font-size: 1.12rem;
}

.doc-reading-content p,
.doc-reading-content ul,
.doc-reading-content ol,
.doc-reading-content blockquote,
.doc-reading-content pre {
  margin-top: .75em;
  margin-bottom: .75em;
}

.doc-reading-content ul,
.doc-reading-content ol {
  padding-left: 1.45em;
}

.doc-reading-content blockquote {
  border-left: 4px solid var(--primary);
  padding: 10px 14px;
  border-radius: 0 14px 14px 0;
  background: rgba(49,95,82,.07);
  color: var(--text);
}

.doc-reading-content code {
  padding: .12em .35em;
  border-radius: 7px;
  background: rgba(15,23,42,.07);
  font-size: .92em;
}

.doc-reading-content pre {
  overflow: auto;
  padding: 14px;
  border-radius: 16px;
  background: rgba(15,23,42,.07);
}

.doc-writing-meta-card,
.doc-writing-editor-card {
  border-radius: 24px;
}

.doc-writing-editor-card {
  gap: 14px;
}

.doc-clean-editor {
  min-height: min(54vh, 620px);
  padding: clamp(18px, 3vw, 28px) !important;
  border-radius: 22px !important;
  line-height: 1.72;
  font-size: 1.02rem;
  background: var(--surface-card, #fff) !important;
}

.doc-clean-editor:focus {
  outline: 3px solid rgba(49,95,82,.16);
  border-color: rgba(49,95,82,.38) !important;
}

.doc-clean-toolbar {
  position: sticky;
  top: 0;
  z-index: 8;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 24px rgba(31,41,51,.06);
  backdrop-filter: blur(10px);
}

.doc-toolbar-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.doc-toolbar-primary-group {
  margin-bottom: 0;
}

.doc-toolbar-separator {
  width: 1px;
  height: 28px;
  background: var(--border);
  margin-inline: 3px;
}

.doc-toolbar-more {
  margin-top: 7px;
}

.doc-toolbar-more summary {
  width: fit-content;
  cursor: pointer;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 850;
  list-style: none;
}

.doc-toolbar-more summary::-webkit-details-marker {
  display: none;
}

.doc-toolbar-more[open] summary {
  background: var(--primary-soft);
  color: var(--primary);
  border-color: rgba(49,95,82,.24);
}

.doc-toolbar-advanced-group {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

.doc-clean-toolbar button,
.doc-clean-toolbar summary {
  min-height: 34px;
}

.doc-clean-toolbar button.active,
.doc-clean-toolbar button[aria-pressed="true"] {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}

.bible-note-input-card + .doc-reading-section {
  margin-top: 0;
}

@media (max-width: 720px) {
  .doc-reading-shell,
  .doc-writing-form {
    max-width: none;
  }

  .doc-reading-hero,
  .doc-writing-hero,
  .doc-writing-meta-card,
  .doc-writing-editor-card,
  .doc-reading-section {
    border-radius: 20px;
    padding: 16px;
  }

  .doc-reading-title-block h2 {
    font-size: 1.55rem;
  }

  .doc-clean-toolbar {
    top: 0;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .doc-clean-toolbar::-webkit-scrollbar {
    display: none;
  }

  .doc-toolbar-group {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .doc-toolbar-group::-webkit-scrollbar {
    display: none;
  }

  .doc-clean-toolbar button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .doc-clean-editor {
    min-height: 48vh;
    padding: 16px !important;
    font-size: 1rem;
  }
}

:root[data-theme="dark"] .doc-clean-toolbar,
:root[data-theme="dark"] .doc-clean-editor,
:root[data-theme="dark"] .doc-reading-hero,
:root[data-theme="dark"] .doc-writing-hero,
:root[data-theme="dark"] .doc-writing-meta-card,
:root[data-theme="dark"] .doc-writing-editor-card,
:root[data-theme="dark"] .doc-reading-section {
  background: var(--surface-card) !important;
  border-color: var(--border-soft) !important;
}

:root[data-theme="dark"] .doc-reading-content blockquote {
  background: rgba(142,162,255,.10);
}

:root[data-theme="dark"] .doc-reading-content code,
:root[data-theme="dark"] .doc-reading-content pre {
  background: rgba(255,255,255,.07);
}


/* Life OS v7.89 Markdown-first Docs */
.doc-markdown-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(247,246,243,.72);
}

.doc-markdown-toolbar button {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-card, #fff);
  color: var(--text);
  padding: 7px 10px;
  font-weight: 850;
  font-size: .82rem;
  cursor: pointer;
}

.doc-markdown-toolbar button:hover,
.doc-markdown-toolbar button.active {
  border-color: rgba(49,95,82,.28);
  background: var(--primary-soft);
  color: var(--primary);
}

.doc-markdown-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 14px;
  align-items: stretch;
}

.doc-markdown-editor {
  min-height: 52vh;
  resize: vertical;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  font: 500 1rem/1.65 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--surface-card, #fff);
  color: var(--text);
  outline: none;
}

.doc-markdown-editor:focus {
  border-color: rgba(49,95,82,.36);
  box-shadow: 0 0 0 3px rgba(49,95,82,.10);
}

.doc-markdown-preview {
  min-height: 52vh;
  max-height: 70vh;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  background: rgba(255,255,255,.76);
}

.doc-markdown-preview:before {
  content: "Vorschau";
  display: block;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.doc-markdown-shell.preview-only {
  grid-template-columns: 1fr;
}

.doc-markdown-shell.preview-only .doc-markdown-editor {
  display: none;
}

.doc-reading-content h2 {
  margin: 1.1em 0 .45em;
}

.doc-reading-content h3 {
  margin: 1em 0 .35em;
}

.doc-reading-content blockquote {
  margin: 1em 0;
  padding: .85em 1em;
  border-left: 4px solid var(--primary);
  background: rgba(49,95,82,.07);
  border-radius: 0 14px 14px 0;
}

.doc-reading-content pre {
  white-space: pre-wrap;
  overflow: auto;
  padding: 12px;
  border-radius: 14px;
  background: #111827;
  color: #f9fafb;
}

.doc-reading-content code {
  padding: .12em .35em;
  border-radius: 6px;
  background: rgba(31,41,55,.08);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.doc-reading-content pre code {
  padding: 0;
  background: transparent;
}

.doc-reading-content mark {
  border-radius: 4px;
  padding: .05em .18em;
  background: #fff3bf;
}

@media (max-width: 900px) {
  .doc-markdown-shell {
    grid-template-columns: 1fr;
  }

  .doc-markdown-preview {
    min-height: 260px;
    max-height: 52vh;
  }

  .doc-markdown-toolbar {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .doc-markdown-toolbar::-webkit-scrollbar {
    display: none;
  }

  .doc-markdown-toolbar button {
    flex: 0 0 auto;
  }
}

:root[data-theme="dark"] .doc-markdown-toolbar,
:root[data-theme="dark"] .doc-markdown-preview {
  background: var(--surface-card-alt);
  border-color: var(--border-soft);
}

:root[data-theme="dark"] .doc-markdown-editor,
:root[data-theme="dark"] .doc-markdown-toolbar button {
  background: var(--surface-card);
  color: var(--text-strong);
  border-color: var(--border-soft);
}

:root[data-theme="dark"] .doc-reading-content code {
  background: rgba(255,255,255,.10);
}


/* Life OS v7.90 Docs edit mode cleanup + compact Bible Note cards */
.doc-markdown-toolbar {
  justify-content: flex-start;
}

.bible-note-card-meta {
  align-items: center;
  gap: 8px;
  max-width: 100%;
}

.bible-note-card-meta .chip {
  white-space: nowrap;
}

.bible-note-primary-ref-chip {
  max-width: min(100%, 360px);
  overflow: hidden;
  text-overflow: ellipsis;
}

.bible-note-more-chip {
  flex: 0 0 auto;
  font-weight: 850;
}

.bible-note-date-chip {
  flex: 0 0 auto;
}

@media (max-width: 720px) {
  .bible-note-card-meta {
    flex-wrap: wrap;
  }

  .bible-note-primary-ref-chip {
    max-width: 100%;
  }
}


/* Life OS v7.91 Mobile Docs Composer */
.doc-writing-title-row {
  display: grid;
  gap: 10px;
}

.doc-writing-details,
.doc-writing-input-details {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  overflow: hidden;
}

.doc-writing-details {
  margin-top: 12px;
}

.doc-writing-input-details {
  margin-top: 12px;
}

.doc-writing-details > summary,
.doc-writing-input-details > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  cursor: pointer;
  font-weight: 900;
  color: var(--text);
}

.doc-writing-details > summary::-webkit-details-marker,
.doc-writing-input-details > summary::-webkit-details-marker {
  display: none;
}

.doc-writing-details > summary span,
.doc-writing-input-details > summary span {
  display: grid;
  gap: 2px;
}

.doc-writing-details > summary small,
.doc-writing-input-details > summary small {
  color: var(--muted);
  font-weight: 750;
}

.doc-details-chevron {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  transition: transform .18s ease;
}

.doc-writing-details[open] > summary .doc-details-chevron,
.doc-writing-input-details[open] > summary .doc-details-chevron {
  transform: rotate(180deg);
}

.doc-writing-details-body,
.doc-writing-input-details-body {
  display: grid;
  gap: 14px;
  padding: 0 15px 15px;
}

.doc-writing-input-details-body .bible-note-input-form-field {
  margin: 0;
}

@media (max-width: 720px) {
  body:has(#modalBackdrop.doc-writing-modal:not(.hidden)) {
    overflow: hidden !important;
  }

  #modalBackdrop.doc-writing-modal {
    padding: 0 !important;
    align-items: stretch !important;
    place-items: stretch !important;
    overflow: hidden !important;
  }

  #modalBackdrop.doc-writing-modal .modal,
  #modalBackdrop.doc-writing-modal .modal-card {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    min-height: 100dvh !important;
    border-radius: 0 !important;
    border: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #modalBackdrop.doc-writing-modal .modal-header {
    flex: 0 0 auto !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    padding: max(14px, env(safe-area-inset-top)) 16px 12px !important;
    align-items: center !important;
  }

  #modalBackdrop.doc-writing-modal .modal-header h2 {
    font-size: 1.05rem !important;
    line-height: 1.15 !important;
    max-width: calc(100vw - 88px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #modalBackdrop.doc-writing-modal .modal-header .eyebrow {
    font-size: .68rem !important;
  }

  #modalBackdrop.doc-writing-modal .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 12px 12px calc(92px + env(safe-area-inset-bottom)) !important;
    overscroll-behavior: contain !important;
  }

  .doc-writing-form {
    display: grid !important;
    gap: 12px !important;
  }

  .doc-writing-hero {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .doc-writing-hero h3 {
    display: none;
  }

  .doc-writing-meta-card,
  .doc-writing-editor-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .doc-writing-meta-card label,
  .doc-writing-details-body label,
  .doc-writing-input-details-body label {
    gap: 6px;
  }

  .doc-writing-details {
    background: rgba(255,255,255,.72);
  }

  .doc-writing-details > summary,
  .doc-writing-input-details > summary {
    min-height: 48px;
    padding: 12px 13px;
  }

  .doc-writing-editor-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .doc-writing-editor-card .card-title-row {
    order: 1;
    margin-bottom: 0;
  }

  .doc-markdown-shell {
    order: 2;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .doc-markdown-editor {
    min-height: 46vh !important;
    max-height: none !important;
    resize: vertical;
    font-size: 16px !important;
    line-height: 1.68 !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .doc-markdown-preview {
    min-height: 220px !important;
    max-height: none !important;
    border-radius: 18px !important;
  }

  .doc-markdown-toolbar {
    order: 3;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 35 !important;
    margin: 0 -14px -14px !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    border-radius: 18px 18px 0 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    background: rgba(248,247,244,.96) !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 -18px 40px rgba(31,41,51,.12);
  }

  .doc-markdown-toolbar::-webkit-scrollbar {
    display: none;
  }

  .doc-markdown-toolbar button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 8px 12px;
  }

  .doc-writing-actions {
    position: sticky;
    bottom: 0;
    z-index: 30;
    margin: 4px -12px -12px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(248,247,244,.96);
    backdrop-filter: blur(18px);
    border-top: 1px solid var(--border);
  }

  .doc-writing-input-details .bible-note-input-form-textarea {
    min-height: 180px;
    font-size: 16px;
    line-height: 1.6;
  }
}

:root[data-theme="dark"] .doc-writing-details,
:root[data-theme="dark"] .doc-writing-input-details {
  background: var(--surface-card-alt);
  border-color: var(--border-soft);
}

:root[data-theme="dark"] .doc-writing-details > summary,
:root[data-theme="dark"] .doc-writing-input-details > summary {
  color: var(--text-strong);
}

@media (max-width: 720px) {
  :root[data-theme="dark"] .doc-markdown-toolbar,
  :root[data-theme="dark"] .doc-writing-actions {
    background: rgba(22,26,32,.96) !important;
  }
}


/* Life OS v7.92 Docs toolbar attached to writing field */
.doc-markdown-writing-pane {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

.doc-markdown-writing-pane .doc-markdown-editor {
  flex: 1 1 auto;
}

.doc-markdown-writing-pane .doc-markdown-toolbar {
  flex: 0 0 auto;
  margin-top: 10px;
}

@media (max-width: 720px) {
  .doc-markdown-shell {
    display: flex !important;
    flex-direction: column !important;
  }

  .doc-markdown-writing-pane {
    order: 1;
    display: flex !important;
    flex-direction: column !important;
    min-height: 58vh;
  }

  .doc-markdown-writing-pane .doc-markdown-editor {
    order: 1;
    flex: 1 1 auto !important;
    min-height: 52vh !important;
    margin-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .doc-markdown-writing-pane .doc-markdown-toolbar {
    order: 2 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 35 !important;
    margin: 0 !important;
    margin-top: -1px !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    border: 1px solid var(--border) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    background: rgba(248,247,244,.98) !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 14px 30px rgba(31,41,51,.10);
  }

  .doc-markdown-writing-pane .doc-markdown-toolbar::-webkit-scrollbar {
    display: none;
  }

  .doc-markdown-preview {
    order: 2;
    margin-top: 14px;
  }

  .doc-writing-editor-card > .doc-markdown-toolbar {
    display: none !important;
  }
}

:root[data-theme="dark"] .doc-markdown-writing-pane .doc-markdown-toolbar {
  background: var(--surface-card-alt) !important;
  border-color: var(--border-soft) !important;
}

@media (max-width: 720px) {
  :root[data-theme="dark"] .doc-markdown-writing-pane .doc-markdown-toolbar {
    background: rgba(22,26,32,.98) !important;
  }
}


/* Life OS v7.93 Project board text search + checked custom filters */
.project-board-search-control {
  min-width: min(420px, 100%);
  flex: 1 1 320px;
}

.project-board-search-control input[type="search"] {
  width: 100%;
  min-width: min(260px, 100%);
}

.project-board-filter-toggle {
  margin: 0;
  min-width: min(340px, 100%);
  align-self: stretch;
}

.project-board-filter-toggle .settings-switch-copy small {
  line-height: 1.25;
}

.project-filter-setting-search {
  border-color: rgba(49,95,82,.22);
}

@media (max-width: 720px) {
  .project-board-filter-bar {
    align-items: stretch;
  }

  .project-board-search-control,
  .project-board-filter-toggle {
    min-width: 100%;
    width: 100%;
  }

  .project-board-search-control input[type="search"] {
    min-width: 100%;
  }
}


/* Life OS v7.94 Mobile fullscreen input + fixed doc toolbar fixes */

/* Fullscreen input from Bible Note detail/read mode */
@media (max-width: 760px) {
  #modalBackdrop.bible-input-maximized {
    padding: 0 !important;
    align-items: stretch !important;
    place-items: stretch !important;
    overflow: hidden !important;
  }

  #modalBackdrop.bible-input-maximized .modal,
  #modalBackdrop.bible-input-maximized .modal-card {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    min-height: 100dvh !important;
    border-radius: 0 !important;
    border: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #modalBackdrop.bible-input-maximized .modal-header {
    flex: 0 0 auto !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 60 !important;
    padding: max(14px, env(safe-area-inset-top)) 16px 12px !important;
  }

  #modalBackdrop.bible-input-maximized .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 12px !important;
  }

  #modalBackdrop.bible-input-reading-maximized .doc-reading-shell {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #modalBackdrop.bible-input-reading-maximized .doc-reading-shell > :not(.is-input-maximized) {
    display: none !important;
  }

  #modalBackdrop.bible-input-reading-maximized .bible-note-input-card.is-input-maximized {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    padding: 14px !important;
  }

  #modalBackdrop.bible-input-reading-maximized .bible-note-input-card.is-input-maximized .bible-note-input-header {
    flex: 0 0 auto !important;
    margin-bottom: 10px !important;
  }

  #modalBackdrop.bible-input-reading-maximized .bible-note-input-card.is-input-maximized .bible-note-input-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #modalBackdrop.bible-input-maximized .bible-note-input-field-wrap.is-input-maximized {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #modalBackdrop.bible-input-maximized .bible-note-input-field-wrap.is-input-maximized textarea {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    resize: none !important;
    overflow: auto !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  #modalBackdrop.bible-input-form-maximized .doc-writing-details,
  #modalBackdrop.bible-input-form-maximized .doc-writing-input-details,
  #modalBackdrop.bible-input-form-maximized .doc-writing-input-details-body,
  #modalBackdrop.bible-input-form-maximized .bible-note-input-form-field.is-input-maximized,
  #modalBackdrop.bible-input-form-maximized .bible-note-input-field-wrap.is-input-maximized {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
}

/* Fixed formatting bar for mobile Doc editing */
@media (max-width: 720px) {
  #modalBackdrop.doc-writing-modal .modal-body {
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  #modalBackdrop.doc-writing-modal .doc-markdown-writing-pane {
    padding-bottom: calc(62px + env(safe-area-inset-bottom));
  }

  #modalBackdrop.doc-writing-modal .doc-markdown-writing-pane .doc-markdown-toolbar {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    z-index: 120 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    background: rgba(248,247,244,.98) !important;
    backdrop-filter: blur(18px) !important;
    box-shadow: 0 -12px 38px rgba(31,41,51,.20) !important;
  }

  #modalBackdrop.doc-writing-modal .doc-markdown-writing-pane .doc-markdown-toolbar::-webkit-scrollbar {
    display: none !important;
  }

  #modalBackdrop.doc-writing-modal .doc-markdown-writing-pane .doc-markdown-toolbar button {
    flex: 0 0 auto !important;
    min-height: 42px !important;
  }

  #modalBackdrop.doc-writing-modal .doc-writing-actions {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
    backdrop-filter: none !important;
  }
}

@media (max-width: 720px) {
  :root[data-theme="dark"] #modalBackdrop.doc-writing-modal .doc-markdown-writing-pane .doc-markdown-toolbar {
    background: rgba(22,26,32,.98) !important;
    border-color: var(--border-soft) !important;
  }
}


/* Life OS v7.95 completed projects + task detail today actions */
.completed-projects-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.completed-projects-button {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  min-height: 40px;
  padding: 9px 15px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(31,41,51,.08);
}

.completed-projects-button:hover {
  border-color: rgba(49,95,82,.30);
  background: var(--primary-soft);
  color: var(--primary);
}

.completed-projects-modal {
  display: grid;
  gap: 14px;
}

.completed-project-list {
  display: grid;
  gap: 10px;
}

.completed-project-tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.completed-project-tile .secondary-button {
  white-space: nowrap;
}

.task-detail-root > .form-actions .secondary-button[disabled],
.task-detail-root > .form-actions .ghost-button[disabled] {
  opacity: .48;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .completed-projects-footer {
    justify-content: stretch;
  }

  .completed-projects-button {
    width: 100%;
  }

  .completed-project-tile {
    align-items: stretch;
    flex-direction: column;
  }

  .completed-project-tile .secondary-button {
    width: 100%;
  }
}

:root[data-theme="dark"] .completed-projects-button {
  background: #fff;
  color: #1f2933;
  border-color: #fff;
}

/* Life OS v7.97 alternative routine time slots */
.routine-time-slot-settings {
  gap: 14px;
}
.routine-time-slot-label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 750;
}
.routine-alternative-slot-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.routine-alternative-slot-options .checkbox-line {
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
}
.routine-alternative-slot-card {
  cursor: default;
}
:root[data-theme="dark"] .routine-alternative-slot-options .checkbox-line {
  background: var(--panel);
}

/* Life OS v7.99 contextual routine frequency details */
.routine-frequency-details {
  display: grid;
  gap: 18px;
}
.routine-frequency-details [hidden] {
  display: none !important;
}
.routine-frequency-field-label {
  display: block;
  margin-bottom: 9px;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 750;
}
.routine-frequency-inline {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.routine-frequency-inline > span:first-child {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 750;
}
.routine-frequency-sentence {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  min-width: 0;
  font-weight: 700;
}
.routine-frequency-sentence input[type="number"] {
  width: 78px;
  min-width: 78px;
}
.routine-weekday-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.routine-weekday-option {
  position: relative;
  margin: 0;
}
.routine-weekday-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.routine-weekday-option span {
  min-width: 44px;
  min-height: 42px;
  padding: 8px 12px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
  user-select: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.routine-weekday-option input:checked + span {
  background: var(--primary-soft, #e7f0ff);
  border-color: var(--primary);
  color: var(--primary);
}
.routine-weekday-option input:focus-visible + span {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
.routine-yearly-date {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(90px, 160px);
  gap: 12px;
}
:root[data-theme="dark"] .routine-weekday-option span {
  background: var(--panel);
}
@media (max-width: 620px) {
  .routine-frequency-inline {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .routine-yearly-date {
    grid-template-columns: 1fr 110px;
  }
}

/* Life OS v7.100 Global Repair consistency details */
.admin-repair-details {
  margin-top: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-card) 78%, transparent);
  overflow: clip;
}

.admin-repair-details > summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
  font-weight: 800;
  user-select: none;
}

.admin-repair-details > summary::-webkit-details-marker {
  display: none;
}

.admin-repair-details > summary::after {
  content: "⌄";
  float: right;
  margin-left: 12px;
  transition: transform .18s ease;
}

.admin-repair-details[open] > summary::after {
  transform: rotate(180deg);
}

.admin-repair-details-body {
  border-top: 1px solid var(--border);
  padding: 12px 14px 14px;
}

.admin-repair-details-body > :first-child {
  margin-top: 0;
}

.admin-repair-details-body > :last-child {
  margin-bottom: 0;
}

.admin-repair-checklist {
  display: grid;
  gap: 8px;
  margin: 10px 0;
  padding-left: 20px;
}

.admin-repair-checklist li {
  line-height: 1.45;
}

/* Life OS v7.102 Bible Notes: resilient mobile Markdown footer + Markdown input + content maximize */
.bible-note-input-preview {
  width: 100%;
  min-height: 160px;
  max-height: 48vh;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface-card-alt, rgba(247,246,243,.78));
  color: var(--text);
  padding: 14px 62px 54px 14px;
  box-sizing: border-box;
}

.bible-note-input-preview[hidden],
.bible-note-input-textarea[hidden] {
  display: none !important;
}

.bible-input-markdown-toolbar {
  margin-top: 10px;
  padding-right: 56px;
}

.doc-writing-editor-heading {
  align-items: center;
}

.doc-content-max-actions {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
}

.doc-content-maximize-button,
.doc-content-minimize-button {
  grid-area: 1 / 1;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  display: inline-grid !important;
  place-items: center;
}

.doc-content-maximize-button.hidden,
.doc-content-minimize-button.hidden {
  display: none !important;
}

.doc-content-maximize-button svg,
.doc-content-minimize-button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.doc-mobile-markdown-footer {
  display: none;
}

body.doc-content-maximized-open {
  overflow: hidden;
}

#modalBackdrop.doc-content-maximized .modal,
#modalBackdrop.doc-content-maximized .modal-card {
  height: calc(100vh - 28px);
  max-height: calc(100vh - 28px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#modalBackdrop.doc-content-maximized .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: hidden;
}

#modalBackdrop.doc-content-maximized #docForm {
  height: 100%;
  min-height: 0;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.doc-content-maximized #docForm > :not(.is-content-maximized) {
  display: none !important;
}

#modalBackdrop.doc-content-maximized .doc-writing-editor-card.is-content-maximized {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.doc-content-maximized .doc-writing-editor-heading {
  flex: 0 0 auto;
}

#modalBackdrop.doc-content-maximized .doc-markdown-shell {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
}

#modalBackdrop.doc-content-maximized .doc-markdown-writing-pane {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.doc-content-maximized .doc-markdown-editor {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  resize: none !important;
}

#modalBackdrop.doc-content-maximized .doc-markdown-preview {
  display: none !important;
}

#modalBackdrop.bible-input-maximized .bible-note-input-field-wrap.is-input-maximized .bible-note-input-preview {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  max-height: none;
  overflow: auto;
}

#modalBackdrop.bible-input-maximized .bible-note-input-field-wrap.is-input-maximized .bible-input-markdown-toolbar:not(.hidden) {
  flex: 0 0 auto;
}

:root[data-theme="dark"] .bible-note-input-preview {
  background: var(--surface-card-alt, var(--surface));
  border-color: var(--border-soft, var(--border));
}

@media (max-width: 760px) {
  #modalBackdrop.doc-writing-modal .modal,
  #modalBackdrop.doc-writing-modal .modal-card,
  #modalBackdrop.bible-input-maximized .modal,
  #modalBackdrop.bible-input-maximized .modal-card,
  #modalBackdrop.doc-content-maximized .modal,
  #modalBackdrop.doc-content-maximized .modal-card {
    height: var(--lifeos-doc-visual-height, 100dvh) !important;
    min-height: var(--lifeos-doc-visual-height, 100dvh) !important;
    max-height: var(--lifeos-doc-visual-height, 100dvh) !important;
  }

  #modalBackdrop.doc-writing-modal .modal-body {
    padding: 12px !important;
  }

  #modalBackdrop.doc-writing-modal .doc-markdown-writing-pane > .doc-markdown-toolbar,
  #modalBackdrop.doc-writing-modal .bible-input-markdown-toolbar {
    display: none !important;
  }

  #modalBackdrop.doc-writing-modal .doc-mobile-markdown-footer {
    display: block !important;
    flex: 0 0 auto;
    min-width: 0;
    z-index: 140;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--border);
    background: rgba(248,247,244,.98);
    backdrop-filter: blur(18px);
    box-shadow: 0 -12px 34px rgba(31,41,51,.16);
  }

  #modalBackdrop.doc-writing-modal .doc-mobile-markdown-footer .doc-markdown-toolbar {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  #modalBackdrop.doc-writing-modal .doc-mobile-markdown-footer .doc-markdown-toolbar::-webkit-scrollbar {
    display: none !important;
  }

  #modalBackdrop.doc-writing-modal .doc-mobile-markdown-footer .doc-markdown-toolbar button {
    flex: 0 0 auto !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
  }

  #modalBackdrop.doc-content-maximized .modal-body,
  #modalBackdrop.bible-input-form-maximized .modal-body {
    overflow: hidden !important;
  }

  #modalBackdrop.doc-content-maximized .doc-writing-editor-card.is-content-maximized {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  #modalBackdrop.doc-content-maximized .doc-writing-editor-heading p {
    display: none;
  }

  #modalBackdrop.doc-content-maximized .doc-markdown-writing-pane {
    min-height: 0 !important;
  }

  #modalBackdrop.doc-content-maximized .doc-markdown-writing-pane .doc-markdown-editor {
    min-height: 0 !important;
    border-radius: 16px !important;
  }

  #modalBackdrop.bible-input-form-maximized .bible-note-input-field-wrap.is-input-maximized {
    padding-bottom: 0;
  }

  #modalBackdrop.bible-input-reading-maximized .bible-note-input-field-wrap.is-input-maximized .bible-note-input-preview {
    font-size: 1rem;
    line-height: 1.7;
  }
}

@media (max-width: 760px) {
  :root[data-theme="dark"] #modalBackdrop.doc-writing-modal .doc-mobile-markdown-footer {
    background: rgba(22,26,32,.98) !important;
    border-color: var(--border-soft) !important;
  }
}

@media (min-width: 721px) and (max-width: 760px) {
  #modalBackdrop.doc-writing-modal {
    padding: 0 !important;
    align-items: stretch !important;
    place-items: stretch !important;
    overflow: hidden !important;
  }

  #modalBackdrop.doc-writing-modal .modal,
  #modalBackdrop.doc-writing-modal .modal-card {
    width: 100vw !important;
    max-width: none !important;
    border-radius: 0 !important;
    border: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #modalBackdrop.doc-writing-modal .modal-header {
    flex: 0 0 auto !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
  }

  #modalBackdrop.doc-writing-modal .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }
}

/* Keep the existing Bible Input fullscreen flow compatible with the current nested Docs form. */
#modalBackdrop.bible-input-form-maximized #docForm > .doc-writing-meta-card {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.bible-input-form-maximized #docForm > .doc-writing-meta-card > .doc-writing-title-row,
#modalBackdrop.bible-input-form-maximized .doc-writing-details > summary,
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details > summary,
#modalBackdrop.bible-input-form-maximized .doc-writing-details-body > :not([data-doc-bible-fields]) {
  display: none !important;
}

#modalBackdrop.bible-input-form-maximized .doc-writing-details,
#modalBackdrop.bible-input-form-maximized .doc-writing-details-body,
#modalBackdrop.bible-input-form-maximized #docForm [data-doc-bible-fields],
#modalBackdrop.bible-input-form-maximized #docForm [data-doc-bible-fields] > .doc-writing-input-details,
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details-body,
#modalBackdrop.bible-input-form-maximized .bible-note-input-form-field.is-input-maximized,
#modalBackdrop.bible-input-form-maximized .bible-note-input-field-wrap.is-input-maximized {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.bible-input-form-maximized #docForm [data-doc-bible-fields] > :not(.doc-writing-input-details) {
  display: none !important;
}

@media (max-width: 760px) {
  #modalBackdrop.bible-input-direct-editing {
    padding: 0 !important;
    align-items: stretch !important;
    place-items: stretch !important;
    overflow: hidden !important;
  }

  #modalBackdrop.bible-input-direct-editing .modal,
  #modalBackdrop.bible-input-direct-editing .modal-card {
    width: 100vw !important;
    max-width: none !important;
    height: var(--lifeos-doc-visual-height, 100dvh) !important;
    min-height: var(--lifeos-doc-visual-height, 100dvh) !important;
    max-height: var(--lifeos-doc-visual-height, 100dvh) !important;
    border-radius: 0 !important;
    border: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  #modalBackdrop.bible-input-direct-editing .modal-header {
    flex: 0 0 auto !important;
  }

  #modalBackdrop.bible-input-direct-editing .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  #modalBackdrop.bible-input-direct-editing .doc-mobile-markdown-footer {
    display: block !important;
    flex: 0 0 auto;
    min-width: 0;
    z-index: 140;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--border);
    background: rgba(248,247,244,.98);
    backdrop-filter: blur(18px);
    box-shadow: 0 -12px 34px rgba(31,41,51,.16);
  }

  #modalBackdrop.bible-input-direct-editing .doc-mobile-markdown-footer .doc-markdown-toolbar {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  #modalBackdrop.bible-input-direct-editing .bible-input-detail-markdown-toolbar {
    display: none !important;
  }

  :root[data-theme="dark"] #modalBackdrop.bible-input-direct-editing .doc-mobile-markdown-footer {
    background: rgba(22,26,32,.98) !important;
    border-color: var(--border-soft) !important;
  }
}

/* Life OS v7.103 Bible Notes: focus-only mobile toolbar + fullscreen/input view fixes */
.bible-input-detail-markdown-toolbar.hidden,
.bible-input-detail-markdown-toolbar[hidden],
.doc-mobile-markdown-footer[hidden] {
  display: none !important;
}

/* Rendered Bible input is the only visible reading surface. */
.bible-note-input-preview {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
}

.bible-note-input-preview > *,
.bible-note-input-preview p,
.bible-note-input-preview li,
.bible-note-input-preview blockquote,
.bible-note-input-preview h1,
.bible-note-input-preview h2,
.bible-note-input-preview h3,
.bible-note-input-preview a {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.bible-note-input-preview ul,
.bible-note-input-preview ol {
  min-width: 0;
  max-width: 100%;
  padding-left: 1.5rem;
  padding-right: 0;
}

.bible-note-input-preview pre,
.bible-note-input-preview table {
  max-width: 100%;
  overflow-x: auto;
}

.bible-note-input-preview img,
.bible-note-input-preview video,
.bible-note-input-preview svg {
  max-width: 100%;
  height: auto;
}

/* One robust fullscreen model for Bible Input on desktop and mobile. */
#modalBackdrop.bible-input-maximized {
  overflow: hidden !important;
}

#modalBackdrop.bible-input-maximized .modal,
#modalBackdrop.bible-input-maximized .modal-card {
  width: min(1180px, calc(100vw - 24px)) !important;
  height: calc(100vh - 24px) !important;
  max-height: calc(100vh - 24px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-maximized .modal-header {
  flex: 0 0 auto !important;
}

#modalBackdrop.bible-input-maximized .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 16px !important;
}

/* Reading/detail mode fullscreen. */
#modalBackdrop.bible-input-reading-maximized .doc-reading-shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

#modalBackdrop.bible-input-reading-maximized .doc-reading-shell > :not(.is-input-maximized) {
  display: none !important;
}

#modalBackdrop.bible-input-reading-maximized .bible-note-input-card.is-input-maximized {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-reading-maximized .bible-note-input-card.is-input-maximized .bible-note-input-header {
  flex: 0 0 auto !important;
}

#modalBackdrop.bible-input-reading-maximized .bible-note-input-card.is-input-maximized .bible-note-input-body,
#modalBackdrop.bible-input-reading-maximized .bible-note-input-field-wrap.is-input-maximized {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-reading-maximized .bible-note-input-field-wrap.is-input-maximized > .bible-note-input-preview:not([hidden]),
#modalBackdrop.bible-input-reading-maximized .bible-note-input-field-wrap.is-input-maximized > textarea:not([hidden]) {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  overflow: auto !important;
  resize: none !important;
}

/* Writing/form mode fullscreen: flatten nested cards/details instead of shrinking through them. */
#modalBackdrop.bible-input-form-maximized #docForm {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

#modalBackdrop.bible-input-form-maximized #docForm > :not(.doc-writing-meta-card) {
  display: none !important;
}

#modalBackdrop.bible-input-form-maximized #docForm > .doc-writing-meta-card {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-form-maximized #docForm > .doc-writing-meta-card > .doc-writing-title-row,
#modalBackdrop.bible-input-form-maximized .doc-writing-details > summary,
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details > summary,
#modalBackdrop.bible-input-form-maximized .doc-writing-details-body > :not([data-doc-bible-fields]),
#modalBackdrop.bible-input-form-maximized #docForm [data-doc-bible-fields] > :not(.doc-writing-input-details) {
  display: none !important;
}

#modalBackdrop.bible-input-form-maximized .doc-writing-details,
#modalBackdrop.bible-input-form-maximized .doc-writing-details-body,
#modalBackdrop.bible-input-form-maximized #docForm [data-doc-bible-fields],
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details,
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details-body,
#modalBackdrop.bible-input-form-maximized .bible-note-input-form-field.is-input-maximized,
#modalBackdrop.bible-input-form-maximized .bible-note-input-field-wrap.is-input-maximized {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-form-maximized .doc-writing-details,
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#modalBackdrop.bible-input-form-maximized .doc-writing-details-body,
#modalBackdrop.bible-input-form-maximized .doc-writing-input-details-body {
  padding: 0 !important;
}

#modalBackdrop.bible-input-form-maximized .bible-note-input-field-wrap.is-input-maximized > textarea:not([hidden]) {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  resize: none !important;
  overflow: auto !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

#modalBackdrop.bible-input-form-maximized .bible-note-input-field-wrap.is-input-maximized > .bible-input-markdown-toolbar:not([hidden]) {
  flex: 0 0 auto !important;
  margin-top: 8px !important;
}

@media (max-width: 760px) {
  #modalBackdrop.bible-input-maximized {
    padding: 0 !important;
    align-items: stretch !important;
    place-items: stretch !important;
  }

  #modalBackdrop.bible-input-maximized .modal,
  #modalBackdrop.bible-input-maximized .modal-card {
    width: 100vw !important;
    height: var(--lifeos-doc-visual-height, 100dvh) !important;
    min-height: var(--lifeos-doc-visual-height, 100dvh) !important;
    max-height: var(--lifeos-doc-visual-height, 100dvh) !important;
    border-radius: 0 !important;
    border: 0 !important;
  }

  #modalBackdrop.bible-input-maximized .modal-body {
    padding: 12px !important;
  }

  /* The footer exists while editing, but appears only while an editable Markdown textarea owns focus. */
  #modalBackdrop.doc-writing-modal .doc-mobile-markdown-footer[hidden],
  #modalBackdrop.bible-input-direct-editing .doc-mobile-markdown-footer[hidden] {
    display: none !important;
  }

  .bible-note-input-preview {
    padding-left: 14px;
    padding-right: 54px;
  }
}


/* Life OS v7.104 - robust edit-mode Bible Input fullscreen portal */
#modalBackdrop.bible-input-form-maximized #docForm.bible-input-portaled {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-form-maximized #docForm.bible-input-portaled > .doc-writing-meta-card {
  display: none !important;
}

#modalBackdrop.bible-input-form-maximized #docForm.bible-input-portaled > .bible-note-input-form-field.is-input-maximized {
  display: flex !important;
  flex: 1 1 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-form-maximized #docForm.bible-input-portaled > .bible-note-input-form-field.is-input-maximized > .bible-note-input-field-wrap.is-input-maximized {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#modalBackdrop.bible-input-form-maximized #docForm.bible-input-portaled > .bible-note-input-form-field.is-input-maximized > .bible-note-input-field-wrap.is-input-maximized > textarea:not([hidden]) {
  display: block !important;
  flex: 1 1 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  resize: none !important;
  overflow: auto !important;
}

#modalBackdrop.bible-input-form-maximized #docForm.bible-input-portaled > .bible-note-input-form-field.is-input-maximized > .bible-note-input-field-wrap.is-input-maximized > .bible-input-markdown-toolbar:not([hidden]) {
  display: flex !important;
  flex: 0 0 auto !important;
  margin-top: 8px !important;
}

/* Life OS v7.105 — predefined subtask popups */
.tasktype-subtasks-editor {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}
.tasktype-subtasks-editor > .card-title-row {
  align-items: flex-start;
  gap: 12px;
}
.tasktype-subtasks-editor h4 {
  margin: 0 0 4px;
}
.tasktype-subtask-template-list {
  display: grid;
  gap: 10px;
}
.tasktype-subtask-template-row {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-card-alt, var(--panel));
}
.tasktype-subtask-template-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
}
.tasktype-subtask-template-head label {
  margin: 0;
  min-width: 0;
}
.tasktype-subtask-popup-details {
  border-top: 1px solid var(--border);
  padding-top: 8px;
}
.tasktype-subtask-popup-details > summary {
  cursor: pointer;
  font-weight: 750;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.tasktype-subtask-popup-details > label {
  margin-top: 10px;
}
.tasktype-subtask-popup-details textarea {
  min-height: 130px;
  font-family: inherit;
}
.subtask-popup-button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 30px;
  height: 30px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-card-alt, var(--panel));
  color: var(--text);
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
  z-index: 2;
}
.subtask-popup-button svg {
  width: 17px;
  height: 17px;
}
.subtask-popup-button:hover {
  border-color: var(--primary);
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 8%, var(--surface-card-alt, var(--panel)));
}
.task-subtasks-card .subtask-row.has-subtask-popup > label,
.task-subtasks-card .subtask-row.has-subtask-popup .subtask-row-actions {
  padding-right: 32px;
}
.subtask-info-popup {
  display: grid;
  gap: 18px;
}
.subtask-info-popup-content {
  min-width: 0;
  max-width: 860px;
  overflow-wrap: anywhere;
}
.subtask-info-popup-content pre,
.subtask-info-popup-content code {
  max-width: 100%;
}
.subtask-info-popup-content pre {
  overflow-x: auto;
}
@media (max-width: 720px) {
  .tasktype-subtasks-editor > .card-title-row,
  .tasktype-subtask-template-head {
    grid-template-columns: 1fr;
    display: grid;
  }
  .tasktype-subtasks-editor > .card-title-row > button,
  .tasktype-subtask-template-head > button {
    justify-self: start;
  }
  .task-subtasks-card .subtask-row.has-subtask-popup > label {
    padding-right: 34px;
  }
  .task-subtasks-card .subtask-row.has-subtask-popup .subtask-row-actions {
    padding-right: 0;
  }
}

/* Life OS v7.106 — Subtask popup controls */
.task-subtasks-card .subtask-popup-button {
  position: static !important;
  top: auto !important;
  right: auto !important;
  flex: 0 0 30px;
  align-self: center;
  margin: 0;
}
.task-subtasks-card .subtask-row.has-subtask-popup > label,
.task-subtasks-card .subtask-row.has-subtask-popup .subtask-row-actions {
  padding-right: 0 !important;
}
.task-subtasks-card .subtask-row-actions .button-row {
  align-items: center !important;
}

.tasktype-subtask-popup-details .tasktype-subtask-markdown-toolbar {
  margin-top: 7px;
  padding: 5px 6px;
  gap: 5px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface-card-alt, var(--panel)) 82%, transparent);
  border-color: color-mix(in srgb, var(--border) 72%, transparent);
}
.tasktype-subtask-popup-details .tasktype-subtask-markdown-toolbar button {
  padding: 4px 7px;
  min-height: 28px;
  font-size: .72rem;
  font-weight: 750;
  border-radius: 999px;
}
@media (max-width: 900px) {
  .tasktype-subtask-popup-details .tasktype-subtask-markdown-toolbar {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .tasktype-subtask-popup-details .tasktype-subtask-markdown-toolbar::-webkit-scrollbar {
    display: none;
  }
  .tasktype-subtask-popup-details .tasktype-subtask-markdown-toolbar button {
    flex: 0 0 auto;
  }
}


/* Life OS v7.107 Project ordering and full-width desktop project Kanban */
.project-group-projects > .project-card-clickable.drag-insert-before {
  box-shadow: inset 4px 0 0 var(--primary), 0 8px 24px rgba(31,41,51,.08);
}

.project-group-projects > .project-card-clickable.drag-insert-after {
  box-shadow: inset -4px 0 0 var(--primary), 0 8px 24px rgba(31,41,51,.08);
}

@media (min-width: 821px) {
  .project-board[data-project-board-id] {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: initial !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    gap: 12px !important;
  }

  .project-board[data-project-board-id] > .project-board-column {
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Life OS v7.112 — Phase 6 Task-Type module configuration */
.tasktype-modules-editor {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 76%, transparent);
}
.tasktype-modules-editor h4 {
  margin: 0 0 4px;
}
.tasktype-modules-editor p {
  margin: 0;
}
.tasktype-module-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}
.tasktype-module-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"switch text";align-items:center;gap:12px;margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-card-alt, var(--panel));cursor:pointer;transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;}
.tasktype-module-toggle:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));}
.tasktype-module-toggle input{position:absolute;opacity:0;pointer-events:none;}
.tasktype-module-toggle-switch{grid-area:switch;position:relative;width:46px;height:26px;border-radius:999px;background:color-mix(in srgb,var(--border) 70%, #fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 75%, transparent);transition:background .16s ease, box-shadow .16s ease;}
.tasktype-module-toggle-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .16s ease;}
.tasktype-module-toggle-text{grid-area:text;display:grid;gap:2px;min-width:0;}
.tasktype-module-toggle-text small{color:var(--muted);line-height:1.35;}
.tasktype-module-toggle.is-enabled{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary-soft) 38%, var(--surface-card-alt, var(--panel)));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 12%, transparent);}
.tasktype-module-toggle.is-enabled .tasktype-module-toggle-switch{background:var(--primary);box-shadow:none;}
.tasktype-module-toggle.is-enabled .tasktype-module-toggle-switch::after{transform:translateX(20px);}
.tasktype-modules-empty {
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--border) 18%, transparent);
}


/* Life OS v7.113 – Network / Contacts */
.network-toolbar{align-items:end}
.network-toolbar .network-result-count{display:grid;gap:2px;min-width:120px;padding:8px 0}
.network-contact-card{cursor:pointer}
.network-contact-lines{display:grid;gap:3px;color:var(--muted);font-size:.84rem;min-width:0}
.network-contact-lines span{overflow-wrap:anywhere}
.network-contact-notes{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.contact-role-fieldset{border:1px solid var(--border);border-radius:16px;padding:14px;margin:0;min-width:0}
.contact-role-fieldset legend{padding:0 6px;color:var(--muted);font-size:.84rem;font-weight:750}
.contact-role-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}
.contact-role-chip{background:var(--primary-soft);color:#24473d;border-color:rgba(49,95,82,.18)}
.contact-info-list{display:grid;gap:8px}
.contact-info-row{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:14px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border)}
.contact-info-row:last-child{border-bottom:0}
.contact-info-row>span{color:var(--muted);font-size:.82rem;font-weight:750}
.contact-info-row>a,.contact-info-row>strong{overflow-wrap:anywhere}
.contact-info-row>a{color:var(--primary);font-weight:750}
.contact-notes-readonly{margin:0;overflow-wrap:anywhere}
@media(max-width:980px){
  .bottom-nav{grid-template-columns:repeat(10,minmax(0,1fr))!important}
  html[data-mobile-nav-icons-only="true"] .bottom-nav{grid-template-columns:repeat(10,minmax(0,1fr))!important}
}
@media(max-width:700px){.contact-role-options{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-info-row{grid-template-columns:1fr;gap:4px}}
@media(max-width:390px){.bottom-nav-item{font-size:.54rem!important}}
:root[data-theme="dark"] .contact-role-chip{background:rgba(49,95,82,.28);color:var(--text)}


/* Life OS v7.114 – Phase 8 Project ↔ Contact relationships */
.project-overview-top-actions{gap:8px;flex-wrap:wrap}
.relationship-summary-list{display:grid;gap:8px}
.relationship-summary-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:14px;padding:11px 12px}
.relationship-summary-row>span:first-child{display:grid;gap:3px;min-width:0}
.relationship-summary-row strong,.relationship-summary-row small{overflow-wrap:anywhere}
.relationship-summary-row small{color:var(--muted)}
.relationship-manager{min-width:0}
.relationship-manager-list{display:grid;gap:9px}
.relationship-manager-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.45fr) auto;gap:10px;align-items:end;border:1px solid var(--border);border-radius:14px;padding:10px;background:#fff}
.relationship-object-button{border:0;background:transparent;color:var(--text);text-align:left;padding:8px;display:grid;gap:3px;min-width:0;border-radius:10px}
.relationship-object-button:hover{background:var(--primary-soft)}
.relationship-object-button strong,.relationship-object-button small{overflow-wrap:anywhere}
.relationship-object-button small{color:var(--muted)}
.relationship-role-control{min-width:0}
.relationship-role-control>span{font-size:.76rem}
.relationship-role-control select{padding:9px 10px;border-radius:11px}
.relationship-add-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.55fr) auto;gap:10px;align-items:end}
@media(max-width:700px){.relationship-manager-row,.relationship-add-form{grid-template-columns:1fr}.relationship-manager-row .ghost-button,.relationship-add-form .secondary-button{width:100%}.relationship-summary-row{align-items:flex-start}}
:root[data-theme="dark"] .relationship-summary-row,:root[data-theme="dark"] .relationship-manager-row{background:rgba(255,255,255,.04)}

/* Life OS v7.115 – Phase 8 polish */
.project-contacts-panel{display:grid;gap:14px;min-width:0}
.project-contacts-panel>.card{min-width:0}

/* Life OS v7.118 – Kontakte & Organisationen */
.relationship-summary-main{display:inline-flex;align-items:flex-start;gap:10px;min-width:0;}
.relationship-entity-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--muted);margin-top:1px;}
.relationship-entity-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.task-related-entities{display:grid;gap:14px;}
.task-related-group{display:grid;gap:8px;}
.task-related-group h4{margin:0;font-size:.94rem;}
.relationship-manager-row-simple{grid-template-columns:minmax(0,1fr) auto;}
.relationship-add-form.simple{grid-template-columns:minmax(0,1fr) auto;}
.network-organization-card{cursor:pointer;}
@media(max-width:700px){.relationship-add-form.simple{grid-template-columns:1fr;}}

/* v7.119 – Organisationen & Kontakte polish */
.relationship-summary-main > span:last-child{display:grid;gap:4px;min-width:0;}
.relationship-summary-main > span:last-child small{display:block;margin-top:1px;}
.project-organizations-contacts-panel{display:grid;gap:14px;}


/* Life OS v7.124 – Phase 14: Doc attachments */
.doc-attachments-card{gap:14px;}
.doc-attachment-list{display:grid;gap:9px;}
.doc-attachment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);}
.doc-attachment-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--primary-soft);color:var(--primary);}
.doc-attachment-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.doc-attachment-info{display:grid;gap:2px;min-width:0;}
.doc-attachment-info strong{overflow-wrap:anywhere;}
.doc-attachment-info small{color:var(--muted);}
.doc-attachment-info p{margin:3px 0 0;color:var(--muted);font-size:.86rem;}
.doc-attachment-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.doc-attachment-add-controls{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap;}
.doc-file-upload-button{cursor:pointer;}
.doc-external-attachment-add{position:relative;}
.doc-external-attachment-add>summary{list-style:none;cursor:pointer;}
.doc-external-attachment-add>summary::-webkit-details-marker{display:none;}
.doc-external-attachment-form{margin-top:10px;width:min(520px,calc(100vw - 72px));display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);}
.doc-inline-attachment-image{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:14px;border:1px solid var(--border);}
.doc-inline-attachment-link{font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.doc-attachment-missing{display:inline-block;padding:2px 6px;border-radius:6px;background:var(--danger-soft);color:var(--danger);font-size:.9em;}
@media(max-width:700px){.doc-attachment-row{grid-template-columns:auto minmax(0,1fr);}.doc-attachment-actions{grid-column:1/-1;justify-content:flex-start;}.doc-attachment-add-controls{display:grid;grid-template-columns:1fr;}.doc-attachment-add-controls>*{width:100%;}.doc-external-attachment-form{width:100%;}.doc-external-attachment-add>summary{width:100%;}}

/* Life OS v7.125 – File UX, destructive delete and Settings > Dateien */
.attachment-trash-button{width:34px;height:34px;min-width:34px;padding:0;border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border));border-radius:10px;background:var(--danger-soft);color:var(--danger);display:inline-grid;place-items:center;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;}
.attachment-trash-button:hover{transform:translateY(-1px);border-color:var(--danger);box-shadow:0 6px 16px color-mix(in srgb,var(--danger) 16%,transparent);}
.attachment-trash-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.file-transfer-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(16,24,40,.42);backdrop-filter:blur(3px);}
.file-transfer-overlay.hidden{display:none;}
.file-transfer-overlay-card{min-width:min(360px,calc(100vw - 40px));max-width:520px;display:grid;justify-items:center;gap:9px;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:0 24px 60px rgba(0,0,0,.24);text-align:center;}
.file-transfer-overlay-card strong{font-size:1rem;}
.file-transfer-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-top-color:var(--primary);animation:life-os-file-spin .8s linear infinite;display:inline-block;}
@keyframes life-os-file-spin{to{transform:rotate(360deg)}}
body.file-transfer-busy{cursor:progress;}
.settings-files-toolbar{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(150px,.7fr));gap:10px;align-items:end;}
.settings-files-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 8px;color:var(--muted);font-size:.84rem;font-weight:750;}
.chip.warning{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 24%,var(--border));}
.settings-files-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:150px;color:var(--muted);font-weight:750;}
.settings-files-list{display:grid;gap:10px;}
.settings-file-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.3fr) auto;gap:16px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:15px;background:var(--panel);}
.settings-file-row.is-missing{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));}
.settings-file-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;min-width:0;}
.settings-file-main>div{display:grid;gap:3px;min-width:0;}
.settings-file-main strong,.settings-file-main small,.settings-file-main code{overflow-wrap:anywhere;}
.settings-file-main small{color:var(--muted);}
.settings-file-main code{font-size:.7rem;color:var(--text-soft,var(--muted));}
.settings-file-references{display:grid;gap:6px;min-width:0;}
.settings-file-references>strong{font-size:.8rem;color:var(--muted);}
.settings-file-reference-list{display:flex;flex-wrap:wrap;gap:6px;}
.settings-file-reference{border:1px solid var(--border);border-radius:11px;background:var(--surface-soft,var(--panel));color:var(--text);padding:7px 9px;display:flex;align-items:center;gap:7px;text-align:left;min-width:0;}
.settings-file-reference:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--primary-soft);}
.settings-file-reference>span:last-child{display:grid;gap:1px;min-width:0;}
.settings-file-reference strong{font-size:.78rem;overflow-wrap:anywhere;}
.settings-file-reference small{font-size:.7rem;color:var(--muted);overflow-wrap:anywhere;}
.settings-file-reference .chip{padding:3px 6px;font-size:.65rem;flex:0 0 auto;}
.settings-file-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end;}
@media(max-width:900px){.settings-files-toolbar{grid-template-columns:1fr 1fr;}.settings-file-row{grid-template-columns:1fr auto;}.settings-file-references{grid-column:1/-1;grid-row:2;}.settings-file-actions{grid-column:2;grid-row:1;}}
@media(max-width:620px){.settings-files-toolbar{grid-template-columns:1fr;}.settings-file-row{grid-template-columns:1fr;}.settings-file-actions,.settings-file-references{grid-column:1;grid-row:auto;justify-content:flex-start;}.settings-file-actions{justify-content:flex-start;}}


/* v7.127 – Phase 16: external attachments */
.doc-external-attachment-form label small,.external-attachment-editor label small{display:block;margin-top:4px;font-size:.75rem;}
.external-attachment-editor{display:grid;gap:12px;}
.external-attachment-shared-note{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,var(--panel));font-size:.84rem;color:var(--muted);}
.settings-files-subtabs{margin-bottom:12px;}
.settings-external-url{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--primary);}
.settings-external-row .settings-file-main>div>span{overflow-wrap:anywhere;}

/* v7.128 – Phase 17: final architecture hardening / release acceptance */


/* v7.129 – Task View: duplicate action */
.task-view-duplicate-button{flex:0 0 auto;}
.task-view-duplicate-button svg,.task-duplicate-button svg{width:18px;height:18px;display:block;}
