/* Administration : contrats horaires */

/* Contrats */
.contract-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.contract { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.contract.inactive { opacity: .6; }
.c-head { display: flex; justify-content: space-between; align-items: flex-start; }
.c-big strong { font-size: 26px; font-weight: 700; margin-right: 8px; }
.c-big span { color: var(--muted); font-size: 13px; }
.c-days { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.c-days li { display: grid; grid-template-columns: 40px 1fr auto; gap: 8px; padding: 4px 0; border-top: 1px dashed var(--border); font-variant-numeric: tabular-nums; }
.c-days li.off { color: var(--muted); }
.cdays { display: flex; flex-direction: column; gap: 6px; }
.cday { display: grid; grid-template-columns: 90px 1fr 1fr 56px; gap: 10px; align-items: center; }
.cday-name { font-weight: 600; }
.cday-total { text-align: right; font-variant-numeric: tabular-nums; color: var(--primary); }
.cday input { padding: 6px 8px; }
.roles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0; padding: 16px 20px; border-top: 1px solid var(--border); }
.roles dt { font-weight: 650; }
.roles dd { margin: 2px 0 0; color: var(--muted); font-size: 13px; }

@media (max-width: 1180px) {
  .dash { grid-template-columns: 1fr; }
  .sheet-head { display: none; }
  .sheet-row.day {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "date worked delta" "s0 s1 s2" "abs abs act";
    padding: 10px 16px; row-gap: 6px;
  }
  .day .d-date { grid-area: date; flex-direction: row; gap: 10px; align-items: baseline; }
  .day .slot:nth-of-type(2) { grid-area: s0; }
  .day .slot:nth-of-type(3) { grid-area: s1; }
  .day .slot:nth-of-type(4) { grid-area: s2; }
  .day .abs { grid-area: abs; }
  .day .c-worked { grid-area: worked; }
  .day .c-delta { grid-area: delta; }
  .day .d-act { grid-area: act; }
  .day.off:not(.filled) .slot, .day.off:not(.filled) .abs { display: none; }
}
@media (max-width: 640px) {
  .sheet-row.day {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "date delta" "s0 s0" "s1 s1" "s2 s2" "abs abs" "worked act";
  }
  .day .c-worked { text-align: left; }
  .week-row { flex-wrap: wrap; gap: 10px; }
  .bars li { grid-template-columns: 100px 1fr 60px; }
  .review-list { grid-template-columns: 1fr; }
  .cday { grid-template-columns: 1fr 1fr; }
  .cday-name { grid-column: 1 / -1; }
}
