:root{
    color-scheme:dark;
    --bg:#090b0d;
    --panel:#12161a;
    --panel-soft:#171c21;
    --border:#29313a;
    --text:#f5f7fa;
    --muted:#98a4b2;
    --blue:#0a7cff;
    --blue-soft:#0c2540;
    --green:#32d583;
    --red:#ff6868;
    --amber:#f4bb58;
    --radius:18px;
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 80% -5%,rgba(10,124,255,.12),transparent 30rem),
        radial-gradient(circle at -10% 35%,rgba(10,124,255,.05),transparent 26rem),
        var(--bg);
    color:var(--text);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:16px;
    line-height:1.55;
}

.site-header{border-bottom:1px solid rgba(255,255,255,.07);background:rgba(9,11,13,.82);backdrop-filter:blur(18px)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;width:min(100% - 36px,980px);min-height:76px;margin:0 auto}
.brand-logo{display:block;width:142px;height:auto}
.brand-logo-fpms{width:170px;max-height:62px;object-fit:contain;object-position:left center}
.secure-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:650}
.secure-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(10,124,255,.11)}

.container{width:min(100% - 36px,900px);margin:0 auto;padding:46px 0 72px}
.container.snow-container{max-width:780px}
.hero{margin-bottom:28px;padding:4px 2px 10px}
.eyebrow{margin:0 0 9px;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
h1,h2{margin:0;color:var(--text);letter-spacing:-.03em;line-height:1.15}
h1{font-size:clamp(30px,6vw,48px)}
h2{font-size:20px}
.hero-copy{max-width:600px;margin:12px 0 0;color:var(--muted)}
.portail-locataire{display:inline-flex;align-items:center;margin-top:16px;padding:7px 11px;color:#bdd9ff;background:var(--blue-soft);border:1px solid rgba(10,124,255,.28);border-radius:999px;font-size:12px;font-weight:750}

.card{margin-bottom:16px;padding:24px;background:linear-gradient(145deg,var(--panel-soft),var(--panel));border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 60px rgba(0,0,0,.14)}
.card.primary-card{padding:28px;border-color:rgba(10,124,255,.35);background:linear-gradient(145deg,rgba(12,37,64,.72),var(--panel) 70%)}
.card-title{margin-bottom:20px}
.label{margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.value{margin-top:2px;color:var(--text);font-size:18px;font-weight:650}
.value.large{font-size:clamp(25px,4vw,34px);letter-spacing:-.025em}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.info-block{min-width:0;padding:3px 0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 17px;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:11px;font-weight:750;text-decoration:none;transition:transform .15s ease,filter .15s ease}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.secondary{color:#dceaff;background:var(--blue-soft);border-color:rgba(10,124,255,.35)}
.statut{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;color:#ddebff;background:var(--blue-soft);border:1px solid rgba(10,124,255,.3);border-radius:999px;font-size:14px;font-weight:800}
.statut::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}

.historique{margin-top:22px}
.historique-item{position:relative;margin-left:8px;padding:0 0 28px 30px;border-left:2px solid var(--border)}
.historique-item:last-child{padding-bottom:2px;border-left-color:transparent}
.historique-point{position:absolute;top:3px;left:-8px;width:14px;height:14px;background:var(--bg);border:3px solid var(--blue);border-radius:50%;box-shadow:0 0 0 4px rgba(10,124,255,.08)}
.historique-statut{font-size:16px;font-weight:800}
.historique-date{margin-top:4px;color:var(--muted);font-size:13px}
.facture-payee{color:var(--green)}
.paiement-badge{display:inline-flex;margin-top:9px;padding:6px 10px;color:#baf2d5;background:rgba(50,213,131,.12);border:1px solid rgba(50,213,131,.3);border-radius:999px;font-size:12px;font-weight:800}
.facture-actions{margin-top:13px}

.status-card{position:relative;overflow:hidden}
.status-card::after{content:"";position:absolute;right:-50px;bottom:-80px;width:190px;height:190px;background:radial-gradient(circle,rgba(10,124,255,.1),transparent 67%);pointer-events:none}
.status-card p:last-child{margin-bottom:0}
.statut.attente{color:#d5d9df;background:#252c34;border-color:#3a4653}.statut.attente::before{background:#9aa4b0}
.statut.approche{color:#ddebff;background:#102d52;border-color:#185ca8}.statut.approche::before{background:#4d9dff}
.statut.termine{color:#baf2d5;background:#113626;border-color:#216e4b}.statut.termine::before{background:var(--green)}
.statut.alerte{color:#ffd0cb;background:#421d1a;border-color:#8d362d}.statut.alerte::before{background:var(--red)}
.notice{border-color:rgba(10,124,255,.42)}
.muted{color:var(--muted)}
.photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#070809;border:1px solid var(--border);border-radius:13px;transition:transform .15s ease,border-color .15s ease}
.photo:hover{transform:translateY(-2px);border-color:var(--blue)}
.photo-count{margin:14px 0 0;font-size:13px}
.privacy-note{display:flex;gap:11px;align-items:flex-start;color:var(--muted);font-size:13px}.privacy-note::before{content:"✓";display:grid;place-items:center;flex:0 0 24px;height:24px;color:var(--blue);background:var(--blue-soft);border-radius:50%;font-weight:900}
.error{padding:20px;color:#ffd3d3;background:#3b1719;border:1px solid rgba(255,104,104,.45);border-radius:14px}

.site-footer{padding:8px 0 0;color:#697582;font-size:12px;text-align:center}

@media(max-width:700px){
    .site-header-inner{min-height:68px}.brand-logo{width:125px}.brand-logo-fpms{width:145px;max-height:54px}.secure-label span{display:none}
    .container{width:min(100% - 24px,900px);padding:30px 0 48px}
    .grid{grid-template-columns:1fr;gap:18px}.card,.card.primary-card{padding:20px}
    .hero{margin-bottom:20px}.hero-copy{font-size:14px}.btn{width:100%}
    .photos{grid-template-columns:1fr}
}
