/* Seiten-Anordnung Urlaub: nur Layout, Komponenten kommen aus app.css. */

.lv-stats { margin-bottom: var(--s2); }
.lv-bar .group .label { min-width: 64px; }

/* Antraege */
.list > li.lv-req { align-items: flex-start; }
.lv-req .kind-ic, .lv-req .av { margin-top: 2px; }
.lv-right { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s2); }
.lv-acts { display: flex; gap: var(--s2); flex-wrap: wrap; justify-content: flex-end; }
.list > li.lv-hl { background: var(--accent-soft); }
@media (max-width: 520px) {
  .list > li.lv-req { flex-wrap: wrap; }
  .lv-req .lv-right { flex: 1 1 100%; align-items: stretch; padding-left: 48px; }
  .lv-req .lv-right:empty { display: none; }
  .lv-req .lv-acts { justify-content: flex-start; }
  .lv-req .lv-right .st { align-self: flex-start; }
}

/* Antrag-Dialog */
.lv-halves { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); }
.lv-sum { margin-bottom: var(--s5); }

/* Person */
.lv-person { display: flex; align-items: center; gap: var(--s4); margin-bottom: var(--s4); flex-wrap: wrap; }
.lv-person h2 { font-size: var(--fs-xl); }

/* Teamtabelle ab 900px, darunter Liste */
.lv-narrow { display: none; }
@media (max-width: 1023px) { .lv-wide { display: none; } .lv-narrow { display: block; } }
.lv-tbl .c-name { width: auto; }
.lv-tbl .c-n { width: 104px; }
.lv-tbl .c-n2 { width: 112px; }
.lv-who { display: flex; align-items: center; gap: var(--s3); min-width: 0; }
.lv-who .cell-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lv-carry { display: inline-flex; align-items: center; justify-content: flex-end; gap: 2px; margin: -6px -8px -6px 0; }

/* Jahreskalender */
.yr-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); }
table.yr { border-collapse: collapse; font-size: var(--fs-xs); }
.yr th, .yr td { padding: 0; }
.yr th.m { font: 600 11px/1 var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); text-align: left; padding: var(--s2) 0 6px 3px; border-left: 1px solid var(--line); }
.yr .who { position: sticky; left: 0; z-index: 1; background: var(--surface); padding: 6px var(--s3); font-size: var(--fs-sm); white-space: nowrap; font-weight: 500; min-width: 140px; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.yr td.dy { width: 7px; min-width: 7px; height: 26px; border-left: 1px solid color-mix(in srgb, var(--line) 55%, transparent); }
.yr td.dy.m1 { border-left-color: var(--line-2); }
.yr td.dy.we { background: color-mix(in srgb, var(--surface-2) 80%, var(--surface)); }
.yr td.dy.hol { background: var(--surface-3); }
.yr td.dy.a { background: var(--accent-deep); }
.yr td.dy.p { background: var(--accent); }
.yr td.dy.t { box-shadow: inset 0 0 0 1.5px var(--ink); }
.yr tr + tr td { border-top: 1px solid var(--line); }
.yr-legend { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s3); font-size: var(--fs-sm); color: var(--text-2); }
.yr-legend i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; flex: none; border: 1px solid var(--line-2); }
.yr-legend i.a { background: var(--accent-deep); border-color: var(--accent-deep); }
.yr-legend i.p { background: var(--accent); border-color: var(--accent); }
.yr-legend i.hol { background: var(--surface-3); border-color: var(--surface-3); }
.yr-legend i.we { background: var(--surface-2); }
