import type { Metadata } from "next";
import Link from "next/link";
import Icon from "@/components/Icon";
import JsonLd from "@/components/JsonLd";

const SITE = "https://socialex.pro";
const PAGE_PATH = "/societes/depot-des-comptes";
const PAGE_URL = `${SITE}${PAGE_PATH}`;

export const metadata: Metadata = {
  title: "Dépôt des comptes annuels au greffe : délai, confidentialité",
  description:
    "Rédaction des documents et dépôt légal de vos comptes annuels au Greffe du Tribunal de Commerce. Confidentialité disponible pour les PME.",
  keywords: [
    "dépôt des comptes annuels",
    "dépôt comptes greffe",
    "comptes annuels société",
    "déclaration de confidentialité comptes",
    "liasse fiscale",
    "bilan compte de résultat",
    "dépôt RCS",
    "date limite dépôt comptes",
    "confidentialité comptes annuels",
  ],
  alternates: { canonical: PAGE_PATH },
  openGraph: {
    title: "Dépôt des comptes annuels | Cabinet Socialex",
    description:
      "Dépôt légal sécurisé au greffe avec option de confidentialité. Forfait clair, suivi du calendrier.",
    url: PAGE_URL,
    type: "website",
  },
};

type Eligibility = {
  size: string;
  bilan: string;
  ca: string;
  effectif: string;
  confidential: string;
  highlight?: boolean;
};

const eligibilityRows: Eligibility[] = [
  {
    size: "Microentreprise",
    bilan: "≤ 450 K€",
    ca: "≤ 900 K€",
    effectif: "≤ 10",
    confidential: "Confidentialité totale (option)",
    highlight: true,
  },
  {
    size: "Petite entreprise",
    bilan: "≤ 7,5 M€",
    ca: "≤ 15 M€",
    effectif: "≤ 50",
    confidential: "Compte de résultat confidentiel",
    highlight: true,
  },
  {
    size: "Moyenne entreprise",
    bilan: "< 25 M€",
    ca: "< 50 M€",
    effectif: "< 250",
    confidential: "Publication simplifiée",
  },
  {
    size: "Grande entreprise",
    bilan: "≥ 25 M€",
    ca: "≥ 50 M€",
    effectif: "≥ 250",
    confidential: "Publication intégrale obligatoire",
  },
];

const sanctions = [
  {
    n: "01",
    t: "Injonction de dépôt",
    d: "Le greffier peut, sur demande de tout intéressé, saisir le Président du Tribunal pour ordonner sous astreinte le dépôt des comptes.",
  },
  {
    n: "02",
    t: "Amende du dirigeant",
    d: "Le dirigeant qui ne procède pas au dépôt des comptes risque une amende pouvant atteindre 1 500 € (3 000 € en récidive).",
  },
  {
    n: "03",
    t: "Atteinte à la crédibilité",
    d: "Un défaut de dépôt apparaît publiquement au RCS et fragilise la confiance des banques, fournisseurs et partenaires commerciaux.",
  },
];

const steps = [
  {
    n: "01",
    t: "Réception des comptes",
    d: "Nous récupérons les comptes annuels de votre expert-comptable (bilan, compte de résultat, annexes).",
  },
  {
    n: "02",
    t: "Rédaction des documents d'assemblée générale",
    d: "Rédaction des documents obligatoires selon la forme de votre société.",
  },
  {
    n: "03",
    t: "Déclaration de confidentialité",
    d: "Si votre société est éligible, nous préparons la déclaration de confidentialité totale ou partielle selon votre situation.",
  },
  {
    n: "04",
    t: "Dépôt des comptes",
    d: "Dépôt dématérialisé au greffe du Tribunal de Commerce.",
  },
];

const faqs = [
  {
    q: "Qui est tenu de déposer ses comptes annuels ?",
    a: "Toutes les sociétés commerciales (SAS, SASU, SARL, EURL, SA), ainsi que les SCI à l'IS et les sociétés en commandite. Les sociétés civiles soumises à l'IR (SCI à l'IR, sociétés de personnes) ne sont pas concernées par l'obligation de dépôt public.",
  },
  {
    q: "Quelle est la date limite de dépôt des comptes annuels ?",
    a: "Le dépôt doit intervenir dans le mois suivant l'assemblée générale ordinaire annuelle d'approbation des comptes. Pour un exercice clos au 31 décembre, l'assemblée générale ordinaire annuelle devant se tenir avant le 30 juin de l'année suivante, le dépôt doit donc être effectué au plus tard le 31 juillet.",
  },
  {
    q: "Quelles sanctions en cas de non-dépôt des comptes ?",
    a: "Le non-dépôt expose le dirigeant à : (1) une amende pouvant atteindre 1 500 € (3 000 € en récidive), (2) une injonction sous astreinte du Président du Tribunal de Commerce, (3) une perte de crédibilité commerciale (le défaut apparaît publiquement au RCS).",
  },
  {
    q: "Quelles sociétés peuvent demander la confidentialité de leurs comptes ?",
    a: "Les microentreprises (bilan ≤ 450 K€, CA ≤ 900 K€, effectif ≤ 10) peuvent demander la confidentialité totale. Les petites entreprises (bilan ≤ 7,5 M€, CA ≤ 15 M€, effectif ≤ 50) peuvent demander la confidentialité du compte de résultat. La déclaration doit être déposée en même temps que les comptes.",
  },
  {
    q: "Combien coûte le dépôt des comptes annuels ?",
    a: "Notre forfait dépôt des comptes est fixé à 295 € TTC, frais de greffe inclus. Il couvre la rédaction des documents, la déclaration de confidentialité éventuelle et le dépôt dématérialisé.",
  },
  {
    q: "Quelle différence entre liasse fiscale et comptes annuels ?",
    a: "La liasse fiscale est destinée à l'administration fiscale (Direction générale des Finances Publiques) et contient les déclarations de résultat. Les comptes annuels sont déposés au greffe du Tribunal de Commerce et constituent l'information légale destinée aux tiers (associés, créanciers, partenaires).",
  },
  {
    q: "Que faire en cas de rejet du dépôt par le greffe ?",
    a: "Le greffe notifie le motif du rejet (format invalide, pièce manquante, signature non conforme). Nous gérons la régularisation immédiatement, sans surcoût. La date de dépôt initial est en général conservée si la régularisation intervient rapidement.",
  },
];

const breadcrumbSchema = {
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  itemListElement: [
    { "@type": "ListItem", position: 1, name: "Accueil", item: SITE },
    {
      "@type": "ListItem",
      position: 2,
      name: "Sociétés",
      item: `${SITE}/societes`,
    },
    {
      "@type": "ListItem",
      position: 3,
      name: "Dépôt des comptes",
      item: PAGE_URL,
    },
  ],
};

const serviceSchema = {
  "@context": "https://schema.org",
  "@type": "Service",
  name: "Dépôt des comptes annuels",
  serviceType: "Dépôt légal des comptes annuels",
  description:
    "Rédaction des documents et dépôt légal des comptes annuels au Greffe du Tribunal de Commerce, avec option de confidentialité pour les sociétés éligibles.",
  provider: { "@id": "https://socialex.pro/#organization" },
  areaServed: { "@type": "Country", name: "France" },
  url: PAGE_URL,
  offers: {
    "@type": "Offer",
    name: "Dépôt des comptes annuels",
    price: "295",
    priceCurrency: "EUR",
    url: `${PAGE_URL}/formulaire`,
    availability: "https://schema.org/InStock",
  },
};

const faqSchema = {
  "@context": "https://schema.org",
  "@type": "FAQPage",
  mainEntity: faqs.map((f) => ({
    "@type": "Question",
    name: f.q,
    acceptedAnswer: { "@type": "Answer", text: f.a },
  })),
};

export default function DepotComptesPage() {
  return (
    <>
      <JsonLd data={[breadcrumbSchema, serviceSchema, faqSchema]} />

      {/* Hero */}
      <section className="pt-32 pb-24 md:pb-32">
        <div className="container-page">
          <nav
            aria-label="Fil d'ariane"
            className="flex items-center gap-2 text-xs uppercase tracking-widest text-on-surface-variant mb-12 font-serif"
          >
            <Link href="/" className="hover:text-primary transition-colors">
              Accueil
            </Link>
            <span className="opacity-50">/</span>
            <Link
              href="/societes"
              className="hover:text-primary transition-colors"
            >
              Sociétés
            </Link>
            <span className="opacity-50">/</span>
            <span className="text-primary">Dépôt des comptes</span>
          </nav>

          <div className="grid grid-cols-12 gap-8 lg:gap-16 items-start">
            <div className="col-span-12 lg:col-span-7 space-y-8 reveal-hero">
              <Icon
                name="account_balance_wallet"
                className="!text-5xl text-secondary"
              />
              <span className="eyebrow block">Droit des Sociétés</span>
              <h1 className="display-lg text-primary">
                Dépôt des comptes annuels :<br />
                <span className="italic font-normal">délais respectés, confidentialité préservée.</span>
              </h1>
              <p className="body-lg text-on-surface-variant">
                Rédaction des documents, déclaration de confidentialité et dépôt légal de
                vos comptes annuels au Greffe du Tribunal de Commerce. Suivi
                du calendrier, vérification du dossier, dépôt dématérialisé
                sécurisé.
              </p>
              <div className="flex flex-wrap gap-3 pt-4">
                <Link
                  href="/societes/depot-des-comptes/formulaire"
                  className="btn btn-primary"
                >
                  Démarrer mon dépôt
                </Link>
                <a href="#confidentialite" className="btn btn-secondary">
                  Vérifier mon éligibilité
                </a>
              </div>
            </div>

            <aside className="col-span-12 lg:col-span-5 lg:sticky lg:top-32">
              <div className="bg-white border border-outline-variant p-10">
                <p className="eyebrow mb-6">Ce qui est inclus</p>
                <ul className="space-y-3">
                  {[
                    "Rédaction des documents d'assemblée générale (rapport de gestion, procès-verbal…)",
                    "Rédaction des documents nécessaires au dépôt des comptes (déclaration de confidentialité…)",
                    "Dépôt des comptes dans le délai légal d'un mois",
                  ].map((h) => (
                    <li
                      key={h}
                      className="flex items-start gap-3 body-md text-on-surface"
                    >
                      <Icon
                        name="check_circle"
                        className="!text-base text-secondary mt-1"
                      />
                      <span>{h}</span>
                    </li>
                  ))}
                </ul>
              </div>
            </aside>
          </div>
        </div>
      </section>

      {/* Éligibilité confidentialité */}
      <section
        id="confidentialite"
        className="bg-surface-container-low reveal scroll-mt-32"
      >
        <div className="container-page py-24 md:py-32">
          <div className="max-w-3xl mb-20">
            <span className="eyebrow block mb-4">Confidentialité des comptes</span>
            <h2 className="headline-xl text-primary mb-6">
              Votre société est-elle éligible
              <br />
              <span className="italic font-normal">à la confidentialité ?</span>
            </h2>
            <p className="body-lg text-on-surface-variant">
              Sous certaines conditions de taille, vous pouvez demander la
              confidentialité totale ou partielle de vos comptes annuels :
              ils ne seront pas accessibles au public.
            </p>
          </div>

          {/* Tableau d'éligibilité */}
          <div className="bg-white border border-outline-variant overflow-x-auto">
            <table className="w-full text-sm">
              <thead>
                <tr className="border-b border-outline-variant/60 text-left">
                  <th className="font-serif italic text-secondary p-6">
                    Catégorie
                  </th>
                  <th className="eyebrow !text-on-surface-variant p-6">
                    Bilan
                  </th>
                  <th className="eyebrow !text-on-surface-variant p-6">
                    CA HT
                  </th>
                  <th className="eyebrow !text-on-surface-variant p-6">
                    Effectif
                  </th>
                  <th className="eyebrow !text-on-surface-variant p-6">
                    Confidentialité
                  </th>
                </tr>
              </thead>
              <tbody>
                {eligibilityRows.map((r) => (
                  <tr
                    key={r.size}
                    className="border-b border-outline-variant/40 last:border-b-0"
                  >
                    <td className="font-serif text-primary text-lg p-6">
                      {r.size}
                    </td>
                    <td className="text-on-surface p-6">{r.bilan}</td>
                    <td className="text-on-surface p-6">{r.ca}</td>
                    <td className="text-on-surface p-6">{r.effectif}</td>
                    <td
                      className={`p-6 ${
                        r.highlight
                          ? "text-secondary font-medium"
                          : "text-on-surface-variant"
                      }`}
                    >
                      {r.confidential}
                    </td>
                  </tr>
                ))}
              </tbody>
            </table>
          </div>

          <p className="mt-8 body-md text-on-surface-variant max-w-2xl">
            Pour bénéficier de la confidentialité, deux des trois seuils
            doivent être respectés sur deux exercices consécutifs. Nous
            vérifions votre éligibilité avant chaque dépôt.
          </p>
        </div>
      </section>

      {/* Sanctions non-dépôt */}
      <section className="reveal">
        <div className="container-page py-24 md:py-32">
          <div className="max-w-3xl mb-20">
            <span className="eyebrow block mb-4">Risques en cas de défaut</span>
            <h2 className="headline-xl text-primary mb-6">
              Les conséquences réelles
              <br />
              <span className="italic font-normal">d'un dépôt manqué.</span>
            </h2>
            <p className="body-lg text-on-surface-variant">
              Le défaut de dépôt n'est pas qu'une formalité administrative
              négligeable. Trois conséquences concrètes pour le dirigeant.
            </p>
          </div>

          <div className="grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8">
            {sanctions.map((s) => (
              <div
                key={s.n}
                className="bg-white border border-outline-variant p-8 lg:p-10"
              >
                <p className="font-serif italic text-secondary text-3xl mb-6">
                  {s.n}
                </p>
                <h3 className="headline-md !text-xl text-primary mb-4">
                  {s.t}
                </h3>
                <p className="body-md text-on-surface-variant">{s.d}</p>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* Méthodologie */}
      <section className="bg-surface-container-low reveal">
        <div className="container-page py-24 md:py-32">
          <div className="max-w-3xl mb-20">
            <span className="eyebrow block mb-4">Notre méthodologie</span>
            <h2 className="headline-xl text-primary mb-6">
              De la réception des comptes
              <br />
              <span className="italic font-normal">à la confirmation du greffe.</span>
            </h2>
          </div>

          <ol className="space-y-0 border-t border-outline-variant/60">
            {steps.map((s) => (
              <li
                key={s.n}
                className="grid grid-cols-12 gap-6 py-10 border-b border-outline-variant/60"
              >
                <div className="col-span-12 md:col-span-2">
                  <p className="font-serif italic text-secondary text-3xl">
                    {s.n}
                  </p>
                </div>
                <div className="col-span-12 md:col-span-10 space-y-3">
                  <h3 className="headline-md !text-xl text-primary">
                    {s.t}
                  </h3>
                  <p className="body-md text-on-surface-variant">{s.d}</p>
                </div>
              </li>
            ))}
          </ol>
        </div>
      </section>

      {/* Tarif */}
      <section className="reveal">
        <div className="container-page py-24 md:py-32">
          <div className="max-w-4xl mx-auto bg-primary text-on-primary p-12 md:p-16 lg:p-20 text-center">
            <span className="eyebrow !text-secondary block mb-4">
              Tarif transparent
            </span>
            <h2 className="display-lg !text-3xl md:!text-4xl mb-8">
              Combien coûte un dépôt des comptes ?
            </h2>
            <p className="font-serif font-medium leading-none mb-4 text-6xl md:text-7xl lg:text-8xl tracking-[-0.02em] text-secondary">
              295 €
            </p>
            <p className="body-md opacity-70 max-w-xl mx-auto mb-10">
              Frais de greffe inclus. Aucun coût caché, aucune facturation à
              l'heure.
            </p>
            <div className="flex justify-center">
              <Link
                href="/societes/depot-des-comptes/formulaire"
                className="btn btn-light"
              >
                Démarrer mon dépôt
              </Link>
            </div>
            <p className="text-xs uppercase tracking-widest opacity-60 mt-8 font-serif">
              Réponse sous 24 h ouvrées · Sans engagement
            </p>
          </div>
        </div>
      </section>

      {/* FAQ */}
      <section className="bg-surface-container-low reveal">
        <div className="container-page py-24 md:py-32">
          <div className="grid grid-cols-12 gap-12">
            <div className="col-span-12 lg:col-span-4">
              <span className="eyebrow block mb-4">Questions fréquentes</span>
              <h2 className="headline-xl text-primary mb-6">
                Les vraies questions.
                <br />
                <span className="italic font-normal">
                  Les vraies réponses.
                </span>
              </h2>
              <p className="body-md text-on-surface-variant">
                Une question manque ?{" "}
                <Link
                  href="/contact"
                  className="text-primary underline hover:text-secondary"
                >
                  Contactez-nous
                </Link>
                , réponse sous 24 h ouvrées.
              </p>
            </div>
            <div className="col-span-12 lg:col-span-8">
              {faqs.map((f, i) => (
                <details
                  key={f.q}
                  className="group border-b border-outline-variant/60 py-6"
                >
                  <summary className="flex items-baseline gap-6 list-none cursor-pointer">
                    <span className="font-serif italic text-secondary text-sm w-8 shrink-0">
                      {String(i + 1).padStart(2, "0")}
                    </span>
                    <span className="flex-1 font-serif text-xl md:text-2xl text-primary tracking-[-0.01em] leading-tight">
                      {f.q}
                    </span>
                    <span className="text-xl text-on-surface-variant group-open:rotate-45 transition-transform shrink-0">
                      +
                    </span>
                  </summary>
                  <p className="mt-6 ml-14 body-md text-on-surface-variant max-w-3xl">
                    {f.a}
                  </p>
                </details>
              ))}
            </div>
          </div>
        </div>
      </section>

      {/* Cross-links */}
      <section className="reveal">
        <div className="container-page py-24 md:py-32">
          <div className="flex items-end justify-between mb-12 flex-wrap gap-6">
            <h2 className="headline-xl text-primary">
              Continuer en droit des sociétés
            </h2>
            <Link
              href="/societes"
              className="font-serif text-sm tracking-wide uppercase border-b border-primary pb-1 hover:text-secondary hover:border-secondary transition-colors"
            >
              Tous les services Sociétés
            </Link>
          </div>
          <div className="grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8">
            {[
              {
                href: "/societes/creation-de-societe",
                icon: "corporate_fare",
                title: "Création de société",
                desc: "Statuts sur-mesure, immatriculation au RCS, K-bis en 4 jours en moyenne.",
              },
              {
                href: "/societes/dissolution-de-societe",
                icon: "gavel",
                title: "Dissolution de société",
                desc: "Dissolution amiable, liquidation, radiation : fin d'activité sécurisée.",
              },
              {
                href: "/marques/depot-de-marques",
                icon: "branding_watermark",
                title: "Dépôt de marque",
                desc: "Recherche d'antériorité, dépôt INPI ou EUIPO, surveillance et renouvellement.",
              },
            ].map((l) => (
              <Link
                key={l.href}
                href={l.href}
                className="group bg-white border border-outline-variant p-8 hover:border-primary transition-colors duration-500"
              >
                <Icon name={l.icon} className="!text-3xl text-primary mb-6" />
                <h3 className="font-serif font-medium text-xl text-primary mb-3 group-hover:text-secondary transition-colors">
                  {l.title}
                </h3>
                <p className="body-md text-on-surface-variant">{l.desc}</p>
              </Link>
            ))}
          </div>
        </div>
      </section>

      {/* CTA final */}
      <section className="bg-primary text-on-primary reveal">
        <div className="container-page py-24 md:py-28 text-center">
          <div className="max-w-3xl mx-auto space-y-8">
            <h2 className="display-lg !text-4xl md:!text-5xl">
              Délais respectés. Confidentialité préservée.
            </h2>
            <p className="body-lg opacity-70">
              Confiez votre dépôt légal à un cabinet expert. Vérification du
              dossier, déclaration de confidentialité, régularisation en cas
              de rejet.
            </p>
            <Link href="/contact" className="btn btn-light">
              Contacter nos experts
            </Link>
          </div>
        </div>
      </section>
    </>
  );
}
