/* ------------------------------------------------------------------ *
 *  Lycos Exploitation — styles personnalisés
 * ------------------------------------------------------------------ */

:root { --lycos: #0ea5e9; }

html, body { -webkit-text-size-adjust: 100%; }
body { font-family: ui-sans-serif, system-ui, sans-serif; }

/* Barre de navigation scrollable sur petit écran */
.tp-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.tp-nav::-webkit-scrollbar { display: none; }

/* Mode tablette / tactile : cibles plus grandes, pas de zoom auto iOS */
@media (hover: none) and (pointer: coarse) {
  .tp-app button, .tp-app select { min-height: 38px; }
  .tp-app input[type="text"], .tp-app input[type="number"], .tp-app input[type="date"],
  .tp-app input[type="email"], .tp-app input[type="time"], .tp-app input[type="password"],
  .tp-app select, .tp-app textarea { font-size: 16px !important; }
}

/* Champs de formulaire (équivalent inputCls React) */
.fld {
  width: 100%; border-radius: 0.5rem; border: 1px solid #cbd5e1;
  padding: 0.5rem 0.75rem; font-size: 0.875rem; outline: none; background: #fff;
}
.fld:focus { border-color: var(--lycos); box-shadow: 0 0 0 1px var(--lycos); }

/* Cellule de planning */
.cell-empty { min-height: 36px; border: 1px dashed #e2e8f0; border-radius: 0.375rem; transition: .15s; }
.cell-empty:hover { border-color: var(--lycos); background: #f0f9ff; }
.dragging { opacity: .5; }

/* Animation discrète des toasts */
@keyframes toastIn { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
.toast { animation: toastIn .18s ease-out; }

/* Spinner de chargement */
.spinner { width: 28px; height: 28px; border: 3px solid #e2e8f0; border-top-color: var(--lycos); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Impression : on masque l'application, on n'imprime que la zone dédiée */
@media print {
  body * { visibility: hidden; }
  #print-area, #print-area * { visibility: visible; }
  #print-area { position: absolute; left: 0; top: 0; width: 100%; padding: 0; }
  .no-print { display: none !important; }
}
#print-area { display: none; }
body.printing #print-area { display: block; }

/* Petites barres de défilement internes */
.thin-scroll::-webkit-scrollbar { width: 8px; height: 8px; }
.thin-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
