/* Page-specific layout. */

/* ---------- Übersicht ---------- */
.dash { display: grid; gap: var(--s-5); grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.dash > .tile--wide { grid-column: 1 / -1; }
.dash > * { min-width: 0; }
.hero-hello { display: none; gap: .1rem; }
.hero-hello p { color: var(--ink-3); font-size: var(--t-xs); font-weight: 500; }
.hero-hello strong { font-family: var(--display); font-size: var(--t-2xl); font-weight: 650; letter-spacing: -.045em; line-height: 1.15; }
.needs .row__title { white-space: normal; }
.needs .row__meta { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
@media (max-width: 30rem) { .needs .row { flex-wrap: wrap; } .needs .row__main { flex-basis: calc(100% - 3rem); } .needs .row__side { width: 100%; justify-content: flex-start; padding-left: 3rem; } }
.today .row { min-height: 3.25rem; }
.today .row--past { opacity: .6; }
@media (max-width: 60rem) { .dash { grid-template-columns: minmax(0, 1fr); } }
/* EINFACH N: Übersicht – Braucht Sie jetzt, Heute und Morgen, Geld, Weiter */
.needs__row--notfall .row__title, .needs__row--fehler .row__title { color: var(--warn-ink); }
.needs__wait { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink-3); font-size: var(--t-sm); text-align: left; }
.needs__more { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); margin-top: var(--s-2); font-size: var(--t-sm); font-weight: 500; }
.needs__more a, .days__week a { display: inline-flex; align-items: center; gap: .2rem; min-height: 2.75rem; text-decoration: none; }
.days { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--s-2) var(--s-5); }
.days__head { display: flex; align-items: baseline; gap: .5rem; font-size: var(--t-base); }
.days__head span { color: var(--ink-3); font-size: var(--t-sm); font-weight: 500; }
.days__none { padding: var(--s-3) 0; color: var(--ink-3); font-size: var(--t-sm); }
.today .row--proposal { color: var(--ink-3); }
.today .row--proposal .row__title { font-weight: 500; }
.days__week { margin-top: var(--s-2); border-top: 1px solid var(--edge); font-size: var(--t-sm); font-weight: 500; }
.money-line { display: grid; gap: var(--s-3); }
.money-line__title { font-size: var(--t-md); }
.onward { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--s-3); }
.onward__link { display: flex; align-items: center; gap: var(--s-3); min-height: 3.5rem; padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: #fff; box-shadow: inset 0 0 0 1px var(--edge); color: inherit; text-decoration: none; }
.onward__link:hover { color: inherit; box-shadow: inset 0 0 0 1px var(--edge-strong); }
.onward__link > span { display: grid; flex: 1; min-width: 0; }
.onward__link small { color: var(--ink-3); font-size: var(--t-xs); }
.onward__link > .icon:first-child { color: var(--brand-ink); }
.onward__link .chev { color: var(--ink-3); }

/* ---------- Freigaben ---------- */
.approvals { display: grid; gap: var(--s-5); }
.approval { display: grid; gap: var(--s-4); padding: var(--s-6); }
.approval__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; color: var(--ink-3); font-size: var(--t-sm); }
.approval__summary { font-size: var(--t-xl); }
.payload { display: grid; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-md); background: var(--well); box-shadow: var(--well-edge); }
.payload > h3 { display: flex; align-items: center; gap: .45rem; font-size: var(--t-sm); }
.payload > h3 .icon { color: var(--ok-ink); }
.payload .kv { font-size: var(--t-base); }
.payload details summary { cursor: pointer; color: var(--ink-3); font-size: var(--t-sm); }
.payload details pre { margin-top: var(--s-2); background: #fff; box-shadow: inset 0 0 0 1px var(--edge); }
.decide { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: var(--s-3); }
.decide > form { display: grid; }
.decide .btn { min-height: 3.5rem; font-size: var(--t-md); }
@media (max-width: 52rem) { .approval { padding: var(--s-4); } .approval__summary { font-size: var(--t-lg); } .decide { grid-template-columns: 1fr; } }

/* ---------- Aufträge ---------- */
.joblist .row { padding-inline: var(--s-4); }
@media (min-width: 52.01rem) {  /* desktop: badges next to the name, two lines per job */
  .joblist .row__main { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: .6rem; }
  .joblist .row__main > .job-line { grid-column: 1 / -1; }
}
.job-head { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.job-actions { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; margin-top: var(--s-4); }
.job-actions > form { display: contents; }
.job-more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--edge); }
details.edit > summary { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; font-weight: 600; color: var(--brand-ink); list-style: none; min-height: 2.5rem; }
details.edit > summary::-webkit-details-marker { display: none; }
details.edit[open] > summary { margin-bottom: var(--s-3); }
.tafel .board { grid-auto-columns: minmax(14rem, 1fr); }
@media (max-width: 52rem) { .tafel .board { grid-auto-columns: 82%; margin-inline: calc(-1 * var(--s-4)); padding-inline: var(--s-4); } }

/* ---------- Kalender ---------- */
.days { display: grid; gap: var(--s-4); }
.day__head { display: flex; align-items: baseline; gap: var(--s-2); margin-bottom: var(--s-2); }
.day__head h2 { font-size: var(--t-lg); }
.day--today { box-shadow: inset 0 0 0 1.5px var(--brand), var(--card); }

/* ---------- Nutzung ---------- */
.meters { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.meter { display: grid; gap: var(--s-3); }
.meter__num { font-family: var(--display); font-size: var(--t-xl); font-weight: 650; letter-spacing: -.04em; line-height: 1.15; }
.meter__num strong { font-size: var(--t-3xl); font-weight: 500; }

/* ---------- Documents (DSGVO prose) ---------- */
.doc { display: grid; gap: var(--s-3); max-width: 52rem; }
.doc h2 { font-size: var(--t-xl); margin-top: var(--s-3); }
.doc h3 { margin-top: var(--s-2); }
.doc h4 { font-size: var(--t-base); }
.doc ul, .doc ol { padding-left: 1.3rem; display: grid; gap: .2rem; }
.doc .note { background: var(--warn-soft); color: var(--warn-ink); }

/* ---------- Schulung ---------- */
.course { display: grid; gap: var(--s-4); }
.course .card h2 { margin-bottom: var(--s-3); }
.course ul.plain { gap: var(--s-2); list-style: disc; padding-left: 1.2rem; }
.course ul.plain ul { margin-top: .2rem; padding-left: 1.2rem; list-style: circle; }
.quiz { display: grid; gap: var(--s-4); }
.quiz .field { gap: .5rem; font-weight: 500; }
.tour video { display: block; width: 100%; border-radius: var(--r-lg); background: #000; box-shadow: var(--shadow); }

/* ---------- Einstellungen ---------- */
.settings { display: grid; gap: var(--s-5); }
.week { display: grid; gap: .1rem; }
.week__day { display: flex; justify-content: space-between; gap: var(--s-3); padding: .45rem 0; border-bottom: 1px solid var(--edge); }
.week__day:last-child { border-bottom: 0; }
.week__day span:last-child { color: var(--ink-2); font-variant-numeric: tabular-nums; }
.week__day--closed span:last-child { color: var(--ink-3); }

/* ---------- Confirm pages ---------- */
.confirm { display: grid; gap: var(--s-4); max-width: 34rem; margin-inline: auto; padding: var(--s-8) var(--s-6); text-align: left; }
.confirm h1 { font-size: var(--t-2xl); }
.confirm--danger { box-shadow: inset 0 0 0 1.5px var(--danger), var(--card); }

/* ---------- Console ---------- */
.clients { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); }
.client { display: grid; gap: var(--s-3); align-content: start; }
.client .card + .card { margin-top: 0; }
.client__head h2 { font-size: var(--t-lg); }
.client__head h2 a { color: inherit; text-decoration: none; }
.client__head h2 a:hover { color: var(--brand-ink); }
.client--killed { box-shadow: inset 0 0 0 1.5px var(--danger), var(--card); }
.client--warn { box-shadow: inset 0 0 0 1.5px var(--warn), var(--card); }
.killswitch { display: grid; gap: var(--s-3); }
.killswitch--on { background: var(--danger-soft); box-shadow: inset 0 0 0 1.5px var(--danger); }
.killswitch .btn--lg { min-height: 3.75rem; font-size: var(--t-lg); }
.failures { margin: .3rem 0 0 1.2rem; color: var(--danger); font-size: var(--t-sm); }
.error-inline { color: var(--danger); }
.form { max-width: 46rem; }

/* EINFACH F: Freigabe cards – sentence, facts, positions, in-place Ändern / Nicht senden, details */
.approval__quote { padding-left: var(--s-3); border-left: 3px solid var(--edge); color: var(--ink-2); }
.approval__facts { font-size: var(--t-base); }
.approval__preview { white-space: pre-line; overflow-wrap: anywhere; }
.approval__lines { display: grid; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.approval__lines li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); }
.approval__line-text { display: grid; min-width: 0; overflow-wrap: anywhere; }
.approval__line-sum { white-space: nowrap; font-variant-numeric: tabular-nums; }
.approval__links .btn { padding-left: .4rem; padding-right: .6rem; }
.approval__waiting { display: flex; align-items: center; gap: .4rem; }
.approval__late { display: grid; gap: var(--s-3); }
.decide { align-items: start; }
.decide > .btn { display: flex; justify-content: center; }
.decide__more > summary { list-style: none; cursor: pointer; width: 100%; justify-content: center; }
.decide__more > summary::-webkit-details-marker { display: none; }
.decide__more[open], .decide__slots { grid-column: 1 / -1; }
.decide__more[open] > summary { width: auto; }
.decide__panel { margin-top: var(--s-3); padding: var(--s-4); border-radius: var(--r-md); background: var(--well); box-shadow: var(--well-edge); }
.decide__slots { margin-top: 0; }
.decide__slots h3 { font-size: var(--t-sm); }
.decide > * { min-width: 0; }
.decide__slots .btn { justify-content: flex-start; width: 100%; min-height: 3rem; font-size: var(--t-base); white-space: normal; text-align: left; }
.approval__tech > summary { cursor: pointer; color: var(--ink-3); font-size: var(--t-sm); }
.approval__tech[open] { display: grid; gap: var(--s-3); }
.approval__tech h4 { margin-top: var(--s-2); font-size: var(--t-sm); color: var(--ink-3); }
.approval__tech .kv { font-size: var(--t-sm); }
@media (max-width: 52rem) {
  .decide { grid-template-columns: 1fr 1fr; }
  .decide > form:first-child, .decide > :last-child:nth-child(even) { grid-column: 1 / -1; }
  .decide .btn { font-size: var(--t-base); }
}

/* EINFACH I: Nachrichten (subject, search, e-mail card, merge), Aufgaben (Sofort zurückrufen), Wartung, Posteingang mail */
.row__lead--danger { background: var(--danger-soft); color: var(--danger-ink); }
.task--sofort { box-shadow: inset 3px 0 0 var(--danger-ink); }
.thread__subject { display: block; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--t-sm); font-weight: 500; }
.inbox__find { display: flex; gap: var(--s-2); align-items: center; min-width: 0; }
.inbox__find select { flex: 0 1 9.5rem; min-width: 0; }
.inbox__find input[type="search"] { flex: 1 1 8rem; min-width: 0; }
.side-list__sofort { color: var(--danger-ink); }
.side-list--mail li { align-items: flex-start; }
.side-list--mail a { overflow-wrap: anywhere; }
.mail-file, .merge-form { margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--edge); }
.mail-original { white-space: pre-wrap; overflow-wrap: anywhere; }
.wartung-how { margin-top: var(--s-2); }
.wartung-how summary { cursor: pointer; color: var(--brand-ink, inherit); }
.wartung-how ul { margin: var(--s-2) 0 0 1.1rem; }

/* EINFACH H: Hilfe & Handem-Team, Ihr Start mit Handem, Team, Ihr Paket (autonomy), Verbindungen, Kalender */
.contact { display: grid; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.contact li { display: flex; align-items: center; gap: var(--s-2); min-height: 2.75rem; }
.contact .icon { flex: none; color: var(--brand-ink); }
.contact a { overflow-wrap: anywhere; }
.checklist { display: grid; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.checklist li { display: flex; align-items: flex-start; gap: var(--s-2); }
.checklist li > .icon { flex: none; margin-top: .15rem; color: var(--ink-3); }
.start__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--s-4) var(--s-6); margin-top: var(--s-4); }
.start__head { margin: 0 0 var(--s-2); font-size: var(--t-base); }
.start__done, .start__contact { margin-top: var(--s-4); padding-top: var(--s-3); border-top: 1px solid var(--edge); }
.start__done summary { cursor: pointer; min-height: 2.75rem; display: flex; align-items: center; color: var(--ink-2); }
.start__done .checklist li > .icon { color: var(--ok-ink); }
.team__person { padding: var(--s-3) 0; border-bottom: 1px solid var(--edge); }
.team__person:last-child { border-bottom: 0; }
.team__line--warn { color: var(--warn-ink); }
.team__line--ok { color: var(--ink-2); }
.team__edit, .team__end { margin-top: var(--s-2); }
.team__edit > summary, .team__end > summary, .vself > summary, .cal-feeds > summary, .autonomy__lower > summary { cursor: pointer; display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--brand-ink); font-weight: 500; }
@media (min-width: 52.01rem) {  /* "Ändern" under the name, not a row of its own */
  .team__person > .row { padding-block: 0; }
  .team__edit, .team__end { margin: 0 0 0 calc(2.25rem + var(--s-3) + var(--s-1)); }
  .team__edit > summary, .team__end > summary { min-height: 2.25rem; font-size: var(--t-sm); }
}
.team__edit > form { margin-top: var(--s-2); padding: var(--s-4); border-radius: var(--r-md); background: var(--well); box-shadow: inset 0 0 0 1px var(--well-edge); }
.team__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin-top: var(--s-2); }
.team__end p { margin: var(--s-2) 0; }
.autonomy > summary { cursor: pointer; list-style: none; }
.autonomy > summary::-webkit-details-marker { display: none; }
.autonomy > summary .card__title { display: inline-flex; margin: 0; }
.autonomy > summary::after { content: "▾"; margin-left: var(--s-2); color: var(--ink-3); }
.autonomy[open] > summary::after { content: "▴"; }
.autonomy__row { flex-wrap: wrap; }
.autonomy__form { display: grid; gap: var(--s-2); margin-top: var(--s-2); }
.autonomy__lower { margin-top: var(--s-2); }
.vteam { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); margin-top: var(--s-3); color: var(--ink-2); font-size: var(--t-sm); }
.vteam a { font-weight: 500; }
.vself { margin-top: var(--s-2); }
.cal-feeds { margin-top: var(--s-3); padding-top: var(--s-2); border-top: 1px solid var(--edge); }
.settings > * { min-width: 0; } /* a wide table scrolls in its card instead of widening the page (Ihr Paket on a phone) */
