:root{--color-bg:#f6f4ec;--color-text:#33392f;--color-bg-header:#eceadd;--color-border:#ddd9c8;--color-input-bg:#fbfaf5;--color-label:#6e7a63;--color-label-contraste:#4c5643;--color-accent:#6e8558;--color-accent-hover:#5e7449;--color-tooltip-bg:#4a5c44;--color-text-on-accent:#f6f4ec;--color-text-on-tooltip:#fbfaf5;--color-tooltip-titre:#c9e2ec;--color-tooltip-carte:#f3d98b;--color-tooltip-signification:#fff;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Spectral", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:600}button{font-family:var(--font-body);cursor:pointer}input{font-family:var(--font-body)}.page-chargement{height:100vh;color:var(--color-label);font-family:var(--font-body);justify-content:center;align-items:center;display:flex}.page-login{flex-direction:column;min-height:100vh;display:flex}.page-login-centre{flex:1;justify-content:center;align-items:center;padding:1rem;display:flex}.carte-login{background:var(--color-bg-header);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:360px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 20px #00000014}.carte-login h1{text-align:center;font-size:2rem}.sous-titre{text-align:center;color:var(--color-label);margin:0 0 1rem;font-size:.95rem}.carte-login label{color:var(--color-label);margin-top:.5rem;font-size:.85rem}.carte-login input{background:var(--color-input-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;padding:.6rem .75rem;font-size:1rem}.carte-login input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.message-erreur{color:#a4453a;margin:0;font-size:.85rem}.bouton-accent{background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:6px;margin-top:1rem;padding:.7rem 1rem;font-size:1rem;font-weight:600;transition:background-color .15s}.bouton-accent:hover:not(:disabled){background:var(--color-accent-hover)}.bouton-accent:disabled{opacity:.6;cursor:not-allowed}.bouton-secondaire{background:var(--color-bg-header);color:var(--color-text);border:1px solid var(--color-border);text-align:center;border-radius:6px;padding:.7rem 1rem;font-size:1rem;font-weight:600}.bouton-secondaire:hover{border-color:var(--color-accent);color:var(--color-accent)}.coquille{flex-direction:column;min-height:100vh;display:flex}.entete{z-index:10;background:var(--color-bg-header);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.entete-marque h1{font-size:1.4rem}.entete-nav{flex-wrap:wrap;flex:auto;gap:.5rem;display:flex}.entete-utilisateur{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-left:auto;display:flex}.entete-nom{color:var(--color-label);font-size:.9rem}.lien-nav{color:var(--color-text);background:0 0;border:1px solid #0000;border-radius:6px;padding:.45rem .8rem;font-size:.9rem}.lien-nav:hover{border-color:var(--color-border)}.lien-nav-actif{background:var(--color-accent);color:var(--color-text-on-accent)}.lien-nav-actif:hover{border-color:#0000}.contenu{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.placeholder{color:var(--color-label);font-style:italic}.vue-calcul{flex-direction:column;gap:2rem;display:flex}.formulaire-calcul{background:var(--color-bg-header);border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;padding:1.5rem;display:flex}.champ{flex-direction:column;gap:.35rem;display:flex}.champ label,.champ-label{color:var(--color-label);font-size:.85rem}.champ input{background:var(--color-input-bg);border:1px solid var(--color-border);box-sizing:border-box;height:2.6rem;color:var(--color-text);border-radius:6px;width:100%;padding:.55rem .7rem;font-size:1rem}.champ input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.champ-date-groupe{gap:.5rem;display:flex}.champ-date-groupe input{text-align:center;width:4.5rem}.formulaire-calcul .bouton-accent{margin-top:0}.formulaire-calcul .message-erreur{width:100%}.resultats{flex-direction:column;gap:2.5rem;display:flex}.panneau-resultats{flex-direction:column;gap:1.5rem;display:flex}.tableau-maisons,.tableau-aspects{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.tableau-maisons{background:var(--color-input-bg)}.tableau-aspects{background:var(--color-bg-header)}.tableau-maisons h2,.tableau-aspects h2{margin:0;padding:.55rem 1rem;font-size:1rem}.tableau-maisons h2{background:var(--color-accent);color:var(--color-text-on-accent)}.tableau-aspects h2{background:var(--color-tooltip-bg);color:var(--color-text-on-tooltip)}.ligne-resultat{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:baseline;gap:.2rem .65rem;padding:.3rem 1rem;font-size:.85rem;display:flex}.ligne-resultat:last-child{border-bottom:none}.ligne-resultat-label{color:var(--color-label-contraste);min-width:6rem;font-weight:500}.ligne-resultat-valeur{color:var(--color-text);font-weight:700}.ligne-resultat-carte{color:var(--color-text);font-weight:600}.ligne-resultat-texte{color:var(--color-label-contraste)}@media (width>=900px){.panneau-resultats{flex-direction:row;align-items:flex-start}.tableau-maisons,.tableau-aspects{flex:1 1 0;min-width:0}.lignes-resultat{column-gap:.65rem;display:grid}.lignes-resultat-maisons{grid-template-columns:max-content max-content max-content 1fr}.lignes-resultat-aspects{grid-template-columns:max-content max-content 1fr}.ligne-resultat{display:contents}.ligne-resultat>*{border-bottom:1px solid var(--color-border);padding:.3rem 0}.ligne-resultat:last-child>*{border-bottom:none}}.grille-tirage-conteneur{padding-bottom:.5rem;overflow-x:auto}.grille-tirage{grid-template-rows:repeat(5,231px);grid-template-columns:repeat(6,110px);gap:14px;width:max-content;margin:0 auto;display:grid}@keyframes carte-apparition{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.carte-tirage{z-index:1;position:relative}.carte-tirage-visuel{background:var(--color-bg-header);opacity:0;flex-direction:column;width:100%;height:100%;animation:.42s forwards carte-apparition;display:flex;position:relative}.carte-tirage img{object-fit:cover;border-radius:6px;flex-shrink:0;width:100%;height:205px;transition:box-shadow .2s,transform .2s,filter .2s;display:block;box-shadow:0 8px 20px #00000026}.carte-tirage:hover{z-index:30}.carte-tirage:hover img{filter:brightness(1.06);transform:translateY(-4px);box-shadow:0 14px 30px #0003}.carte-tirage-vide{border:1px dashed var(--color-border);opacity:0;justify-content:center;align-items:flex-end;animation:.42s forwards carte-apparition;display:flex}.carte-tirage-numero{text-align:center;color:var(--color-text-on-tooltip);background:#3c4a38c7;border-radius:6px;margin-top:4px;padding:4px 0;font-size:.7rem;font-weight:600}.carte-tirage-vide .carte-tirage-numero{color:var(--color-label-contraste);background:0 0;position:static}.carte-tirage-tooltip{background:var(--color-tooltip-bg);color:var(--color-text-on-tooltip);text-align:center;z-index:40;opacity:0;visibility:hidden;border-radius:6px;padding:.65rem .8rem;font-size:.82rem;line-height:1.45;transition:opacity .15s;position:fixed}.carte-tirage:hover .carte-tirage-tooltip{opacity:1;visibility:visible}.carte-tirage-tooltip-titre{color:var(--color-tooltip-titre);margin:0 0 .35rem;font-weight:600}.carte-tirage-tooltip-maison{text-transform:uppercase}.carte-tirage-tooltip-signification{color:var(--color-tooltip-signification)}.carte-tirage-tooltip-carte{color:var(--color-tooltip-carte);margin:0 0 .35rem;font-weight:600}.carte-tirage-tooltip-description{margin:0}.carte-tirage-tooltip-positif{color:#a7d18f}.carte-tirage-tooltip-negatif{color:#e8ab5f}@media (prefers-reduced-motion:reduce){.carte-tirage-visuel,.carte-tirage-vide{opacity:1;animation:none}.carte-tirage img,.carte-tirage-tooltip{transition:none}}.vue-historique{flex-direction:column;gap:1.5rem;display:flex}.vue-historique h2{font-size:1.3rem}.filtres-historique{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;display:flex}.filtres-historique .champ input{min-width:10rem}.liste-historique{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.liste-historique li{gap:.5rem;display:flex}.liste-historique-ouvrir{background:var(--color-bg-header);border:1px solid var(--color-border);color:var(--color-text);text-align:left;border-radius:8px;flex:1;grid-template-columns:1fr 120px 100px;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:1rem;display:grid}.liste-historique-ouvrir:hover:not(:disabled){border-color:var(--color-accent)}.liste-historique-ouvrir:disabled{opacity:.6;cursor:not-allowed}.bouton-supprimer-tirage{background:var(--color-bg-header);border:1px solid var(--color-border);color:var(--color-label);border-radius:8px;flex:none;padding:0 .9rem;font-size:1.05rem;line-height:1}.bouton-supprimer-tirage:hover{color:#a4453a;border-color:#a4453a}.liste-historique-nom{overflow-wrap:anywhere;font-weight:600}.liste-historique-type{color:var(--color-label);text-align:center;font-size:.85rem}.liste-historique-date{color:var(--color-label);text-align:right;font-size:.9rem}.liste-historique-entete{grid-template-columns:1fr 120px 100px;gap:1rem;margin-bottom:-.25rem;padding:0 1rem;display:grid}.liste-historique-entete button{justify-self:start}.liste-historique-entete button:last-child{grid-column:3;justify-self:end}.liste-historique-entete button{color:var(--color-label-contraste);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600}.liste-historique-entete button:hover{color:var(--color-accent)}.entete-tirage-consulte{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.entete-tirage-consulte>h2{margin:0}.vue-historique .entete-tirage-consulte{margin-top:-.3rem;margin-bottom:-.225rem}.entete-tirage-titre{text-align:center;flex-direction:column;flex:auto;align-items:center;gap:.15rem;display:flex}.entete-tirage-titre h2{margin:0}.entete-tirage-type{color:var(--color-label-contraste);margin:0;font-weight:600}.entete-tirage-date{color:var(--color-label);margin:0;font-size:.9rem}.bouton-telechargement{margin-top:0;margin-left:auto;text-decoration:none;display:inline-block}.vue-admin{flex-direction:column;gap:1.5rem;display:flex}.vue-admin h2{font-size:1.3rem}.formulaire-admin{background:var(--color-bg-header);border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;padding:1.25rem 1.5rem;display:flex}.champ select{background:var(--color-input-bg);border:1px solid var(--color-border);box-sizing:border-box;height:2.6rem;color:var(--color-text);border-radius:6px;width:100%;padding:.55rem .7rem;font-size:1rem}.formulaire-admin .bouton-accent{margin-top:0}.formulaire-admin .message-erreur{width:100%}.modale-mdp{border:1px solid var(--color-accent);background:var(--color-fond,#fff);max-width:min(28rem,100vw - 2rem);color:inherit;border-radius:10px;padding:1.5rem 1.75rem}.modale-mdp::backdrop{background:#0000008c}.modale-mdp h3{margin-top:0}.modale-mdp-valeur code{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;background:#00000014;border-radius:4px;padding:.3rem .7rem;font-size:1.2rem;display:inline-block}.modale-mdp-avertissement{font-size:.9rem;font-weight:600}.modale-mdp-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.modale-mdp-etat{min-height:1.2em;margin-bottom:0;font-size:.85rem}.en-tete-triable{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.en-tete-triable:hover{color:var(--color-accent)}.en-tete-triable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.compteur-comptes{color:var(--color-label);align-self:center;margin:0 0 0 auto;font-size:.9rem}.tableau-utilisateurs-conteneur{overflow-x:auto}.tableau-utilisateurs{border-collapse:collapse;background:var(--color-bg-header);border:1px solid var(--color-border);border-radius:12px;width:100%;min-width:640px;font-size:.9rem;overflow:hidden}.tableau-utilisateurs th,.tableau-utilisateurs td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .9rem}.tableau-utilisateurs th{color:var(--color-label-contraste);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.tableau-utilisateurs tbody tr:last-child td{border-bottom:none}.tableau-utilisateurs-actions{white-space:nowrap;gap:.5rem;display:flex}.pied-de-page{text-align:center;color:var(--color-label);border-top:1px solid var(--color-border);padding:1.25rem 1rem;font-size:.8rem}.pied-de-page p{margin:0}.vue-aide{flex-direction:column;gap:1.25rem;max-width:640px;display:flex}.vue-aide h2{font-size:1.3rem}.aide-section{background:var(--color-bg-header);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem}.aide-section h3{color:var(--color-label-contraste);margin:0 0 .75rem;font-size:1.05rem}.aide-section p{margin:0 0 .5rem;line-height:1.5}.aide-section p:last-child{margin-bottom:0}.aide-mode-emploi{margin:0}.aide-mode-emploi dt{color:var(--color-text);font-weight:600}.aide-mode-emploi dd{color:var(--color-label-contraste);margin:.15rem 0 .85rem;line-height:1.5}.aide-mode-emploi dd:last-child{margin-bottom:0}.aide-credits a{color:var(--color-accent)}.aide-credits .lien-don{background:var(--color-accent);color:var(--color-text-on-accent);border-radius:6px;padding:.3rem .8rem;font-weight:600;text-decoration:none;display:inline-block}.lien-don:hover{background:var(--color-accent-hover)}.boite-dialogue-fond{z-index:50;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.boite-dialogue{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 12px 30px #00000026}.boite-dialogue p{margin:0 0 1.25rem;line-height:1.5}.boite-dialogue-actions{justify-content:flex-end;gap:.75rem;display:flex}.boite-dialogue-actions .bouton-accent{margin-top:0}.bouton-danger{background:#a4453a}.bouton-danger:hover:not(:disabled){background:#8a392f}
