<% layout('layouts/main') %>
<% const adminBase = typeof adminBaseUrl !== 'undefined' ? adminBaseUrl : '/admin'; %>
<div class="app-shell">
  <%- partial('partials/admin-nav') %>
  <section class="content">
    <div class="page-head compact-page-head">
      <div><p class="eyebrow">Finance</p><h1>Factures</h1><p class="muted">Création, QR-factures, paiements, relances et exports.</p></div>
      <div class="actions">
        <a class="button" href="<%= adminBase %>/factures/nouvelle">Créer facture</a>
        <a class="button secondary" href="<%= adminBase %>/factures.csv">Export CSV</a>
        <a class="button secondary" href="<%= adminBase %>/comptabilite/transactions">CAMT</a>
      </div>
    </div>
    <form class="panel search-panel form-grid two" method="get">
      <label>Recherche<input name="q" value="<%= filters.q || '' %>" placeholder="Numéro, client, prestation"></label>
      <label>Statut<select name="status">
        <option value="">Tous les statuts</option>
        <% ['brouillon','envoyee','partiellement_payee','payee','en_retard','annulee'].forEach(s => { %>
          <option value="<%= s %>" <%= filters.status===s?'selected':'' %>><%= ui.label(s) %></option>
        <% }) %>
      </select></label>
      <button>Filtrer</button>
    </form>
    <div class="mobile-list compact-admin-list">
      <% invoices.forEach(i=>{ %>
        <article class="list-card compact-record">
          <div class="list-card-head"><div><a href="<%= adminBase %>/factures/<%= i.id %>"><strong><%= i.invoice_number %></strong></a><span><%= i.first_name %> <%= i.last_name %></span></div><span class="badge"><%= ui.label(i.status) %></span></div>
          <p class="compact-meta"><%= ui.money(i.total) %> · payé <%= ui.money(i.paid_amount) %> · échéance <%= ui.date(i.due_date) %></p>
          <div class="actions inline-actions">
            <a class="button secondary small" href="<%= adminBase %>/factures/<%= i.id %>">Éditer</a>
            <a class="button secondary small" href="/invoices/<%= i.id %>/pdf">PDF</a>
            <form method="post" action="<%= adminBase %>/factures/<%= i.id %>/envoyer"><input type="hidden" name="_csrf" value="<%= csrfToken %>"><button class="secondary">Envoyer</button></form>
          </div>
          <details class="compact-payment manual-payment-drawer">
            <summary>
              <span>Saisir un paiement manuel</span>
              <small>À utiliser seulement si le rapprochement CAMT ne l’a pas détecté.</small>
            </summary>
            <form method="post" action="<%= adminBase %>/factures/<%= i.id %>/paiement" class="payment-form manual-payment-form">
              <input type="hidden" name="_csrf" value="<%= csrfToken %>">
              <label>Montant CHF<input name="amount" inputmode="decimal" placeholder="Ex. 250.00"></label>
              <label>Date<input type="date" name="paid_at"></label>
              <label>Méthode<input name="method" placeholder="Virement, cash, carte..."></label>
              <label>Note<input name="note" placeholder="Référence ou commentaire interne"></label>
              <button>Enregistrer le paiement manuel</button>
            </form>
          </details>
        </article>
      <% }) %>
    </div>
      <% if (!invoices.length) { %><div class="empty-state"><strong>Aucune facture trouvée</strong><span>Créez une facture manuelle ou convertissez un devis accepté.</span><a class="button secondary small" href="<%= adminBase %>/factures/nouvelle">Créer facture</a></div><% } %>
    <%- partial('partials/pagination', { page, pageUrl, param: 'page' }) %>
  </section>
</div>
