:root{--fond:#f2f4f6;--carte:#fff;--texte:#16191d;--texte-doux:#5b6470;--bord:#d5dae0;--entete:#fff;--entete-texte:#16191d;--noir:#16191d;--cyan:#1db1c7;--bleu:#0f7f91;--bleu-fonce:#0b5f6d;--bleu-clair:#e4f6f9;--orange:#f28c28;--vert:#2e7d32;--rouge:#c62828;--ombre:0 2px 6px #00000014;--rayon:16px;--taille-texte:18px;--hauteur-bouton:60px;--epaisseur-bord:1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-contraste=eleve]{--fond:#fff;--carte:#fff;--texte:#000;--texte-doux:#000;--bord:#000;--entete:#fff;--entete-texte:#000;--cyan:#000;--bleu:#004f9e;--bleu-fonce:#002f5f;--bleu-clair:#fff;--ombre:none;--taille-texte:20px;--epaisseur-bord:3px}:root[data-contraste=eleve] body{font-weight:600}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--fond);color:var(--texte);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:var(--taille-texte);-webkit-text-size-adjust:100%;line-height:1.4}a{color:var(--bleu-fonce)}h1,h2,h3{margin:0 0 12px;line-height:1.2}h1{font-size:1.5em}h2{font-size:1.25em}h3{font-size:1.05em}.app{flex-direction:column;min-height:100dvh;display:flex}.entete{z-index:20;background:var(--entete);color:var(--entete-texte);border-bottom:4px solid var(--cyan);padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;align-items:center;gap:12px;min-height:64px;display:flex;position:sticky;top:0}.entete img.logo{width:auto;height:38px;display:block}.entete .titre{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.05em;font-weight:700;overflow:hidden}.entete .retour{background:var(--carte);border:2px solid var(--bord);color:var(--texte);cursor:pointer;border-radius:14px;flex:none;place-items:center;width:52px;height:52px;display:grid}.contenu{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:16px 16px 120px}.nav-bas{z-index:20;background:var(--carte);border-top:var(--epaisseur-bord) solid var(--bord);padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.nav-bas a{max-width:160px;color:var(--texte-doux);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:60px;padding:6px 0;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nav-bas a.actif{color:var(--bleu-fonce);background:var(--bleu-clair)}:root[data-contraste=eleve] .nav-bas a.actif{outline:3px solid #000}.btn{min-height:var(--hauteur-bouton);cursor:pointer;border:var(--epaisseur-bord) solid transparent;-webkit-user-select:none;user-select:none;background:var(--bleu);color:#fff;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:1em;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn.secondaire{background:var(--carte);color:var(--texte);border:2px solid var(--bord)}.btn.danger{background:var(--rouge);color:#fff}.btn.vert{background:var(--vert);color:#fff}.btn.plein{width:100%}.btn.noir{background:var(--noir);color:#fff}.btn.rond{right:18px;bottom:calc(env(safe-area-inset-bottom) + 92px);z-index:15;background:var(--orange);border-radius:50%;width:68px;height:68px;padding:0;position:fixed;box-shadow:0 4px 14px #00000040}.rangee-boutons{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.rangee-boutons .btn{flex:200px}.carte{background:var(--carte);border-radius:var(--rayon);box-shadow:var(--ombre);border:var(--epaisseur-bord) solid var(--bord);margin-bottom:14px;padding:16px}.liste-chantiers{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.carte-chantier{color:inherit;border-left:8px solid var(--bleu);text-decoration:none;display:block}.carte-chantier.termine{border-left-color:var(--vert)}.carte-chantier.archive{opacity:.85;border-left-color:#8a939c}.carte-chantier .nom{margin-bottom:4px;font-size:1.15em;font-weight:800}.carte-chantier .ligne{color:var(--texte-doux);align-items:center;gap:8px;margin-top:4px;display:flex}.badges{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.badge{color:#fff;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-block}.badge.contour{color:var(--texte);border:2px solid var(--bord);background:0 0}.tuiles{grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;display:grid}@media (width>=700px){.tuiles{grid-template-columns:repeat(3,1fr)}}@media (width>=1000px){.tuiles{grid-template-columns:repeat(4,1fr)}}.tuile{color:#fff;cursor:pointer;text-align:left;min-height:130px;box-shadow:var(--ombre);border:none;border-radius:20px;flex-direction:column;justify-content:space-between;padding:16px;font-size:1.05em;font-weight:800;text-decoration:none;display:flex;position:relative}.tuile:active{transform:scale(.97)}.tuile .bientot{color:#fff;background:#00000059;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;position:absolute;top:10px;right:10px}:root[data-contraste=eleve] .tuile{border:3px solid #000}.onglets{gap:8px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.onglets button{background:var(--carte);min-height:52px;color:var(--texte);border:2px solid var(--bord);cursor:pointer;border-radius:999px;flex:none;padding:0 18px;font-size:1em;font-weight:700}.onglets button.actif{background:var(--noir);color:#fff;border-color:var(--noir)}.champ{margin-bottom:16px}.champ label{margin-bottom:6px;font-weight:700;display:block}.champ input,.champ select,.champ textarea,input.recherche{border:2px solid var(--bord);background:var(--carte);width:100%;min-height:58px;color:var(--texte);border-radius:12px;padding:12px 16px;font-size:1em}:root[data-contraste=eleve] .champ input,:root[data-contraste=eleve] .champ select,:root[data-contraste=eleve] .champ textarea{border-width:3px;border-color:#000}.champ textarea{resize:vertical;min-height:120px}.champ input:focus,.champ select:focus,.champ textarea:focus,input.recherche:focus{outline:3px solid var(--bleu);outline-offset:1px}.grille-2{grid-template-columns:1fr;gap:0 16px;display:grid}@media (width>=700px){.grille-2{grid-template-columns:1fr 1fr}}.aide{color:var(--texte-doux);margin-top:4px;font-size:.9em}.choix-multiples{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.choix{border:2px solid var(--bord);background:var(--carte);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:10px;min-height:58px;padding:0 14px;font-weight:700;display:flex}.choix.coche{color:#fff;border-color:#0000}.choix input{width:24px;height:24px}.message{border-radius:12px;margin-bottom:14px;padding:14px 16px;font-weight:600}.message.erreur{color:#8e1b1b;background:#fdecea;border:2px solid #f5c2c0}.message.ok{color:#1b5e20;background:#e8f5e9;border:2px solid #b9dfbb}.message.info{background:var(--bleu-clair);color:var(--bleu-fonce);border:2px solid #b5dcee}.hors-ligne{background:var(--orange);color:#000;text-align:center;padding:8px 12px;font-size:16px;font-weight:800}.vide{text-align:center;color:var(--texte-doux);padding:40px 16px}.ecran-connexion{background:linear-gradient(165deg,#fff 0%,#eef3f5 50%,#cfeef3 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.ecran-connexion .boite{background:var(--carte);border-radius:24px;width:100%;max-width:440px;padding:28px 22px;box-shadow:0 10px 40px #00000059}.ecran-connexion .logo-connexion{width:100%;max-width:320px;margin:0 auto 20px;display:block}.infos dl{grid-template-columns:1fr;gap:2px 16px;margin:0;display:grid}.infos dt{color:var(--texte-doux);margin-top:10px;font-size:.85em}.infos dd{margin:0;font-weight:700}.ligne-personne{border-bottom:1px solid var(--bord);align-items:center;gap:12px;padding:12px 0;display:flex}.ligne-personne:last-child{border-bottom:none}.avatar{background:var(--bleu-fonce);color:#fff;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.ligne-personne .qui{flex:1;min-width:0}.ligne-personne .qui .n{font-weight:800}.ligne-personne .qui .r{color:var(--texte-doux);font-size:.9em}.btn-icone{background:var(--bleu-clair);width:56px;height:56px;color:var(--bleu-fonce);border:2px solid var(--bord);cursor:pointer;border-radius:14px;flex:none;place-items:center;text-decoration:none;display:grid}.entete-section{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.entete-section h2{margin:0}.mdp-provisoire{letter-spacing:1px;text-align:center;border:3px dashed var(--bleu);-webkit-user-select:all;user-select:all;border-radius:14px;margin:12px 0;padding:16px;font-size:1.6em;font-weight:800}.interrupteur{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.interrupteur input{width:32px;height:32px}.chargement{min-height:50dvh;color:var(--texte-doux);place-items:center;font-weight:700;display:grid}.note{border-top:1px solid var(--bord);padding:12px 0}.note-entete{align-items:center;gap:10px;margin-bottom:4px;display:flex}.note-entete span{color:var(--texte-doux);flex:1;font-size:.85em}.btn-icone.petit{width:44px;height:44px}:root[data-mode=nuit]{--fond:#0e1013;--carte:#181b20;--texte:#eef1f4;--texte-doux:#9aa4af;--bord:#2c323a;--entete:#12151a;--entete-texte:#eef1f4;--noir:#2a3038;--bleu:#1593a8;--bleu-fonce:#6fd3e3;--bleu-clair:#13313a;--ombre:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-mode=nuit] .entete img.logo,:root[data-mode=nuit] .logo-connexion{background:#fff;border-radius:10px;padding:4px 8px}:root[data-mode=nuit] .ecran-connexion{background:linear-gradient(165deg,#0e1013 0%,#12232a 100%)}:root[data-mode=nuit] .message.erreur{color:#ffb4ab;background:#3a1616;border-color:#6b2a2a}:root[data-mode=nuit] .message.ok{color:#a5e0ae;background:#13301a;border-color:#24552f}:root[data-mode=nuit] .message.info{color:#9fe3ee;background:#13313a;border-color:#1f5560}:root[data-mode=nuit] .onglets button.actif{color:#0e1013;background:#eef1f4;border-color:#eef1f4}:root[data-mode=nuit] .tuile{filter:brightness(.85)}:root[data-mode=nuit] .btn.noir,:root[data-mode=nuit] .choix.coche{color:#fff;background:var(--bleu)!important}
