: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}.boite-connexion img{height:44px;align-self:flex-start}.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}.page-connexion .bandeau-demo{position:fixed;top:0;left:0;right:0;z-index:5}.page-connexion{padding-top:64px}.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}
