.v42-kpis .card { text-decoration:none; color:inherit; }
.v42-kpis .stat small { display:block; margin-top:6px; color:var(--muted, #64748b); }
.v42-kpis .stat-alert { border-color:#ef4444; background:#fff7f7; }
.v42-filter-card { margin:18px 0; padding:14px; }
.v42-status-filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.status-filter { display:inline-flex; align-items:center; min-height:36px; padding:7px 12px; border:1px solid #dbe3e8; border-radius:999px; color:#334155; background:#fff; text-decoration:none; font-weight:700; font-size:.86rem; }
.status-filter:hover,.status-filter.active { border-color:#14532d; background:#ecfdf5; color:#14532d; }
.v42-row-actions { display:flex; gap:6px; flex-wrap:wrap; align-items:center; min-width:230px; }
.v42-row-actions form { margin:0; }
.v42-row-actions select { min-width:145px; padding:7px; }
.sales-status-confirmed,.sales-status-preparing,.purchase-status-to_pay { background:#fef3c7; color:#92400e; }
.sales-status-ready,.purchase-status-partially_paid { background:#dbeafe; color:#1d4ed8; }
.sales-status-delivered,.sales-status-invoiced,.purchase-status-paid,.delivery-status-delivered { background:#dcfce7; color:#166534; }
.sales-status-cancelled,.purchase-status-cancelled { background:#e2e8f0; color:#475569; }
.row-danger { background:#fff1f2; }
.v42-payment-form { display:grid; grid-template-columns:minmax(90px,110px) minmax(105px,130px) minmax(100px,1fr) auto; gap:6px; align-items:center; min-width:470px; }
.v42-payment-form input,.v42-payment-form select { min-width:0; padding:7px; }

/* Planning V42 : lecture immédiate d'une journée et colonnes par statut. */
.day-focus-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.day-focus-date { display:flex; align-items:center; gap:10px; }
.day-focus-date h2 { margin:0; font-size:1.25rem; }
.day-nav-button { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; border:1px solid #d9e2e7; background:#fff; color:#163b2d; text-decoration:none; font-size:1.2rem; font-weight:800; }
.day-status-toolbar { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:10px; margin:16px 0 20px; }
.day-status-filter { border:1px solid #dbe3e8; border-radius:14px; background:#fff; color:#334155; text-decoration:none; padding:12px 14px; display:flex; justify-content:space-between; align-items:center; gap:8px; font-weight:800; box-shadow:0 3px 12px rgba(15,23,42,.04); }
.day-status-filter strong { min-width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:#f1f5f9; }
.day-status-filter:hover,.day-status-filter.active { transform:translateY(-1px); border-color:#163b2d; box-shadow:0 6px 18px rgba(15,23,42,.08); }
.day-status-filter.status-booked.active { background:#fffbeb; border-color:#f59e0b; }
.day-status-filter.status-assigned.active { background:#fff1f2; border-color:#ef4444; }
.day-status-filter.status-in_progress.active { background:#eff6ff; border-color:#3b82f6; }
.day-status-filter.status-completed.active { background:#f0fdf4; border-color:#22c55e; }
.daily-status-board { display:grid; grid-template-columns:repeat(4,minmax(250px,1fr)); gap:14px; align-items:start; overflow-x:auto; padding-bottom:10px; }
.daily-status-board.is-filtered { grid-template-columns:minmax(300px,760px); }
.daily-status-column { border:1px solid #dce5e9; border-radius:16px; background:#f8fafc; min-height:180px; overflow:hidden; }
.daily-status-column-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 14px; background:#fff; border-bottom:1px solid #e2e8f0; }
.daily-status-column-head h3 { margin:0; font-size:.98rem; }
.daily-status-column-head strong { min-width:30px; height:30px; display:grid; place-items:center; border-radius:999px; background:#eef2f6; }
.daily-status-column.status-booked .daily-status-column-head { border-top:4px solid #f59e0b; }
.daily-status-column.status-assigned .daily-status-column-head { border-top:4px solid #ef4444; }
.daily-status-column.status-in_progress .daily-status-column-head { border-top:4px solid #3b82f6; }
.daily-status-column.status-completed .daily-status-column-head { border-top:4px solid #22c55e; }
.daily-status-list { display:flex; flex-direction:column; gap:9px; padding:10px; max-height:68vh; overflow-y:auto; }
.daily-task-card { display:block; padding:11px 12px; border-radius:12px; border:1px solid #e2e8f0; background:#fff; color:#172033; text-decoration:none; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.daily-task-card:hover { border-color:#94a3b8; box-shadow:0 6px 16px rgba(15,23,42,.08); }
.daily-task-time { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.daily-task-time strong { font-size:1rem; color:#0f5132; }
.daily-task-time span { font-size:.73rem; color:#64748b; }
.daily-task-card h4 { margin:0 0 6px; font-size:.9rem; line-height:1.25; }
.daily-task-card p { margin:0; font-size:.78rem; color:#64748b; line-height:1.35; }
.daily-task-meta { display:flex; justify-content:space-between; gap:8px; margin-top:8px; padding-top:8px; border-top:1px solid #eef2f6; font-size:.72rem; color:#475569; }
.daily-empty { padding:28px 12px; text-align:center; color:#94a3b8; font-size:.85rem; }
.planning-day-only-note { margin:0; color:#64748b; font-size:.88rem; }

@media (max-width:1200px){.day-status-toolbar{grid-template-columns:repeat(3,1fr)}.daily-status-board{grid-template-columns:repeat(2,minmax(280px,1fr))}}
@media (max-width:760px){.day-status-toolbar{grid-template-columns:repeat(2,1fr)}.daily-status-board,.daily-status-board.is-filtered{grid-template-columns:1fr;overflow:visible}.daily-status-list{max-height:none}.v42-payment-form{min-width:0;grid-template-columns:1fr}.v42-row-actions{min-width:0}}
