﻿/* TODO / Report table */
.table--todos .table__head,
.table--todos .table__row{
  grid-template-columns: 60px 120px 150px minmax(420px, 1.9fr) 170px 220px;
}
.table--todos .table__head > div:nth-child(5),
.table--todos .table__row > div:nth-child(5),
.table--todos .todo-status-cell{
  text-align: center;
  justify-content: center;
}
.table--todos .table__head > div:nth-child(6),
.table--todos .table__row > div:nth-child(6),
.table--todos .todo-actions-cell{
  text-align: right;
  justify-content: flex-end;
}
.table--todos .table__row > div:nth-child(1),
.table--todos .table__row > div:nth-child(2),
.table--todos .table__row > div:nth-child(3),
.table--todos .table__row > div:nth-child(5),
.table--todos .table__row > div:nth-child(6){
  white-space: nowrap;
}
.table--todos .table__row > div:nth-child(4){
  min-width: 0;
}
.table--todos .table__row > div::before{
  content: none;
}
.table--todos .todo-status-cell .input{
  min-width: 130px;
  margin: 0 auto;
}
.table--todos .todo-actions-cell{ align-self: center; }
.table--todos .todo-actions{
  justify-content: flex-end;
  flex-wrap: nowrap;
}
.table--todos .todo-actions .btn{ min-width: 0; }
.table--todos .todo-actions-placeholder{ min-height: 1px; }

/* Reports: Drilldown rows */
.rep-details-row{
  background: #f8fafc;
  align-items: stretch;
}
.rep-details-wrap{ width: 100%; }
.rep-details-head,
.rep-details-rowitem{
  display:grid;
  grid-template-columns: 130px 1fr 120px 120px;
  gap: 10px;
  padding: 8px 0;
  align-items:center;
}
.rep-details-head{
  border-bottom: 1px solid var(--line);
  padding-top: 0;
}
.rep-details-rowitem{
  border-bottom: 1px dashed rgba(15,23,42,.12);
}
.rep-details-sum{
  padding-top: 10px;
  text-align:right;
  color: var(--muted);
}


.pill, .pill *{ cursor: default; }

.todo-textarea{ min-height: 170px; resize: vertical; }
@media (max-width: 820px){
  .table--todos .table__row > div:last-child{ justify-content: space-between; }
  .table--todos .table__row > div:nth-child(1)::before{ content: "#"; }
  .table--todos .table__row > div:nth-child(2)::before{ content: "Datum"; }
  .table--todos .table__row > div:nth-child(3)::before{ content: "Benutzer"; }
  .table--todos .table__row > div:nth-child(4)::before{ content: "Eintrag"; }
  .table--todos .table__row > div:nth-child(5)::before{ content: "Status"; }
  .table--todos .table__row > div:nth-child(6)::before{ content: "Aktionen"; }
  .table--todos .todo-status-cell{ justify-content: space-between; }
  .table--todos .todo-actions-cell{ justify-content: flex-end; }
  .table--todos .todo-actions{ width:auto; justify-content:flex-end; }
}


.assignmentMatrixWrap{ display:block; width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; padding-bottom:8px; overscroll-behavior-x:contain; }
.assignmentMatrix{ width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; table-layout:auto; }
.assignmentMatrixWrap::-webkit-scrollbar{ height:10px; }
.assignmentMatrixWrap::-webkit-scrollbar-thumb{ background:rgba(15,23,42,.18); border-radius:999px; }
.assignmentMatrix th, .assignmentMatrix td{ vertical-align:top; padding:8px; border:1px solid var(--line); background:#fff; }
.assignmentMatrix th{ position:sticky; top:0; background:#f8fafc; z-index:1; text-align:left; font-size:13px; }
.assignmentMatrix__user{ min-width:150px; width:150px; }
.assignmentMatrix__userCell{ position:sticky; left:0; z-index:1; background:#f8fafc !important; }
.assignmentMatrix__userName{ font-weight:800; line-height:1.2; }
.assignmentMatrix__empty{ color:var(--muted); text-align:center; padding:12px 0; }
.assignChip{ min-width:0; max-width:150px; box-shadow:none; }
.assignChip + .assignChip{ margin-top:8px; }
.assignChip__time{ font-weight:800; }
.assignChip__project{ margin-top:4px; font-size:13px; }
.assignChip__note{ margin-top:4px; color:var(--muted); font-size:12px; }
.assignmentMobileList{ display:none; }
@media (max-width: 960px){
  .assignmentMatrixWrap{ display:none; }
  .assignmentMobileList{ display:block; }
}

.topbarNotif{ position:relative; }
.notifBadge{ position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#dc2626; color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center; font-weight:800; }
.notifMenu{ position:absolute; right:0; top:calc(100% + 8px); width:min(420px, 92vw); max-height:70vh; overflow:auto; padding:12px; border-radius:18px; border:1px solid var(--line); background:#fff; box-shadow:0 24px 70px rgba(2,6,23,.16); z-index:30; }
.notifMenu__hdr{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:10px; }
.notifMenu__actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  flex-wrap:nowrap;
}
.notifMenu__action{
  min-height:30px;
  height:30px;
  padding:4px 10px;
  border-radius:9px;
  font-size:12px;
  font-weight:700;
  box-shadow:none;
}
.notifMenu__action:hover{
  box-shadow:none;
}
.notifList{ display:flex; flex-direction:column; gap:10px; }
.notifItemRow{ display:flex; align-items:stretch; gap:8px; border:1px solid var(--line); border-radius:14px; padding:8px; background:#fff; }
.notifItemRow.is-unread{ background:#eef4ff; border-color:rgba(11,91,211,.16); }
.notifItem{ flex:1 1 auto; min-width:0; border:0; border-radius:10px; padding:2px 4px; background:transparent; }
.notifItem__title{ font-weight:800; }
.notifItem__meta{ font-size:12px; color:var(--muted); margin-top:4px; }

@media (max-width: 900px), (hover: none) and (pointer: coarse){
  .notifMenu{
    position: fixed;
    left: calc(10px + env(safe-area-inset-left, 0px));
    right: calc(10px + env(safe-area-inset-right, 0px));
    top: calc(64px + env(safe-area-inset-top, 0px));
    width: auto;
    max-width: none;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 88px);
    border-radius: 16px;
    z-index: 90;
  }
  .notifMenu__hdr{
    align-items:flex-start;
  }
  .notifMenu__actions{
    justify-content:flex-start;
  }
}
.notifItem__msg{ margin-top:6px; font-size:14px; }
.notifDeleteBtn{ flex:0 0 auto; align-self:flex-start; width:34px; height:34px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); display:flex; align-items:center; justify-content:center; }
.notifDeleteBtn:hover{ color:var(--text); border-color:var(--line-strong, var(--line)); }


