:root{--couleur-fond:#f6f7f9;--couleur-texte:#1b1f24;--couleur-secondaire:#5a6470;--couleur-marque:#1f3a5f;--couleur-test:#b45309;color:var(--couleur-texte);background:var(--couleur-fond);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--couleur-fond);min-height:100dvh;margin:0}.bandeau-test{background:var(--couleur-test);color:#fff;text-align:center;padding:.25rem 1rem;font-size:.875rem}.accueil{padding:1.5rem 0}.accueil h1{color:var(--couleur-marque);margin:0 0 .5rem;font-size:2rem}.accueil p{color:var(--couleur-secondaire);margin:0}.entete{justify-content:space-between;align-items:center;gap:1rem;max-width:40rem;margin:0 auto;padding:.75rem 1rem;display:flex}.entete-compte{color:var(--couleur-secondaire);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.page-compte{max-width:26rem;margin:0 auto;padding:2.5rem 1rem}.page-compte .marque{color:var(--couleur-marque);margin:0;font-weight:600}.page-compte h1{margin:.25rem 0 1.5rem;font-size:1.5rem}.formulaire{flex-direction:column;gap:1rem;display:flex}.formulaire label{flex-direction:column;gap:.25rem;font-weight:500;display:flex}.formulaire input,.formulaire select{color:var(--couleur-texte);background:#fff;border:1px solid #c4cad2;border-radius:.5rem;padding:.75rem;font-size:1rem}.formulaire input:focus,.formulaire select:focus{outline:2px solid var(--couleur-marque);outline-offset:1px}.formulaire button,.bouton-secondaire{border:1px solid var(--couleur-marque);background:var(--couleur-marque);color:#fff;font:inherit;cursor:pointer;border-radius:.5rem;padding:.75rem 1rem;font-weight:600}.formulaire button:disabled{opacity:.6;cursor:wait}.bouton-secondaire{white-space:nowrap;color:var(--couleur-marque);background:0 0;flex-shrink:0;padding:.5rem .75rem;font-size:.875rem}.aide{color:var(--couleur-secondaire);margin:0;font-size:.875rem}.formulaire label+.aide{margin-top:-.5rem}.message{border-radius:.5rem;margin:0 0 1rem;padding:.75rem}.message-erreur{color:#8a1c12;background:#fdecea}.message-info{color:var(--couleur-marque);background:#e8f1fb}.liens-compte{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:1.5rem;display:flex}.liens-compte a{color:var(--couleur-marque)}.page-app{max-width:40rem;margin:0 auto;padding:.5rem 1rem 3rem}.page-app h1{margin:.5rem 0 1rem;font-size:1.5rem}.lien-retour,.lien-annuler{color:var(--couleur-marque)}.lien-annuler{text-align:center}.menu{flex-direction:column;gap:.5rem;display:flex}.menu a,.liste a{color:var(--couleur-texte);background:#fff;border:1px solid #dde1e6;border-radius:.5rem;flex-direction:column;padding:1rem;text-decoration:none;display:flex}.menu a{font-weight:600}.liste{flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.liste a span{color:var(--couleur-secondaire);font-size:.875rem}.bouton{background:var(--couleur-marque);color:#fff;text-align:center;border-radius:.5rem;margin-top:1rem;padding:.75rem 1rem;font-weight:600;text-decoration:none;display:block}.champ{flex-direction:column;gap:.25rem;display:flex}.champ>label{font-weight:500}.formulaire .champ input[type=file]{padding:.5rem}.formulaire [aria-invalid=true]{border-color:#8a1c12}.erreur-champ{color:#8a1c12;margin:0;font-size:.875rem}.choix{border:0;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;display:flex}.choix legend{margin-bottom:.25rem;padding:0;font-weight:500}.formulaire .choix label{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.formulaire .choix input{width:1.25rem;height:1.25rem;margin:0}.apercu-signature{background:#fff;border:1px solid #dde1e6;border-radius:.5rem;align-self:flex-start;max-width:100%;max-height:8rem;padding:.5rem}.page-app h2{margin:1.5rem 0 .5rem;font-size:1.125rem}.formulaire h2{margin:1rem 0 -.5rem}.liste .lots{flex-direction:column;gap:.25rem;margin:.25rem 0 0 1rem;padding:0;list-style:none;display:flex}.liste .lots a{border-left:3px solid var(--couleur-marque);padding:.75rem}.choix .erreur-champ{flex-basis:100%}.formulaire .locataire{border:1px solid #dde1e6;border-radius:.5rem;flex-direction:column;gap:1rem;margin:0;padding:1rem;display:flex}.formulaire .locataire legend{padding:0 .25rem;font-weight:600}.formulaire .bouton-secondaire{color:var(--couleur-marque);background:0 0;align-self:flex-start}.tableau-lots{flex-direction:column;gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:flex}.carte-lot a{color:var(--couleur-texte);overflow-wrap:anywhere;background:#fff;border:1px solid #dde1e6;border-left:6px solid #2f7d4f;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:1rem;text-decoration:none;display:flex}.carte-lot-vacant a{border-color:#e9b98a;border-left-color:var(--couleur-test);background:#fff7ed}.carte-lot-tete{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.etat-lot{border-radius:1rem;flex-shrink:0;padding:.125rem .5rem;font-size:.875rem;font-weight:600}.etat-lot-occupe{color:#1e5b37;background:#e6f4ea}.etat-lot-vacant{background:var(--couleur-test);color:#fff;text-transform:uppercase}.carte-lot dl{grid-template-columns:auto minmax(0,1fr);gap:.125rem .75rem;margin:0;font-size:.875rem;display:grid}.carte-lot dt{color:var(--couleur-secondaire)}.carte-lot dd{margin:0}.liste-echeances{flex-direction:column;gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:flex}.carte-echeance{overflow-wrap:anywhere;background:#fff;border:1px solid #dde1e6;border-radius:.5rem;padding:.75rem 1rem}.carte-echeance dl{grid-template-columns:auto minmax(0,1fr);gap:.125rem .75rem;margin:.5rem 0 0;font-size:.875rem;display:grid}.carte-echeance dt{color:var(--couleur-secondaire)}.carte-echeance dd{text-align:right;margin:0}.carte-echeance-tete{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.statut-echeance{border-radius:1rem;flex-shrink:0;padding:.125rem .5rem;font-size:.875rem;font-weight:600}.statut-echeance-a_venir{color:var(--couleur-secondaire);background:#eef0f3}.statut-echeance-partiel{color:#8a4b0f;background:#fff7ed}.statut-echeance-solde{color:#1e5b37;background:#e6f4ea}.liste-paiements{margin:.5rem 0 0;padding:0 0 0 1rem;font-size:.875rem}.carte-echeance>.bouton-secondaire,.formulaire-paiement{margin-top:.75rem}.statut-echeance-non_paye{color:#8a1c12;background:#fdecea}.liste-paiements li+li{margin-top:.25rem}.bouton-lien{color:#8a1c12;font:inherit;cursor:pointer;background:0 0;border:0;margin-left:.5rem;padding:.25rem 0;text-decoration:underline}.confirmation-suppression{background:#fdecea;border-radius:.5rem;margin:.5rem 0;padding:.75rem}.confirmation-suppression p{margin:0 0 .5rem}.boutons-confirmation{flex-wrap:wrap;gap:.5rem;display:flex}.bouton-danger{color:#fff;font:inherit;cursor:pointer;background:#8a1c12;border:1px solid #8a1c12;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}
