/* ═══════════════════════════════════════════════════════════════
   RDV Gestion Mobile — CSS
   ═══════════════════════════════════════════════════════════════ */
:root{--g-blue:#1a56db;--g-green:#16a34a;--g-red:#dc2626;--g-orange:#d97706;--g-bg:#f1f5f9;--g-card:#fff;--g-border:#e2e8f0;--g-text:#1e293b;--g-muted:#64748b;--g-radius:12px}
*{box-sizing:border-box;margin:0;padding:0}

#rdvg-app{font-family:-apple-system,'Segoe UI',sans-serif;background:var(--g-bg);min-height:100vh;color:var(--g-text);max-width:640px;margin:0 auto;padding-bottom:32px}

/* Header */
.rdvg-header{background:linear-gradient(135deg,var(--g-blue),#1040a6);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rdvg-header-left{display:flex;align-items:center;gap:10px}
.rdvg-header-left strong{display:block;font-size:.95rem}
.rdvg-header-left small{font-size:.75rem;opacity:.8}
.rdvg-chips{display:flex;gap:6px;flex-shrink:0}
.rdvg-chip{padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;white-space:nowrap}
.rdvg-chip-orange{background:rgba(251,191,36,.2);color:#fbbf24}
.rdvg-chip-green{background:rgba(52,211,153,.2);color:#34d399}

/* Filtres */
.rdvg-filters{display:flex;gap:5px;padding:10px 12px;overflow-x:auto;scrollbar-width:none;background:var(--g-card);border-bottom:1px solid var(--g-border)}
.rdvg-filters::-webkit-scrollbar{display:none}
.rdvg-filter-pill{white-space:nowrap;padding:6px 13px;border-radius:20px;font-size:.74rem;font-weight:600;color:var(--g-muted);background:var(--g-bg);border:1.5px solid var(--g-border);text-decoration:none;transition:all .2s}
.rdvg-filter-active{background:var(--g-blue);color:#fff;border-color:var(--g-blue)}

/* Recherche */
.rdvg-search-form{padding:8px 12px;background:var(--g-card);border-bottom:1px solid var(--g-border)}
.rdvg-search-input{width:100%;padding:9px 13px;border:1.5px solid var(--g-border);border-radius:8px;font-size:.9rem;font-family:inherit;outline:none}
.rdvg-search-input:focus{border-color:var(--g-blue)}

/* Liste */
#rdvg-list{padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.rdvg-empty{text-align:center;padding:40px 20px;color:var(--g-muted)}

/* Carte */
.rdvg-card{background:var(--g-card);border-radius:var(--g-radius);box-shadow:0 1px 4px rgba(0,0,0,.08);overflow:hidden;border-left:4px solid var(--g-border)}
.rdvg-card-pending{border-left-color:var(--g-orange)}
.rdvg-card-confirmed{border-left-color:var(--g-green)}
.rdvg-card-cancelled{border-left-color:var(--g-red);opacity:.7}
.rdvg-past{opacity:.75}

.rdvg-card-top{display:flex;justify-content:space-between;align-items:center;padding:9px 12px 5px;gap:8px;flex-wrap:wrap}
.rdvg-ref{font-size:.7rem;color:var(--g-muted);white-space:nowrap}

/* Badges */
.rdvg-badge{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
.rdvg-badge-blue{background:#eff6ff;color:#1d4ed8}
.rdvg-badge-red{background:#fef2f2;color:#dc2626}
.rdvg-badge-orange{background:#fff7ed;color:#c2410c}
.rdvg-s-pending{background:#fef3c7;color:#92400e}
.rdvg-s-confirmed{background:#dcfce7;color:#166534}
.rdvg-s-cancelled{background:#fee2e2;color:#991b1b}

/* Corps carte */
.rdvg-card-body{display:flex;gap:10px;padding:0 12px 8px}
.rdvg-date-col{flex-shrink:0;text-align:center;background:var(--g-bg);border-radius:8px;padding:8px 10px;min-width:46px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rdvg-date-num{font-size:1.4rem;font-weight:800;color:var(--g-blue);line-height:1}
.rdvg-date-sub{font-size:.65rem;color:var(--g-muted)}
.rdvg-info-col{flex:1;min-width:0}
.rdvg-client-name{font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}
.rdvg-phone{display:block;font-size:.85rem;font-weight:700;color:var(--g-blue);text-decoration:none;margin-bottom:2px}
.rdvg-address,.rdvg-prestation,.rdvg-slot{font-size:.74rem;color:var(--g-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}

/* Créneaux multiples */
.rdvg-multi-slots{padding:6px 12px 4px;border-top:1px solid var(--g-border);background:#f8fffe}
.rdvg-btn-pick{padding:4px 10px;background:#e0fdf4;border:1.5px solid #6ee7b7;border-radius:6px;font-size:.73rem;font-weight:600;color:#065f46;cursor:pointer;transition:all .15s}
.rdvg-btn-pick:hover{background:#16a34a;border-color:#16a34a;color:#fff}

/* Disponibilités */
.rdvg-avail-summary{padding:6px 12px 4px;border-top:1px solid var(--g-border);background:#f8faff}

/* Message */
.rdvg-msg{padding:6px 12px;border-top:1px solid var(--g-border);font-size:.74rem;color:var(--g-muted);font-style:italic}

/* Actions */
.rdvg-actions{display:flex;gap:5px;padding:8px 12px;flex-wrap:wrap}
.rdvg-btn{padding:9px 13px;border:none;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;flex:1;min-width:70px;text-align:center}
.rdvg-btn-confirm{background:var(--g-green);color:#fff}
.rdvg-btn-confirm:hover{filter:brightness(1.08)}
.rdvg-btn-confirm:disabled{opacity:.5;cursor:not-allowed}
.rdvg-btn-date{background:#f0f4ff;color:var(--g-blue)}
.rdvg-btn-date:hover{background:#dbeafe}
.rdvg-btn-cancel{background:#fff1f1;color:var(--g-red)}
.rdvg-btn-cancel:hover{background:#fee2e2}

/* Modal */
#rdvg-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:flex-end;justify-content:center}
@media(min-width:480px){#rdvg-modal{align-items:center}}
.rdvg-modal-box{background:var(--g-card);border-radius:var(--g-radius) var(--g-radius) 0 0;padding:22px;width:100%;max-width:440px}
@media(min-width:480px){.rdvg-modal-box{border-radius:var(--g-radius)}}
.rdvg-modal-box h3{margin:0 0 10px;font-size:1rem}
.rdvg-modal-note{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 11px;font-size:.78rem;color:#92400e;margin-bottom:12px}
.rdvg-modal-field{margin-bottom:12px}
.rdvg-modal-field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:5px;color:var(--g-muted)}
.rdvg-modal-field input,.rdvg-modal-field select{width:100%;padding:9px 12px;border:1.5px solid var(--g-border);border-radius:8px;font-size:.9rem;font-family:inherit;outline:none}
.rdvg-modal-field input:focus,.rdvg-modal-field select:focus{border-color:var(--g-blue)}
.rdvg-modal-actions{display:flex;gap:8px;margin-top:14px}
.rdvg-modal-actions .rdvg-btn{flex:1}

/* Toast */
#rdvg-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:12px 22px;border-radius:8px;font-size:.85rem;z-index:99999;box-shadow:0 4px 16px rgba(0,0,0,.25);white-space:nowrap}
