/* L'onglet « Temps » (static/temps.js). Autonome : il s'affiche dans SofIA et
   dans la Comptabilité, qui n'ont pas la même feuille de style.

   Chaque règle part de `.tps-racine` et nomme sa classe : la comptabilité
   embarque une remise à zéro qui vise `[type=button]`, de même poids qu'une
   simple classe, et un bouton s'y affichait sans fond. */
.tps-racine { font-family: Inter, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 13.5px; color: #1e293b; line-height: 1.45; max-width: 1100px; margin: 0 auto; }
.tps-racine * { box-sizing: border-box; }

.tps-racine .tps-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.tps-racine .tps-chiffre { background: #fff; border: 1px solid #e6e8ec; border-radius: 13px; padding: 14px 18px; }
.tps-racine .tps-quoi { font-size: 11px; color: #64748b; text-transform: uppercase; letter-spacing: .6px; font-weight: 600; }
.tps-racine .tps-valeur { font-size: 24px; font-weight: 700; letter-spacing: -.5px; margin-top: 4px;
  font-variant-numeric: tabular-nums; color: #0f172a; }

.tps-racine .tps-carte { background: #fff; border: 1px solid #e6e8ec; border-radius: 13px; margin-bottom: 16px; overflow: hidden; }
.tps-racine .tps-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;
  flex-wrap: wrap; padding: 14px 18px; border-bottom: 1px solid #f1f5f9; }
.tps-racine .tps-tete b { font-size: 15px; font-weight: 600; color: #0f172a; }
.tps-racine .tps-sous { font-size: 12.5px; color: #64748b; margin-top: 3px; }
.tps-racine .tps-lien { font-size: 12.5px; color: #4f46e5; text-decoration: underline; white-space: nowrap; }

.tps-racine .tps-form { display: grid; gap: 12px 14px; padding: 16px 18px;
  grid-template-columns: minmax(180px, 2fr) 150px 120px minmax(190px, 1.4fr); align-items: start; }
.tps-racine .tps-form label { display: block; margin: 0; }
.tps-racine .tps-form label > span { display: block; font-size: 11.5px; font-weight: 600; color: #64748b; margin-bottom: 4px; }
.tps-racine .tps-large { grid-column: 1 / -1; }
.tps-racine .tps-form input:not([type=checkbox]), .tps-racine .tps-form select { width: 100%;
  border: 1px solid #dfe3e8; border-radius: 9px; padding: 8px 10px; font: inherit; color: inherit;
  background-color: #fff; min-height: 38px; }
.tps-racine .tps-form input:focus, .tps-racine .tps-form select:focus { outline: none; border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, .16); }
.tps-racine .tps-form input.tps-faux { border-color: #f87171; background-color: #fef2f2; }
.tps-racine .tps-lue { font-size: 11.5px; color: #4f46e5; min-height: 16px; margin-top: 4px; }
.tps-racine .tps-lue.tps-fausse { color: #b91c1c; }
.tps-racine .tps-aide { font-size: 11.5px; color: #94a3b8; margin-top: 4px; }
.tps-racine .tps-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tps-racine .tps-form label.tps-case { display: flex; align-items: center; gap: 8px; cursor: pointer; margin-right: auto; }
.tps-racine .tps-form label.tps-case > span { margin: 0; font-size: 13px; font-weight: 500; color: #334155; }
.tps-racine .tps-ok { font-size: 12px; color: #15803d; }
.tps-racine .tps-valider, .tps-racine .tps-discret { border: 0; border-radius: 8px; padding: 9px 18px;
  font: inherit; font-weight: 600; cursor: pointer; }
.tps-racine .tps-valider { background: #4f46e5; color: #fff; }
.tps-racine .tps-valider:disabled { opacity: .45; cursor: default; }
.tps-racine .tps-discret { background: #f1f5f9; color: #334155; }

.tps-racine .tps-erreur { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; border-radius: 9px;
  padding: 9px 12px; font-size: 12.5px; margin: 0 0 12px; }
.tps-racine .tps-carte > .tps-erreur { margin: 14px 18px 0; }
.tps-racine .tps-vide { color: #94a3b8; font-size: 13px; padding: 28px 18px; text-align: center; }

.tps-racine .tps-table { width: 100%; border-collapse: collapse; }
.tps-racine .tps-table th { text-align: left; padding: 9px 14px; font-size: 10.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .6px; color: #94a3b8; background: #fafbfc; border-bottom: 1px solid #f1f5f9; }
.tps-racine .tps-table td { padding: 10px 14px; border-bottom: 1px solid #f6f7f9; vertical-align: middle; }
.tps-racine .tps-table tr:last-child td { border-bottom: 0; }
.tps-racine .tps-table .tps-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tps-racine .tps-jour { color: #64748b; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tps-racine .tps-client { font-weight: 600; }
.tps-racine .tps-desc { font-size: 12px; color: #64748b; margin-top: 2px; }
.tps-racine .tps-gris { color: #64748b; }
.tps-racine .tps-etat { font-size: 10.5px; font-weight: 600; padding: 2px 9px; border-radius: 20px; white-space: nowrap; }
.tps-racine .tps-a_facturer { background: #e0e7ff; color: #3730a3; }
.tps-racine .tps-en_brouillon { background: #fef3c7; color: #92400e; }
.tps-racine .tps-facture { background: #dcfce7; color: #166534; }
.tps-racine .tps-non_facturable { background: #f1f5f9; color: #64748b; }
.tps-racine .tps-gestes { text-align: right; white-space: nowrap; }
.tps-racine .tps-gestes button { border: 0; background: none; font: inherit; font-size: 12px; color: #64748b;
  cursor: pointer; padding: 3px 7px; border-radius: 6px; }
.tps-racine .tps-gestes button:hover { background: #f1f5f9; color: #0f172a; }

@media (max-width: 820px) {
  .tps-racine .tps-form { grid-template-columns: 1fr 1fr; }
  .tps-racine .tps-c-client, .tps-racine .tps-c-grade { grid-column: 1 / -1; }
  .tps-racine .tps-chiffres { grid-template-columns: 1fr; }
  .tps-racine .tps-facultatif { display: none; }
}
