/* invoRiva — templates/auth/_carte.html : styles propres à cette page (sortis du gabarit, 02/11/2026). */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{--navy:#0d1b4b;--blue:#1563ee;--blue-hv:#1250cc;--ink:#1a2340;--mid:#6b7690;
          --border:#dde3f0;--white:#fff;--ok:#047857;--ok-bg:#ecfdf5;--ko:#be123c;--ko-bg:#fff1f2;
          --font:'DM Sans',system-ui,sans-serif;--radius:24px;--r-input:12px}
    html[dir=rtl]{--font:'Cairo','DM Sans',system-ui,sans-serif}
    body{font-family:var(--font);color:var(--ink);min-height:100vh;padding:2.5rem 1rem;
         display:flex;align-items:flex-start;justify-content:center;
         background:radial-gradient(ellipse 140% 120% at 60% -10%,#c9d6f5 0%,#ebeff8 45%,#eceef6 100%)}
    .geo{position:fixed;pointer-events:none;z-index:0;top:-60px;inset-inline-end:-60px;width:460px;height:460px;
         background:linear-gradient(145deg,#1563ee 0%,#1e3fcc 40%,#0a2a9c 100%);
         clip-path:polygon(55% 0%,100% 0%,100% 45%,75% 100%,30% 60%);opacity:.85}
    .carte{position:relative;z-index:1;width:100%;max-width:470px;background:var(--white);
           border-radius:var(--radius);padding:2.3rem 2.1rem 2rem;
           box-shadow:0 4px 12px rgba(13,27,75,.06),0 24px 64px -20px rgba(13,27,75,.25)}
    @media(max-width:520px){.carte{padding:1.7rem 1.25rem}body{padding:1.2rem .75rem}}
    .marque{display:block;text-align:center;margin:0 auto 1.4rem;line-height:0}
    .marque img{height:46px;width:auto;max-width:100%}
    .pastille{width:56px;height:56px;margin:0 auto 1rem;border-radius:16px;display:grid;place-items:center;
              background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:1.5rem}
    h1{font-size:1.35rem;font-weight:800;text-align:center;letter-spacing:-.01em;color:var(--navy)}
    .sous{font-size:.9rem;color:var(--mid);text-align:center;margin:.45rem 0 1.5rem;line-height:1.55}
    .resume{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.4rem}
    .resume span{display:inline-flex;align-items:center;gap:.35rem;background:#eff4ff;color:#1d4ed8;
                 border:1px solid #cfdcfb;border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:600}
    .champ{margin-bottom:1rem}
    label{display:block;font-size:.84rem;font-weight:600;margin-bottom:.4rem}
    input[type=email],input[type=password],input[type=text]{width:100%;padding:.8rem 1rem;background:var(--white);
         border:1.5px solid var(--border);border-radius:var(--r-input);font-family:inherit;font-size:.95rem;color:var(--ink)}
    input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,99,238,.14)}
    input.code{font-size:1.6rem;letter-spacing:.5em;text-align:center;font-weight:700;direction:ltr}
    .erreur{color:var(--ko);font-size:.78rem;margin-top:.3rem;display:block}
    .alerte{display:flex;gap:.5rem;padding:.8rem 1rem;border-radius:11px;font-size:.85rem;margin-bottom:1rem;line-height:1.45}
    .alerte-ko{background:var(--ko-bg);border:1px solid #fecdd3;color:var(--ko)}
    .alerte-ok{background:var(--ok-bg);border:1px solid #a7f3d0;color:var(--ok)}
    .aide{font-size:.76rem;color:var(--mid);margin-top:.35rem;line-height:1.45}
    .aide ul{padding-inline-start:1.1rem}
    .btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.9rem 1rem;border:0;
         border-radius:14px;font-family:inherit;font-size:.97rem;font-weight:700;cursor:pointer;text-decoration:none;
         background:linear-gradient(135deg,var(--blue),#1e3fcc);color:#fff;box-shadow:0 10px 24px -10px rgba(21,99,238,.7)}
    .btn:hover{background:linear-gradient(135deg,var(--blue-hv),#1a36b3)}
    .btn[disabled]{opacity:.65;cursor:progress}
    .btn-lien{background:none;border:0;color:var(--blue);font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;padding:.2rem}
    .bas{text-align:center;margin-top:1.1rem;font-size:.84rem;color:var(--mid)}
    .bas a{color:var(--blue);font-weight:600;text-decoration:none}
    .champ input[type=email],.champ input[type=password],.champ input[type=text]{width:100%}
    .pastille-ok{background:linear-gradient(135deg,#047857,#10b981)}
    .mdp{position:relative}
    .mdp input{padding-inline-end:2.8rem}
    .oeil{position:absolute;inset-inline-end:.55rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--mid);font-size:1.05rem;cursor:pointer;padding:.3rem;line-height:1}
    .oeil:hover{color:var(--blue)}
    .liens{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem;font-size:.85rem}
    .liens a{color:var(--blue);font-weight:600;text-decoration:none}
    .securite{display:flex;gap:.5rem;align-items:flex-start;font-size:.76rem;color:var(--mid);margin-top:1.3rem;
              padding-top:1rem;border-top:1px solid var(--border);line-height:1.45}

