:root{--fond:#eceff3;--papier:#fff;--encre:#16222e;--gris:#51606f;--petrole:#0e5a6b;--etiquette:#f4c430;--erreur:#b3261e;--trait:#cbd3dc}*{box-sizing:border-box}body{background:var(--fond);color:var(--encre);margin:0;font-family:Segoe UI,system-ui,sans-serif;font-size:1.0625rem;line-height:1.5}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--petrole);outline-offset:2px}h1{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.75rem}.sous-titre{color:var(--gris);margin:0 0 1.5rem}.erreur{color:var(--erreur);text-align:center;min-height:1.5rem;margin:.5rem 0}.info{border-left:5px solid var(--etiquette);background:#fff6d6;border-radius:4px;margin:0 0 1.25rem;padding:.6rem .9rem}.page{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.carte{background:var(--papier);border:1px solid var(--trait);border-radius:14px;width:min(100%,34rem);padding:2rem}.grille{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;display:grid}.tuile{text-align:left;background:var(--papier);border:1px solid var(--trait);cursor:pointer;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.tuile:hover{border-color:var(--petrole)}.initiale{background:var(--c);color:#fff;border-radius:8px;place-items:center;width:2.75rem;height:2.75rem;font-size:1.25rem;font-weight:700;display:grid}.pin{text-align:center}.pin-nom{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.pin-points{justify-content:center;gap:.9rem;display:flex}.pin-points span{border:2px solid var(--petrole);border-radius:50%;width:1rem;height:1rem}.pin-points span.plein{background:var(--petrole)}.clavier{grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:20rem;margin:0 auto;display:grid}.clavier button{background:var(--papier);border:1px solid var(--trait);cursor:pointer;border-radius:10px;height:4rem;font-size:1.5rem}.clavier button:active:not(:disabled){background:var(--etiquette)}.clavier button:disabled{opacity:.5}.clavier .discret{color:var(--gris);background:0 0;border-color:#0000;font-size:1rem}.champ{margin-bottom:1rem;font-weight:600;display:block}.champ input,.champ select{border:1px solid var(--trait);background:#fff;border-radius:8px;width:100%;margin-top:.3rem;padding:.7rem .8rem;font-weight:400;display:block}.bouton{color:#fff;background:var(--petrole);border:1px solid var(--petrole);cursor:pointer;border-radius:10px;padding:.8rem 1.4rem;font-weight:600}.bouton.second{color:var(--petrole);background:0 0}.entete{background:var(--papier);border-bottom:4px solid var(--etiquette);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.contenu{max-width:60rem;margin:0 auto;padding:2rem 1.5rem}@media (prefers-reduced-motion:no-preference){.tuile,.clavier button{transition:background .12s,border-color .12s}}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}.barre{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.barre h1{margin:0}.filtres{flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;display:flex}.filtres select,.carte textarea{border:1px solid var(--trait);background:#fff;border-radius:8px;padding:.6rem .7rem}.bascule,.segment{border:1px solid var(--petrole);border-radius:10px;display:inline-flex;overflow:hidden}.bascule button,.segment button{color:var(--petrole);cursor:pointer;background:0 0;border:0;padding:.55rem 1rem}.bascule button.actif,.segment button.actif{color:#fff;background:var(--petrole)}.segment{margin:.5rem 0 1rem}.vide{color:var(--gris);text-align:center;padding:1.5rem}.taches{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.tache{text-align:left;background:var(--papier);border:1px solid var(--trait);border-left:8px solid var(--c);cursor:pointer;border-radius:10px;width:100%;padding:.8rem 1rem;display:block}.tache:hover{border-color:var(--c)}.tache-titre{font-weight:600;display:block}.tache-meta{color:var(--gris);flex-wrap:wrap;align-items:center;gap:.3rem .8rem;font-size:.95rem;display:flex}.pastille{color:var(--encre);background:#e3e8ee;border-radius:999px;padding:.05rem .55rem;font-size:.85rem;font-weight:600}.pastille.urgente{background:var(--etiquette)}.pastille.retard{background:var(--erreur);color:#fff}.pastille.en_cours{background:#cfe6ec}.pastille.terminee{background:#d5ebdd}.fond{z-index:10;background:#16222e8c;place-items:start center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modale{margin:auto}.modale.large{width:min(100%,44rem)}.carte h2:first-child{margin-top:0}.actions{justify-content:flex-end;gap:.6rem;display:flex}.actions.gauche{flex-wrap:wrap;justify-content:flex-start;align-items:center}.case{align-items:center;gap:.4rem;margin-bottom:1rem;font-weight:600;display:inline-flex}.actions .case{margin:0}.grille-champs{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0 1rem;display:grid}.etiquette-equipe{color:#fff;background:var(--c);border-radius:6px;padding:.2rem .8rem;font-weight:600}.creation{color:var(--gris);margin:0 0 .5rem;font-size:.95rem}.historique{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.historique li{border-radius:8px;padding:.5rem .8rem}.historique p{margin:.1rem 0 0}.historique .evenement{color:var(--gris);border-left:3px solid var(--trait);background:0 0;border-radius:0;font-size:.95rem}.historique .commentaire{border:1px solid var(--trait);background:#f3f6f9}.historique .qui{font-weight:600}.historique time{color:var(--gris);font-size:.85rem}.ligne-commentaire{gap:.6rem;display:flex}.ligne-commentaire input{border:1px solid var(--trait);border-radius:8px;flex:1;padding:.7rem .8rem}.nav{gap:.4rem;margin-left:1.5rem;margin-right:auto;display:flex}.nav button{color:var(--petrole);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.5rem 1rem;font-weight:600}.nav button.actif{border-bottom-color:var(--petrole)}.ligne-form{flex-wrap:wrap;align-items:end;gap:.8rem 1rem;display:flex}.ligne-form .champ{margin-bottom:0}.carte.ligne-form,.carte.equipe-admin{width:100%;margin-bottom:1rem}.equipe-admin{border-left:8px solid var(--c)}.nom-equipe{border:1px solid var(--trait);border-radius:8px;flex:1;min-width:10rem;padding:.6rem .7rem;font-weight:600}input[type=color]{border:1px solid var(--trait);cursor:pointer;background:#fff;border-radius:8px;width:3rem;height:2.6rem;padding:.1rem}.membres{flex-wrap:wrap;gap:.3rem 1.2rem;margin-top:1rem;display:flex}.membres .case{margin-bottom:0}.defile{overflow-x:auto}.comptes{border-collapse:collapse;background:var(--papier);border:1px solid var(--trait);width:100%}.comptes th,.comptes td{text-align:left;border-bottom:1px solid var(--trait);white-space:nowrap;padding:.6rem .8rem}.comptes select,.champ-pin{border:1px solid var(--trait);background:#fff;border-radius:8px;padding:.45rem .6rem}.champ-pin{width:7.5rem;margin-right:.4rem}.comptes .inactif td{color:var(--gris);background:#f6f7f9}.bouton:disabled{opacity:.45;cursor:not-allowed}@media (width<=40rem){.entete{flex-wrap:wrap}.nav{margin-left:0}}.compteurs{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:1rem 0 .5rem;display:grid}.compteur{color:var(--gris);background:var(--papier);border:1px solid var(--trait);border-radius:10px;padding:.9rem 1rem}.compteur b{color:var(--encre);font-size:2rem;line-height:1.1;display:block}.compteur.alerte{border-color:var(--erreur);background:#fbe9e7}.compteur.alerte b{color:var(--erreur)}.compteur.attention{border-color:var(--etiquette);background:#fff6d6}.tache.activite{border-left-color:var(--trait)}.pieces{flex-wrap:wrap;gap:.75rem;margin:0 0 .8rem;padding:0;list-style:none;display:flex}.piece{border:1px solid var(--trait);background:#fff;border-radius:8px;flex-direction:column;width:9.5rem;padding:.4rem;font-size:.9rem;display:flex}.piece img,.piece .pdf{object-fit:cover;background:#f3f6f9;border-radius:4px;place-items:center;width:100%;height:6.5rem;display:grid}.piece .pdf{color:var(--erreur);font-size:1.4rem;font-weight:700}.piece-nom{text-overflow:ellipsis;white-space:nowrap;margin-top:.3rem;font-weight:600;overflow:hidden}.piece-info{color:var(--gris);font-size:.85rem}.piece-suppr{color:var(--erreur);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:.2rem;padding:0;text-decoration:underline}.ajout-fichier{cursor:pointer;display:inline-block;position:relative}.ajout-fichier input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ajout-fichier:focus-within{outline:3px solid var(--petrole);outline-offset:2px}.cal-titre{text-transform:capitalize;align-self:center;margin:0 .5rem}.cal{background:var(--trait);border:1px solid var(--trait);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.cal-entete{text-align:center;color:var(--gris);background:#f6f7f9;padding:.4rem;font-size:.9rem;font-weight:600}.jour{background:var(--papier);flex-direction:column;gap:3px;min-height:6.5rem;padding:.3rem;display:flex}.cal.semaine .jour{min-height:14rem}.jour.hors{background:#f6f7f9}.jour.hors .num{color:#9aa6b2}.jour.aujourdhui{box-shadow:inset 0 0 0 2px var(--etiquette)}.num{color:var(--gris);text-transform:capitalize;font-size:.9rem;font-weight:600}.aujourdhui .num{color:var(--encre)}.puce{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;color:var(--encre);border:0;border-left:5px solid var(--c);cursor:pointer;background:#f3f6f9;border-radius:4px;padding:.15rem .4rem;font-size:.85rem;display:block;overflow:hidden}.puce:hover{background:#e6edf3}.puce.retard{color:var(--erreur);font-weight:600}.puce.faite{color:#8a97a5;text-decoration:line-through}.marque{text-align:center;width:1.1em;color:var(--encre);background:var(--etiquette);border-radius:50%;margin-right:.25rem;display:inline-block}.plus{text-align:left;color:var(--petrole);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;text-decoration:underline}@media (width<=40rem){.cal.semaine{grid-template-columns:1fr}.cal.semaine .jour{min-height:4rem}.cal.mois .jour{min-height:4.5rem;padding:.15rem}.cal.mois .puce{padding:0 .2rem;font-size:.7rem}}@media (width>=40.01rem){.cal.integre .jour{min-height:8rem}}.logo{object-fit:contain;width:auto;max-width:10rem;height:2.5rem;margin-right:.5rem;display:block}.logo-carte{object-fit:contain;width:auto;max-width:14rem;max-height:4.5rem;margin:0 auto 1.25rem;display:block}.activite{background:var(--papier);border:1px solid var(--trait);border-radius:10px;overflow:hidden}.activite ul{margin:0;padding:0;list-style:none}.ligne-activite{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:baseline;gap:1rem;width:100%;padding:.4rem .9rem;font-size:.9rem;display:flex}.ligne-activite:hover{background:#f6f8fa}.act-texte{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gris);flex:1;overflow:hidden}.act-texte strong{color:var(--encre);font-weight:600}.act-texte em{color:var(--petrole);font-style:normal}.act-texte em:before{content:"— ";color:var(--gris)}.ligne-activite time{color:var(--gris);flex:none;font-size:.8rem}.plus-activite{width:100%;color:var(--petrole);cursor:pointer;background:#f6f8fa;border:0;padding:.4rem;font-size:.85rem;display:block}.cal .jour{--pad:.3rem;padding:var(--pad)}.ev{text-align:left;text-overflow:ellipsis;white-space:nowrap;color:#fff;background:var(--c);cursor:pointer;border:0;border-radius:4px;width:auto;height:1.45rem;padding:0 .45rem;font-size:.85rem;font-weight:600;line-height:1.45rem;display:block;overflow:hidden}.ev:hover{filter:brightness(1.12)}.ev-nom{z-index:1;position:relative}.ev-vide{height:1.45rem}.ev.sd{margin-right:calc(var(--pad) * -1 - 1px);border-top-right-radius:0;border-bottom-right-radius:0;overflow:visible}.ev.sg{margin-left:calc(var(--pad) * -1 - 1px);border-top-left-radius:0;border-bottom-left-radius:0}.ev.sg .ev-nom{visibility:hidden}@media (width<=40rem){.cal.mois .jour{--pad:.15rem;padding:var(--pad)}.cal.mois .ev{height:1.1rem;padding:0 .2rem;font-size:.7rem;line-height:1.1rem}.cal.mois .ev-vide{height:1.1rem}.cal.semaine .ev{border-radius:4px;margin-left:0;margin-right:0;overflow:hidden}.cal.semaine .ev.sg .ev-nom{visibility:visible}}.palette{gap:.5rem;margin-top:.3rem;display:flex}.pastille-couleur{cursor:pointer;border:3px solid #0000;border-radius:50%;width:2rem;height:2rem}.pastille-couleur.actif{border-color:var(--encre);box-shadow:inset 0 0 0 2px #fff}
