/*
 * Bureau — détail d'un cours : source canonique unique.
 * Le repère est défini au niveau du cartouche cours, puis réutilisé par
 * l'entête financier, chaque participant et le total.
 * Colonnes : retour | nom | pack | paiement | statut | actions | 6 finances.
 * Aucune priorité forcée : les anciens propriétaires sont supprimés physiquement.
 */
@media (min-width:1051px){
  .desktop-presence-children{display:none;width:100%;min-width:0;background:#fcfaf7}
  .desktop-course-node.open>.desktop-presence-children{display:block}
  .desktop-pointage-node>.desktop-presence-children{display:block}

  .desktop-pointage-presence-row,
  .desktop-history-presence-row,
  .desktop-reservation-presence-row{
    min-height:46px;padding-top:5px;padding-bottom:5px;background:#fffdfa;
    border-top:0;border-bottom:1px solid #e7ded4;font-size:13px;
  }

  .desktop-history-finance-head{
    padding-top:6px;padding-bottom:6px;border-top:1px solid #e9e1d8;border-bottom:1px solid #e9e1d8;
    background:#f5efe7;color:var(--muted);font-size:12px;font-weight:850;text-align:right;
  }
  .desktop-history-finance-total{
    padding-top:7px;padding-bottom:7px;border-top:1px solid #ddd4ca;background:#fffdfa;
    text-align:right;font-variant-numeric:tabular-nums;
  }
  .desktop-history-finance-total strong{font-size:14px;font-weight:850;white-space:nowrap;color:var(--ink)}
  .desktop-history-finance-total .positive,.desktop-money-cell.positive{color:#2f7438}
  .desktop-history-finance-total .negative,.desktop-money-cell.negative{color:#b23f3f}
  .desktop-detail-prefinance{
    grid-column:1 / 8;
    grid-row:1;
    display:grid;
    grid-template-columns:32px minmax(210px,1.15fr) minmax(150px,.72fr) 84px 126px 168px;
    column-gap:7px;
    align-items:center;
    width:100%;
    min-width:0;
  }

  .desktop-pointage-reset-slot{grid-column:1;grid-row:1}
  .desktop-detail-prefinance>.desktop-pointage-reset{
    grid-column:1;grid-row:1;position:static;justify-self:center;align-self:center;
    width:30px;height:30px;margin:0;padding:0;border:1px solid #3478bd;border-radius:50%;
    background:#dce9f6;color:#3478bd;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
    transform:translateX(-31px);
  }
  .desktop-detail-prefinance>.desktop-pointage-reset:hover{background:#d1e2f3}
  .desktop-pointage-reset svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

  .desktop-detail-prefinance>.desktop-name-with-alert{
    grid-column:2;grid-row:1;justify-self:start;min-width:0;width:calc(100% + 31px);display:flex;
    margin-left:-31px;
    align-items:center;justify-content:flex-start;gap:8px;white-space:nowrap;overflow:hidden;
    text-overflow:ellipsis;text-align:left;
  }
  .desktop-presence-name{
    min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-size:15px;font-weight:700;line-height:1.2;text-align:left;
  }
  .desktop-detail-prefinance>.desktop-presence-card{
    grid-column:3;grid-row:1;justify-self:start;align-self:center;width:auto;max-width:100%;
    margin:0;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;
  }
  .desktop-payment-slot{grid-column:4;grid-row:1;justify-self:stretch;align-self:center;text-align:center}
  .desktop-payment-slot>.desktop-payment-mnemonic{margin:0;white-space:nowrap}

  .desktop-detail-prefinance>.desktop-presence-status-col{
    grid-column:5;grid-row:1;justify-self:start;align-self:center;width:100%;min-width:0;
    margin:0;padding:0;display:flex;align-items:center;justify-content:flex-start;text-align:left;
  }
  .desktop-presence-status,
  .desktop-payment-mnemonic{
    margin:0;padding:3px 8px;border:0;border-radius:999px;box-shadow:none;
    font:inherit;font-size:11px;line-height:1.2;font-weight:850;white-space:nowrap;
  }
  .desktop-presence-status{background:#ece8e2}
  .desktop-payment-mnemonic{display:inline-flex;align-items:center;justify-content:center}
  button.desktop-payment-mnemonic{appearance:none;-webkit-appearance:none;cursor:pointer}
  .desktop-payment-mnemonic.paid{background:#e1f0e3;color:#2f7438}
  .desktop-payment-mnemonic.unpaid{background:#f7e0e0;color:#a23f3f}
  .desktop-presence-status.status-present{background:#e1f0e3;color:#2f7438}
  .desktop-presence-status.status-excused{background:#fff0d7;color:#a96805}
  .desktop-presence-status.status-paid{background:#f7e0e0;color:#a23f3f}
  .desktop-presence-status.status-reserved{background:#e8edf8;color:#3d65a2}

  .desktop-detail-prefinance>.desktop-presence-control-col{
    grid-column:6;grid-row:1;width:100%;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;
  }
  .desktop-pointage-actions,.desktop-reservation-delete-actions{
    width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:center;justify-items:center;
  }
  .desktop-pointage-action{
    width:100%;min-width:0;height:44px;padding:0;border:1px solid;border-radius:10px;
    display:inline-flex;align-items:center;justify-content:center;font-size:0;line-height:0;cursor:pointer;
  }
  .desktop-pointage-action .ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
  .desktop-pointage-action .ico svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
  .desktop-pointage-action.present{background:#edf6ee;border-color:#b7d4bc;color:#2f7d3c}
  .desktop-pointage-action.excused{background:#fff4df;border-color:#e2c184;color:#b36b00}
  .desktop-pointage-action.paid{background:#fff0f0;border-color:#dda6a6;color:#a33d3d}

  .desktop-pointage-delete-left{
    width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #b94444;border-radius:50%;
    background:#f8dddd;color:#b94444;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  }
  .desktop-pointage-delete-left:hover{background:#f3d0d0}
  .desktop-pointage-delete-left svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round}

  /* V3.123 — synthèse hebdomadaire : sémantique financière canonique. */
  .desktop-week-course-summary-row .desktop-money-cell.finance-unpaid.negative,
  .desktop-week-finance-total .desktop-finance-total-group > strong.negative{color:#b23f3f}
  .desktop-week-course-summary-row .desktop-money-cell.finance-profit.positive,
  .desktop-week-finance-total .desktop-finance-total-group > strong.positive{color:#2f7438}
  .desktop-week-course-summary-row .desktop-money-cell.finance-profit.negative{color:#b23f3f}

  /* V3.128 — total hebdomadaire : mêmes couleurs sémantiques que les lignes. */
  .desktop-week-finance-total > .desktop-finance-object.desktop-finance-total-group.desktop-week-finance-object > strong.finance-unpaid-total.negative{color:#b23f3f}
  .desktop-week-finance-total > .desktop-finance-object.desktop-finance-total-group.desktop-week-finance-object > strong.finance-profit-total.positive{color:#2f7438}
  .desktop-week-finance-total > .desktop-finance-object.desktop-finance-total-group.desktop-week-finance-object > strong.finance-profit-total.negative{color:#b23f3f}

  /* V3.129 — Encaisser est une action distincte du mnémonique Payé/Non payé. */

}
