/* Page Gestion immobiliere : l'immeuble de la scene d'en-tete et ses logements.
   Les fenetres s'allument au rythme des etapes que ti-anim.js pose sur la scene
   (classes p1, p2...). Sans script, l'immeuble reste allume en entier. */
.gi-scene .ti-body{gap:9px}
.gi-duo{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:12px;align-items:stretch}
.gi-plex{border:1px solid #eae6f0;border-radius:12px;background:linear-gradient(180deg,#fbf7f4 0%,#fff 70%);padding:10px 8px 0;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.gi-plex svg{width:100%;height:auto;display:block}
.gi-plex small{display:block;text-align:center;padding:6px 0 7px;font-size:9.5px}
.gi-mur{fill:#f3e6dc;stroke:#d9c2b2;stroke-width:1}
.gi-brique{stroke:#ead6c8;stroke-width:.8}
.gi-corn{fill:#5b4d6c}
.gi-balc{stroke:#5b4d6c;stroke-width:1.6;fill:none;stroke-linecap:round}
.gi-esc{stroke:#7a6c8c;stroke-width:1.4;fill:none;stroke-linecap:round}
.gi-porte{fill:#6f6382}
.gi-f{stroke-width:1;transition:fill .6s ease,stroke .6s ease,filter .6s ease}
.gi-f,.ti-js.p1 .gi-a1,.ti-js.p2 .gi-a2{fill:#ffd9a8;stroke:#f2b46b;filter:drop-shadow(0 0 4px rgba(255,170,80,.55))}
.ti-js .gi-f{fill:#e4dfea;stroke:#cfc7da;filter:none}
.ti-js.p1 .gi-a1,.ti-js.p2 .gi-a2{fill:#ffd9a8;stroke:#f2b46b;filter:drop-shadow(0 0 4px rgba(255,170,80,.55))}
.ti-js.p3 .gi-u202{fill:#ffb3a3;stroke:#e85543;filter:none;animation:gi-pouls 1.1s ease-in-out infinite}
.ti-js.p6 .gi-u202{fill:#c9efd9;stroke:#2f9e62;animation:none}
@keyframes gi-pouls{50%{fill:#ffd2c8}}
.gi-unites{display:flex;flex-direction:column;gap:5px;min-width:0}
.gi-u{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #eae6f0;border-radius:9px;padding:5px 8px;font-size:10.5px;min-width:0}
.gi-u>b{font-size:10.5px;color:var(--hd)}
.gi-u>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.gi-pa{display:inline-flex;align-items:center;justify-content:center;width:62px;border-radius:99px;padding:2px 0;font-size:9.5px;font-weight:600;white-space:nowrap;background:var(--sl-bg);color:var(--sl-t);box-shadow:inset 0 0 0 1px var(--sl-ring)}
.gi-pa.gi-ok{background:rgba(47,158,98,.1);color:#1d7a47;box-shadow:inset 0 0 0 1px rgba(47,158,98,.3)}
.gi-pa.gi-chaud{background:var(--acc-bg);color:var(--acc-t);box-shadow:inset 0 0 0 1px var(--acc-ring)}
.gi-demande{border:1px solid var(--acc-ring);background:#fff8f5;border-radius:12px;padding:9px 11px;display:flex;flex-direction:column;gap:5px;font-size:10.5px;min-width:0}
.gi-demande b{color:var(--hd)}
.gi-demande .gi-l{display:flex;align-items:center;gap:8px;min-width:0}
.gi-demande .gi-l>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.gi-photo{flex:0 0 auto;width:30px;height:22px;border-radius:5px;background:linear-gradient(135deg,#cfd8e3,#9fb0c4);position:relative;overflow:hidden}
.gi-photo::after{content:"";position:absolute;left:6px;bottom:4px;width:16px;height:7px;border-radius:50%;background:rgba(60,110,180,.55)}

/* Calendrier des avis */
.gi-maquette{display:inline-flex;align-items:center;gap:6px;margin:0 auto 10px;border-radius:99px;padding:4px 11px;font-size:11px;font-weight:600;color:#5b4d6c;background:rgba(95,82,115,.08);box-shadow:inset 0 0 0 1px rgba(95,82,115,.2)}
.gi-frise{position:relative;height:46px;margin:4px 4px 2px}
.gi-frise::before{content:"";position:absolute;left:0;right:0;top:22px;height:3px;border-radius:3px;background:#eae6f0}
.gi-fen{position:absolute;top:16px;height:15px;border-radius:5px;background:var(--acc-bg);box-shadow:inset 0 0 0 1px var(--acc-ring);left:0;width:0;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.gi-jal{position:absolute;top:0;font-size:9px;color:var(--mut);transform:translateX(-50%);white-space:nowrap}
.gi-jal::after{content:"";position:absolute;left:50%;top:15px;width:2px;height:17px;margin-left:-1px;background:#cfc7da;border-radius:2px}
.gi-jal.gi-fin{color:var(--hd);font-weight:600}
.gi-jal.gi-fin::after{background:var(--acc)}
.gi-calc{display:flex;flex-direction:column;border:1px solid #eae6f0;border-radius:12px;overflow:hidden}
.gi-calc>div{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-bottom:1px solid #f1eef5;font-size:10.5px}
.gi-calc>div:last-child{border-bottom:0;background:var(--soft);font-weight:600;color:var(--hd)}
.gi-calc span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Etiquettes d etat des cartes de fonctions */
.gi-etat{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}
.gi-etat-livre{background:rgba(47,158,98,.1);color:#17693c;box-shadow:inset 0 0 0 1px rgba(47,158,98,.28)}
.gi-etat-chantier{background:rgba(95,82,115,.08);color:#5b4d6c;box-shadow:inset 0 0 0 1px rgba(95,82,115,.22)}
.gi-source{font-size:13px;color:#6f6382}
.gi-source a{color:#a8331f;text-decoration:underline;text-underline-offset:3px}

@container (max-width:470px){
  .gi-duo{grid-template-columns:minmax(0,1fr)}
  .gi-plex{flex-direction:row;align-items:flex-end;gap:10px;padding:8px 10px 0}
  .gi-plex svg{width:96px;flex:0 0 96px}
  .gi-plex small{text-align:left;padding-bottom:10px}
  .gi-u{grid-template-columns:30px minmax(0,1fr) auto}
}
@media (prefers-reduced-motion:reduce){
  .ti-js.p3 .gi-u202{animation:none}
  .gi-fen{transition:none}
}
.gi-etat-partiel{background:rgba(232,85,67,.08);color:#a8331f;box-shadow:inset 0 0 0 1px rgba(232,85,67,.25)}
.min-w-\[640px\]{min-width:640px}
.min-w-\[760px\]{min-width:760px}
@media (min-width:768px){.gi-indice{display:none}}
@media (min-width:1024px){.gi-colle{position:sticky;top:7rem}}
.cadre-defile td a{color:#a8331f;text-decoration:underline;text-underline-offset:3px}
.gi-plan .ti-chip{flex:0 0 auto}
.gi-duo{grid-template-columns:minmax(0,170px) minmax(0,1fr)}
@media (min-width:1024px){.gi-tete{align-items:start}.gi-tete>.ti-cel{margin-top:2.6rem}}
.gi-reperes{display:flex;flex-direction:column;border:1px solid #e7e2ee;border-radius:14px;overflow:hidden}
.gi-reperes>div{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:12px;padding:10px 14px;border-top:1px solid #f1eef5;font-size:14.5px;line-height:1.4}
.gi-reperes>div:first-child{border-top:0}
.gi-reperes dt{font-weight:600;color:#150c1f}
.gi-reperes dd{margin:0;color:#473a5a}
@media (min-width:1024px) and (max-width:1279px){.gi-tete{grid-template-columns:minmax(0,1fr)!important}.gi-tete>.ti-cel{margin-top:0}}
.gi-outils{display:flex;flex-wrap:wrap;gap:6px;min-height:0}
.gi-outils .gi-outil{font-size:10.5px;padding:4px 10px}
.gi-outil{transition:opacity .5s ease,color .5s ease}
.ti-js.p2 .gi-outil{opacity:.4;text-decoration:line-through}
.gi-dossier{gap:7px}
.gi-dossier .ti-chip{flex:0 0 auto;min-width:76px;justify-content:center}
.gi-une{display:flex;flex-direction:column;gap:2px;border-radius:10px;padding:7px 10px;background:linear-gradient(90deg,rgba(255,180,120,.14),rgba(232,85,67,.06));box-shadow:inset 0 0 0 1px rgba(232,85,67,.18);font-size:10.5px;min-width:0}
.gi-une b{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--acc-t)}
.gi-une span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.gi-pj{display:flex;flex-wrap:wrap;gap:6px}
.gi-fil{display:flex;flex-direction:column;gap:6px;position:relative;padding-left:4px}
.gi-ev{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #eae6f0;border-radius:10px;padding:7px 10px;font-size:10.5px;min-width:0}
.gi-ev .gi-h{font-variant-numeric:tabular-nums;font-weight:600;color:var(--acc-t);padding-top:1px}
.gi-ev b{display:block;color:var(--hd);font-size:11px}
.gi-ev small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-num{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-weight:700;font-size:15px;color:#a8331f;background:rgba(232,85,67,.08);box-shadow:inset 0 0 0 1px rgba(232,85,67,.2)}
@media (min-width:1024px) and (max-width:1279px){.gi-large{grid-template-columns:minmax(0,1fr)!important}}
.gi-h3{font-size:clamp(1.4rem,1rem+1.3vw,1.9rem);font-weight:700;line-height:1.15;letter-spacing:-.025em}
@media (min-width:1024px){.gi-auto{grid-template-columns:minmax(0,1fr) 400px}}
@media (min-width:1280px){.gi-auto{grid-template-columns:minmax(0,1fr) 470px}}
/* Bail et compte du locataire, releves 31, portail des proprietaires */
.gi-compte .gi-u{grid-template-columns:46px minmax(0,1fr) auto}
.nv-li .gi-pa{flex:0 0 auto;width:74px}
.gi-compte .gi-pa,.gi-lot .gi-pa{width:74px}
@container (max-width:470px){.gi-sc .ti-top>.ti-chip{display:none}}

/* Copropriete, mandats, inspections, messages aux occupants et location */
.gi-v3 .nv-li>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-v3 .nv-li>.gi-l2{display:flex;align-items:center;gap:8px}
.gi-l2>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-l2 .gi-photo{width:26px;height:19px}
.gi-cmp{display:flex;gap:4px;flex:0 0 auto}
.nv-li .gi-cmp .gi-pa,.gi-cmp .gi-col{width:88px}
.gi-col{text-align:center;font-size:9px;font-weight:600;color:var(--mut)}
.gi-ent{font-size:9px;color:var(--mut)}
.gi-pa.gi-us{background:rgba(95,82,115,.08);color:#5b4d6c;box-shadow:inset 0 0 0 1px rgba(95,82,115,.25)}
.gi-canal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:0}
.gi-canal .ti-chip,.gi-creneaux .ti-chip{transition:background-color .4s ease,color .4s ease,box-shadow .4s ease}
.ti-chip.gi-on{background:var(--acc-bg);color:var(--acc-t);box-shadow:inset 0 0 0 1px var(--acc-ring)}
.gi-v3 .ti-msg p{width:100%}
.gi-v3 .ti-msg p span{display:block;min-height:2.9em}
.gi-annonce{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;border:1px solid #eae6f0;border-radius:12px;padding:8px;min-width:0}
.gi-img{position:relative;min-height:66px;border-radius:8px;overflow:hidden;background:linear-gradient(165deg,#fbefe6 0%,#f0dccd 55%,#d9c2b2 100%)}
.gi-img::before{content:"";position:absolute;left:12px;right:12px;top:12px;height:26px;border-radius:3px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px #e3cdbd}
.gi-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:#cdb6a6}
.gi-ann{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:10.5px}
.gi-ann b,.gi-ann small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gi-ann b{color:var(--hd)}
.gi-pub{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--acc-t)}
.gi-creneaux{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.gi-v3 .gi-calc>div{font-size:10px}
.gi-v3 .gi-calc>div>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:1280px){.gi-inv>.gi-colle{order:-1}}
.gi-v3 .ti-body{padding-bottom:50px}
@container (max-width:420px){
  .nv-li .gi-cmp .gi-pa,.gi-cmp .gi-col{width:80px}
  .gi-v3 .ti-kpi strong{font-size:16px}
  .gi-l2 .gi-photo{display:none}
  .gi-annonce{grid-template-columns:56px minmax(0,1fr)}
}
