/* Fullscreen Shell */
html, body { height: 100%; }

.app-shell { height: 100vh; display: flex; flex-direction: column; }
.app-topbar { height: 56px; flex: 0 0 auto; }
.app-board { flex: 1 1 auto; min-height: 0; }

/* Topbar Search */
.topbar-search { width: min(520px, 70vw); }

/* Email Dropzone */
.email-dropzone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 2px dashed rgba(0,0,0,.22);
  background: rgba(13,110,253,.03);
  color: rgba(0,0,0,.65);
  font-size: 0.86rem;
  user-select: none;
  white-space: nowrap;
}
.email-dropzone.active {
  border-color: rgba(13,110,253,.95);
  background: rgba(13,110,253,.14);
  color: rgba(0,0,0,.85);
}

/* Lanes */
.lanes-row {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 12px 4px 12px 4px;
}

.lane {
  width: min(360px, 90vw);
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 56px - 24px);

  border-left: 2px solid rgba(0,0,0,.14);
  border-right: 2px solid rgba(0,0,0,.14);
  border-bottom: 2px solid rgba(0,0,0,.14);
  border-top: 6px solid transparent;
}

.lane .card-header { border-bottom: 2px solid rgba(0,0,0,.10); background: #fff; }
.lane-header-with-metrics h6 { line-height: 1.05; }

.lane-body {
  overflow-y: auto;
  min-height: 0;
  padding: 10px;
  background-color: #fafafa;
}

/* Collapsed lanes */
.lane-collapsed { width: 52px; min-width: 52px; }
.lane-collapsed .lane-body { display: none; }

.lane-collapsed .card-header {
  height: 100%;
  min-height: 220px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 6px;
}

.lane-collapsed-header {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.lane-collapse-toggle { align-self: center; }

.lane-collapsed-vertical {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;

  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);

  padding: 6px 0;
  margin-top: 4px;
}

.lane-collapsed-title { font-weight: 700; white-space: nowrap; }

.lane-collapsed-tags {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
  flex-wrap: nowrap;
}

/* Lane description */
.lane-desc {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Todos */
.todo {
  cursor: grab;
  user-select: none;
  border: 2px solid rgba(0,0,0,.14);
  font-size: 0.92rem;
}
.todo:active { cursor: grabbing; }
.todo .card-body { padding: 0.5rem 0.6rem; }

.todo-title { line-height: 1.1; }
.todo-title-strong { font-weight: 700; }
.todo-desc { line-height: 1.15; }

/* Inline-Edit hover */
.todo-title[role="button"], .todo-desc[role="button"] {
  border-radius: 6px;
  padding: 2px 4px;
  display: inline-block;
  max-width: 100%;
}
.todo-title[role="button"]:hover, .todo-desc[role="button"]:hover {
  background: rgba(13,110,253,.06);
}

.todo-compact .todo-title, .todo-compact .todo-desc {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* running timer */
.todo-running {
  outline: 2px dashed rgba(255,193,7,.85);
  outline-offset: 2px;
}

/* Entries */
.time-entry {
  padding: 4px 0;
  border-bottom: 1px dashed rgba(0,0,0,.1);
}
.time-entry:last-child { border-bottom: 0; }

.action-entry {
  padding: 4px 0;
  border-bottom: 1px dashed rgba(0,0,0,.08);
}
.action-entry:last-child { border-bottom: 0; }


/* Todo layout: keep action buttons always visible/clickable */
.todo .card-body > .d-flex { min-width: 0; }
.todo-main { flex: 1 1 auto; min-width: 0; }
.todo-actions { flex: 0 0 auto; }


/* Details caret (Zeitstempelungen) */
.details-caret{display:inline-block;transition:transform .15s ease;}
details[open] .details-caret{transform:rotate(90deg);} 
summary{cursor:pointer;}
