:root{--vert: #0F6E56;--vert-fonce: #0A3D36;--vert-clair: #E3F2EE;--vert-tres-clair: #F1F8F5;--ambre: #E8A317;--fond: #F4F7F6;--carte: #FFFFFF;--bord: #DDE3E6;--bord-fort: #C5CED3;--texte: #17202A;--texte-2: #4F5B63;--rouge: #9A2D16;--rouge-fond: #FDE8E4;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--texte);background:var(--fond);font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:var(--vert)}a:hover{color:var(--vert-fonce)}h1{margin:0;font-size:26px}h2{margin:0;font-size:18px}h3{margin:0;font-size:15px}.entete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:var(--vert-fonce);color:#fff}.entete .marque{display:flex;align-items:center;gap:14px}.entete .marque img{height:34px}.entete .sep{width:1px;height:28px;background:#3e6e66}.entete .clinique{display:flex;flex-direction:column;line-height:1.2}.entete .clinique b{font-size:15px}.entete .petit{font-size:12px;color:#bfdcd4}.entete .droite{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.entete .qui{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.btn-entete{height:40px;padding:0 14px;border-radius:8px;border:1px solid #6FA597;background:transparent;color:#fff;font:inherit;font-size:14px;cursor:pointer}.cadre{display:flex;flex-wrap:wrap;gap:24px;padding:24px}.menu{flex:1 1 200px;max-width:230px;display:flex;flex-direction:column;gap:4px}.menu a{display:block;padding:11px 14px;border-radius:8px;text-decoration:none;color:#33404a;font-weight:500}.menu a.actif{background:var(--vert-clair);color:var(--vert-fonce);font-weight:600}.contenu{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}.carte{background:var(--carte);border:1px solid var(--bord);border-radius:10px;padding:20px}.ligne{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.colonnes{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.colonnes>*{flex:1 1 360px;min-width:0}.grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grille-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}@media (max-width: 700px){.grille-2,.grille-5{grid-template-columns:repeat(2,minmax(0,1fr))}}label.lbl,span.lbl{display:block;font-size:13px;font-weight:600;color:#33404a;margin-bottom:6px}.champ{width:100%;height:44px;border:1px solid var(--bord-fort);border-radius:8px;padding:0 12px;font:inherit;background:#fff;color:var(--texte)}textarea.champ{height:80px;padding:10px 12px;resize:vertical}.champ:focus,.btn:focus-visible{outline:2px solid var(--vert);outline-offset:1px}.btn{height:44px;padding:0 18px;border-radius:8px;border:1px solid var(--vert);background:#fff;color:var(--vert);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.btn.plein{background:var(--vert);color:#fff}.btn.gris{border-color:var(--bord-fort);color:#33404a}.btn.grand{height:48px;font-size:15px}.btn:disabled{background:#eef1f3;border-color:var(--bord-fort);color:#5b6770;cursor:not-allowed}.choix{display:flex;flex-wrap:wrap;gap:8px}.choix button{height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--bord-fort);background:#fff;font:inherit;color:#33404a;cursor:pointer}.choix button[aria-pressed=true]{border:2px solid var(--vert);background:var(--vert-clair);color:var(--vert-fonce);font-weight:600}.case{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--bord-fort);border-radius:8px;cursor:pointer}.case.cochee{border:2px solid var(--vert);background:var(--vert-tres-clair)}.aide{margin:0;font-size:13px;color:var(--texte-2)}.erreur{padding:10px 14px;border-radius:8px;background:var(--rouge-fond);color:var(--rouge);font-size:14px}.succes{padding:10px 14px;border-radius:8px;background:var(--vert-clair);color:var(--vert-fonce);font-size:14px}.pastille{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.p-attente{background:#fff4e0;color:#8a4b00}.p-cours{background:#e3f0fb;color:#0b4f86}.p-caisse{background:var(--rouge-fond);color:var(--rouge)}.p-soldee{background:var(--vert-clair);color:#1e6b3a}.p-gris{background:#eef1f3;color:#33404a}.defile{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:12px;font-weight:600;color:var(--texte-2);text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:10px 12px;border-bottom:1px solid var(--bord);white-space:nowrap}td{font-size:14px;padding:11px 12px;border-bottom:1px solid #EEF1F3}tr.selection td{background:var(--vert-tres-clair)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.liste{display:flex;flex-direction:column;gap:6px}.element{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px;border-radius:8px;border:1px solid var(--bord);background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}.element.actif{border:2px solid var(--vert);background:var(--vert-tres-clair)}.element .sous{font-size:12px;color:var(--texte-2)}.vide{padding:24px;text-align:center;color:var(--texte-2);font-size:14px}.totaux{display:flex;flex-direction:column;gap:8px;font-size:14px}.totaux div{display:flex;justify-content:space-between}.totaux .grand-total{padding-top:10px;border-top:1px solid var(--bord);font-size:18px;font-weight:700}.page-connexion{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--vert-fonce)}.boite-connexion{width:100%;max-width:400px;background:#fff;border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:16px}.voile{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e1b8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.fenetre{background:#fff;border-radius:12px;padding:24px;max-width:460px;width:100%;max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:16px}.recu{font-family:Courier New,monospace;font-size:12px;color:#000;width:72mm;margin:0 auto}.recu img{max-width:46mm;max-height:22mm;display:block;margin:0 auto 4px;object-fit:contain}.recu .c{text-align:center}.recu hr{border:0;border-top:1px dashed #000;margin:6px 0}.recu table td{font-size:12px;padding:2px 0;border:0}.zone-impression{display:none}@media print{body>#root{display:none}.zone-impression{display:block}}.bulletin{font-size:12.5px;color:#000}.bulletin .tete{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #0A3D36;padding-bottom:8px;margin-bottom:12px}.bulletin .tete img{height:46px;max-width:160px;object-fit:contain}.bulletin h1{font-size:18px;margin:10px 0 4px}.bulletin .patient{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 24px;margin-bottom:12px}.bulletin table{margin-bottom:10px}.bulletin th,.bulletin td{font-size:12px;padding:5px 8px;border-bottom:1px solid #ccc;color:#000}.bulletin .anormal{font-weight:700}.bulletin .examen{break-inside:avoid;margin-bottom:12px}.bulletin .pied{margin-top:24px;display:flex;justify-content:space-between;font-size:11.5px}.onglets{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--bord)}.onglets button{height:42px;padding:0 16px;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:600;color:var(--texte-2);cursor:pointer}.onglets button[aria-selected=true]{color:var(--vert-fonce);border-bottom-color:var(--vert)}.ind-bas,.ind-eleve,.ind-anormal{color:var(--rouge);font-weight:700}.sr{position:absolute;left:-9999px}.notifs{position:fixed;top:72px;right:16px;z-index:50;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}.notif{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:10px;background:#fff;border:1px solid var(--bord);border-left-width:1px;box-shadow:0 6px 20px #0a1e1b24;font-size:14px;animation:entree .18s ease-out}.notif-icone{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}.notif-succes .notif-icone{background:var(--vert)}.notif-erreur .notif-icone{background:var(--rouge)}.notif-info .notif-icone{background:#0b4f86}.notif-erreur{border-color:#f2b8ac}.notif-fermer{border:0;background:none;font-size:18px;line-height:1;color:var(--texte-2);cursor:pointer;padding:0 2px}.notif-action{display:block;margin-top:6px;border:0;background:none;padding:0;color:var(--vert);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}@keyframes entree{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.notif{animation:none}}.btn.danger{background:var(--rouge);border-color:var(--rouge)}.menu a{display:flex;justify-content:space-between;align-items:center;gap:8px}.badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--ambre);color:#3d2600;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.badge.vert{background:var(--vert);color:#fff}.badge.rouge{background:#b42318;color:#fff}.barre-actions{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid var(--bord);margin:0 -20px -20px;padding:12px 20px;border-radius:0 0 10px 10px;display:flex;flex-wrap:wrap;gap:12px}.chat-bouton{position:fixed;right:20px;bottom:20px;z-index:30;width:56px;height:56px;padding:0;justify-content:center;border-radius:50%;border:0;background:var(--vert-fonce);color:#fff;font:inherit;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 6px 18px #0a1e1b40}.chat-bouton .badge{position:absolute;top:-4px;right:-4px;border:2px solid #fff}.chat-panneau{position:fixed;right:20px;bottom:84px;z-index:30;width:min(380px,calc(100vw - 24px));height:min(540px,calc(100vh - 120px));background:#fff;border:1px solid var(--bord);border-radius:14px;box-shadow:0 12px 36px #0a1e1b38;display:flex;flex-direction:column;overflow:hidden}.chat-tete{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--vert-fonce);color:#fff}.chat-tete button{border:0;background:none;color:#fff;font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:6px}.chat-liste{flex:1;overflow-y:auto}.chat-contact{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid #EEF1F3;background:#fff;text-align:left;font:inherit;cursor:pointer;color:var(--texte)}.chat-contact:hover{background:var(--vert-tres-clair)}.chat-avatar{position:relative;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--vert-clair);color:var(--vert-fonce);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.chat-avatar .point{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:#b8c2c7}.chat-avatar .point.en-ligne{background:#1e9e5a}.chat-fil{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--fond)}.bulle{max-width:80%;padding:8px 11px;border-radius:12px;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.bulle.autre{align-self:flex-start;background:#fff;border:1px solid var(--bord);border-bottom-left-radius:4px}.bulle.moi{align-self:flex-end;background:var(--vert);color:#fff;border-bottom-right-radius:4px}.bulle .qui{display:block;font-size:11.5px;font-weight:700;color:var(--vert-fonce);margin-bottom:2px}.bulle .heure{display:block;font-size:11px;opacity:.75;text-align:right;margin-top:2px}.chat-saisie{display:flex;gap:8px;padding:10px;border-top:1px solid var(--bord)}.chat-saisie textarea{flex:1;resize:none;height:44px;padding:10px 12px}.cadre{padding-bottom:96px}@media (min-width: 701px){.barre-actions{padding-right:84px}}.barre-actions{gap:10px}.barre-actions .btn{padding:0 14px}.bandeau-demo{background:var(--ambre);color:#3d2600;font-size:13px;padding:7px 16px;text-align:center;line-height:1.4}.comptes-demo{border-top:1px solid #E3E8E6;padding-top:14px}.grille-comptes{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px}.compte-demo{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 9px;border:1px solid #D5DEDB;border-radius:8px;background:#f6f9f8;cursor:pointer;font:inherit;text-align:left}.compte-demo b{font-size:13px}.compte-demo span{font-size:12px;color:#5b6b67}.compte-demo:hover,.compte-demo:focus-visible{border-color:var(--vert, #1F7A5C);background:#eaf4f0}@media print{.bandeau-demo{display:none}}.alerte-sauvegarde{border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.45;border:1px solid}.alerte-sauvegarde.ok{background:#eef7f2;border-color:#cfe6da;color:#1e5a43}.alerte-sauvegarde.ancienne{background:#fff6e5;border-color:#f2d29a;color:#6b4600}.alerte-sauvegarde.critique{background:#fdecec;border-color:#f1b8b8;color:#8a1f1f}.alerte-sauvegarde a{color:inherit;font-weight:600}.pastille-stock{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;background:var(--vert-tres-clair);border:1px solid var(--bord);font-size:13px}.pastille-stock.ambre{background:#fff6e5;border-color:#f2d29a;color:#6b4600}.pastille-stock.rouge{background:var(--rouge-fond);border-color:#f1b8b8;color:var(--rouge)}.entete .logo-etab{height:34px;max-width:90px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}.apercu-logo{width:140px;height:90px;border:1px dashed var(--bord);border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff}.apercu-logo img{max-width:128px;max-height:78px;object-fit:contain}.page-config{min-height:100vh;display:flex;justify-content:center;padding:40px 20px;background:var(--fond)}.bulletin .mentions{margin-top:10px;font-size:11px;color:#444;text-align:center;border-top:1px solid #ddd;padding-top:6px}.apercu-fond{width:220px;height:124px;border-radius:10px;border:1px dashed var(--bord);background:linear-gradient(160deg,#0c4a40,#072e29) center / cover;display:flex;align-items:center;justify-content:center}.apercu-fond .aide{color:#cfe6de}.page-connexion{position:relative;overflow:hidden;isolation:isolate;min-height:100vh;display:flex;align-items:center;justify-content:center;gap:clamp(48px,7vw,140px);padding:48px 5vw;background:linear-gradient(160deg,#0e5a4a,#0a4a3e,#073a31)}.fond-afiabora{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.fond-clinique{position:absolute;left:0;right:0;bottom:0;width:100%;height:82%;opacity:.8;filter:blur(1.2px)}.fond-voile{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#06342bf5,#084035e0 38%,#0a4a3e80 68%,#0a4a3e4d),radial-gradient(700px 500px at 0% 0%,rgba(245,185,26,.14),transparent 60%)}.page-connexion.avec-photo .fond-clinique{display:none}.page-connexion.avec-photo .fond-afiabora{background:var(--photo-fond) center / cover no-repeat}.fond-points{position:absolute;left:0;top:0;width:260px;height:130px;opacity:.35;background-image:radial-gradient(circle,#9FE3C3 1.4px,transparent 1.6px);background-size:16px 16px;-webkit-mask-image:linear-gradient(135deg,#000 20%,transparent 80%);mask-image:linear-gradient(135deg,#000 20%,transparent 80%)}.feuille{position:absolute;filter:drop-shadow(0 10px 24px rgba(0,0,0,.25))}.f-hd{width:150px;right:-20px;top:-40px;transform:rotate(35deg);opacity:.9}.f-bg{width:190px;left:-70px;bottom:-70px;transform:rotate(-35deg);opacity:.9}.f-bd{width:160px;right:-40px;bottom:-60px;transform:rotate(28deg);opacity:.85}.marque-connexion{color:#fff;max-width:640px;flex:0 1 640px}.marque-logo{display:flex;align-items:center;gap:18px;font-size:clamp(44px,4.6vw,72px);font-weight:800;letter-spacing:-.02em;line-height:1}.marque-logo b{color:#f5b91a;font-weight:800}.marque-croix{width:1.3em;height:1.3em}.marque-titre{font-size:clamp(32px,3.4vw,54px);line-height:1.12;font-weight:800;margin:26px 0 16px;letter-spacing:-.02em;color:#fff}.marque-titre em{font-style:normal;color:#f5b91a}.marque-sous{font-size:clamp(15px,1.25vw,19px);line-height:1.45;color:#e3f2ec;margin:0 0 22px}.marque-points{list-style:none;margin:0;padding:0 0 22px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid rgba(124,214,158,.45);font-size:clamp(15px,1.2vw,18px)}.marque-points li{display:flex;align-items:center;gap:16px}.marque-points .pastille{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:#21c47e38;color:#fff}.marque-contacts{display:flex;gap:14px;align-items:flex-start;margin-top:18px}.marque-contacts .casque svg{width:40px;height:40px}.marque-contacts b{font-size:16px}.marque-contacts .lignes{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;font-size:clamp(15px,1.35vw,21px);font-weight:700}.marque-contacts a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.marque-contacts a:hover{text-decoration:underline}.marque-contacts .barre{opacity:.7}.signature{font-family:Segoe Script,Brush Script MT,Lucida Handwriting,cursive;font-style:italic;font-size:clamp(16px,1.5vw,22px);color:#f1f8f5;margin:18px 0 0;padding-left:70px;opacity:.92}.boite-connexion{position:relative;width:100%;max-width:520px;flex:0 0 auto;padding:36px 44px 28px;gap:18px;border-radius:18px;box-shadow:0 30px 70px #0000004d,0 2px 8px #0000001f}.boite-connexion .croix-carte{width:64px;height:64px}.boite-connexion .logo-carte{height:64px;max-width:220px;object-fit:contain;align-self:flex-start}.tete-carte{padding-bottom:16px;border-bottom:2px solid #8FD8BE}.tete-carte h1{font-size:clamp(24px,2vw,32px);color:#0a3d36;font-weight:800;letter-spacing:-.01em}.tete-carte p{margin:4px 0 0;font-size:18px;color:#5b6b67;font-weight:600}.lbl-icone{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;color:#0a3d36;margin-bottom:8px}.lbl-icone svg{color:#0a3d36}.boite-connexion .champ{height:52px;font-size:16px;border-radius:10px}.champ-icone{position:relative}.champ-icone .champ{padding-right:48px}.champ-icone .oeil{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;padding:6px;cursor:pointer;color:#2f3e3a;display:flex}.champ-icone .chevron{position:absolute;right:16px;top:42%;transform:translateY(-50%);font-size:22px;color:#2f3e3a;pointer-events:none}.boite-connexion .btn-connexion{height:56px;font-size:18px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:10px}.btn-connexion svg{width:24px;height:24px}.pied-carte{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;color:#2f3e3a}.pied-carte .securise{display:inline-flex;align-items:center;gap:8px}.pied-carte .securise svg{color:#1d9e75;width:22px;height:22px}.pied-carte .lien{background:none;border:0;padding:0;color:#0f6e56;text-decoration:underline;cursor:pointer;font:inherit;font-weight:600}.aide-connexion{background:var(--vert-tres-clair);border:1px solid #CFE6DA;border-radius:10px;padding:10px 14px;font-size:13.5px;line-height:1.45;color:#1e4f43}.page-connexion .bandeau-demo{position:fixed;top:0;left:0;right:0;z-index:5}@media (max-width: 1099px){.page-connexion{flex-direction:column;gap:28px;padding:64px 20px 32px}.marque-connexion{flex:none;text-align:center;max-width:560px}.marque-logo{justify-content:center;font-size:46px}.marque-titre{font-size:30px;margin:16px 0 0}.marque-sous,.marque-points,.marque-contacts,.signature{display:none}.fond-voile{background:linear-gradient(#06342be6,#084035cc)}.boite-connexion{padding:28px 24px 22px}}
