/* ===== DESIGN SYSTEM V1 — namespacé .v1c =====
   Extrait de work/design/maquettes/ecrans-v1.html (l'artifact figé validé 31/08).
   GÉNÉRÉ par work/design/extract-v1c.py — réextraire depuis l'artifact, ne pas éditer les règles à la main.
   Le chrome de galerie (.frame/.phone/.screen/.notch/.status/.cap…) est retiré :
   le natif EST l'appareil. `.brand`/`.field` sont namespacés pour ne PAS entrer en
   collision avec l'ancien app.css (qui a ses propres .brand/.field). */
.v1c *{box-sizing:border-box;margin:0;padding:0}
.v1c{font-family:var(--f-b);color:var(--ink);background:var(--ground);min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

.v1c{--ground:#eef0f9; --panel:#ffffff; --ink:#211f36; --ink2:#565273; --muted:#8481a0; --line:#e5e3f1;
  --indigo:#4451ab; --immo:#5f6fc9; --immo-b:#eceffb;
  --ok:#4a8f6d; --ok-b:#e8f4ee; --ok-d:#3a7358; --warn:#b3803a; --warn-b:#fbf2e4; --warn-d:#8a6a2f; --red:#b04f54; --red-b:#fbebec; --track:#e7e4f1;
  --tile:#ffffff; --tile-line:#e9e7f4; --scr:#edeef7; --scr-ink:#141227;
  --frame:#1b1a2b; --frame-2:#0f0e1a; --glow:rgba(95,111,201,.42);
  --f-t:"Archivo","Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-b:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  --sh-s:0 1px 2px rgba(24,20,54,.05); --sh-l:0 30px 70px -28px rgba(24,20,54,.45);
  color-scheme:light;
  --logo:url("data:image/png;base64,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");}
.v1c .list, .v1c .journal, .v1c .thread, .v1c .steps, .v1c .wizbody{scrollbar-width:none;-ms-overflow-style:none}
.v1c .list::-webkit-scrollbar, .v1c .journal::-webkit-scrollbar, .v1c .thread::-webkit-scrollbar, .v1c .steps::-webkit-scrollbar, .v1c .wizbody::-webkit-scrollbar{width:0;height:0;display:none}
.v1c svg{display:block}
.v1c button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.v1c h1{font-family:var(--f-t);font-weight:800;font-size:clamp(26px,4vw,38px);letter-spacing:-.028em;line-height:1.05;margin:0 0 12px;text-wrap:balance}
.v1c .ctl{display:flex;gap:10px;margin-top:18px}
.v1c .btn{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ink2);border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:9px 15px;box-shadow:var(--sh-s)}
.v1c .btn:hover{border-color:var(--indigo);color:var(--indigo)}
.v1c .btn.primary{background:var(--indigo);color:#fff;border-color:transparent}
.v1c .btn svg{width:15px;height:15px}
.v1c .hd{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:42px 16px 10px}
.v1c .hd .bk, .v1c .hd .act{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:0 0 34px}
.v1c .hd .bk{background:var(--tile);border:1px solid var(--tile-line);color:var(--ink2);box-shadow:var(--sh-s)}
.v1c .hd .act{background:var(--immo-b);color:var(--immo)}
.v1c .hd .bk svg, .v1c .hd .act svg{width:18px;height:18px}
.v1c .hd .ti{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.v1c .hd .ti b{font-family:var(--f-t);font-weight:800;font-size:18px;line-height:1.15;letter-spacing:-.02em;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .filt{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:2px 16px 12px;margin-bottom:6px;border-bottom:2px solid #cdcbe1}
.v1c .filt .flab{font-family:var(--f-b);font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}
.v1c .filt .sel{flex:1;min-width:0;display:flex;align-items:center;gap:9px;background:var(--immo-b);border:1px solid transparent;border-radius:12px;padding:10px 12px}
.v1c .filt .sel .d{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:0 0 9px;box-shadow:0 0 0 3px var(--ok-b)}
.v1c .filt .sel b{font-family:var(--f-t);font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .filt .sel .cv{margin-left:auto;color:var(--muted);font-size:12px}
.v1c .filt .plus{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:var(--immo-b);color:var(--immo);display:grid;place-items:center}
.v1c .filt .plus svg{width:18px;height:18px}
.v1c .body{flex:1;padding:2px 16px 14px;overflow:hidden;display:flex;flex-direction:column;gap:11px}
.v1c .body.mid{justify-content:center;gap:12px}
.v1c .nav{flex:0 0 auto;display:flex;background:var(--tile);border-top:1px solid var(--tile-line);padding:9px 10px 13px}
.v1c .nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--f-t);font-weight:700;font-size:10.5px;color:var(--muted)}
.v1c .nav button svg{width:23px;height:23px}
.v1c .nav button.on{color:var(--immo)}
.v1c .nav.bien button:nth-child(1){color:var(--ok)}
.v1c .nav.bien button:nth-child(3){color:var(--red)}
.v1c .nav.bien button:nth-child(2).on{color:var(--immo)}
.v1c .nav.bien button:not(.on){opacity:.6}
.v1c .grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.v1c .tile{position:relative;overflow:hidden;background:var(--tile);border:1px solid var(--tile-line);border-radius:18px;padding:16px 12px 15px;box-shadow:var(--sh-s);display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;min-width:0;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}
.v1c .tile:active{transform:scale(.965)}
.v1c .tile.wide{grid-column:1 / -1;flex-direction:row;justify-content:flex-start;text-align:left;gap:13px;padding:14px}
.v1c .tic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 46px;background:var(--immo-b);color:var(--immo)}
.v1c .tic svg{width:24px;height:24px}
.v1c .tn{font-family:var(--f-t);font-weight:700;font-size:14px;letter-spacing:-.01em;line-height:1.14;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v1c .tile.wide .tn{font-size:15px;display:block;white-space:nowrap;text-overflow:ellipsis}
.v1c .stat{position:absolute;top:10px;right:10px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-t);font-weight:800;font-size:11.5px;line-height:1}
.v1c .stat.ok{background:var(--ok-b);color:var(--ok)}
.v1c .stat.wait{background:var(--warn);color:#fff}
.v1c .stat.late{background:var(--red);color:#fff}
.v1c .stat svg{width:14px;height:14px}
.v1c .tile.wide .stat{position:static;margin-left:auto}
.v1c .tile.wide .pill{margin-left:auto}
.v1c .kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v1c .kpi{background:var(--tile);border:1px solid var(--tile-line);border-radius:14px;padding:11px 13px;box-shadow:var(--sh-s)}
.v1c .kpi .k{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.v1c .kpi .v{font-family:var(--f-t);font-weight:800;font-size:19px;letter-spacing:-.02em;margin-top:2px}
.v1c .kpi.at .v{color:var(--warn)}
.v1c .kpi.ok .v{color:var(--ok)}
.v1c .kpi.late .v{color:var(--red)}
.v1c .jtitle{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 0}
.v1c .jtitle b{font-family:var(--f-t);font-weight:800;font-size:13px}
.v1c .jtitle span{font-size:10.5px;color:var(--muted)}
.v1c .journal{flex:1;min-height:0;overflow-y:auto;background:var(--tile);border:1px solid var(--tile-line);border-radius:16px;box-shadow:var(--sh-s)}
.v1c .jrow{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line)}
.v1c .jrow:last-child{border-bottom:0}
.v1c .jrow .ji{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 30px;font-family:var(--f-t);font-weight:800;font-size:14px}
.v1c .jrow .ji.plus{background:var(--ok-b);color:var(--ok)}
.v1c .jrow .ji.moins{background:var(--warn-b);color:var(--warn)}
.v1c .jrow .jx{flex:1;min-width:0}
.v1c .jrow .jx b{font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.v1c .jrow .jx span{font-size:10.5px;color:var(--muted)}
.v1c .jrow .jm{font-family:var(--f-t);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}
.v1c .jrow .jm.p{color:var(--ok)}
.v1c .jrow .jm.m{color:var(--ink2)}
.v1c .annonce{flex:0 0 auto;display:flex;gap:11px;align-items:center;background:var(--tile);border:1px solid var(--tile-line);border-radius:15px;padding:10px;box-shadow:var(--sh-s)}
.v1c .annonce .ph{width:44px;height:44px;border-radius:11px;background:linear-gradient(140deg,#6f7ede,#4a56ac);flex:0 0 44px;display:grid;place-items:center;color:#fff}
.v1c .annonce .ph svg{width:22px;height:22px}
.v1c .annonce .ax b{font-family:var(--f-t);font-weight:800;font-size:14px;display:block}
.v1c .annonce .ax span{font-size:10.5px;color:var(--muted)}
.v1c .annonce .tog{margin-left:auto;flex:0 0 auto;width:42px;height:25px;border-radius:999px;background:var(--ok);position:relative}
.v1c .annonce .tog::after{content:"";position:absolute;top:3px;right:3px;width:19px;height:19px;border-radius:50%;background:#fff}
.v1c .sect{flex:0 0 auto;font-family:var(--f-b);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px;margin:3px 2px 1px}
.v1c .sect::after{content:"";flex:1;height:1px;background:var(--line)}
.v1c .steps{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.v1c .step{background:var(--tile);border:1px solid var(--tile-line);border-radius:14px;box-shadow:var(--sh-s);overflow:hidden;transition:transform .15s ease}
.v1c .step:active{transform:scale(.99)}
.v1c .step-hd{display:flex;align-items:center;gap:11px;padding:10px 12px;cursor:pointer}
.v1c .step .sn{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 28px;font-family:var(--f-t);font-weight:800;font-size:12.5px}
.v1c .step b{font-family:var(--f-t);font-weight:700;font-size:13.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .step .sc{color:var(--muted);font-family:var(--f-t);font-weight:700;font-size:17px;flex:0 0 auto;transition:transform .3s ease}
.v1c .step.open .sc{transform:rotate(90deg)}
.v1c .step.done{background:var(--ok-b);border-color:transparent}
.v1c .step.done .step-hd b, .v1c .step.done .step-hd .sc{color:var(--ok-d)}
.v1c .step.done .sn{background:var(--ok);color:#fff}
.v1c .step.wip{background:var(--warn-b);border-color:transparent}
.v1c .step.wip .step-hd b, .v1c .step.wip .step-hd .sc{color:var(--warn-d)}
.v1c .step.wip .sn{background:var(--warn);color:#fff}
.v1c .step.todo{background:#e9eaf2;border-color:transparent}
.v1c .step.todo .step-hd b, .v1c .step.todo .step-hd .sc{color:var(--muted)}
.v1c .step.todo .sn{background:#d7d8e6;color:var(--muted)}
.v1c .step-body{max-height:0;overflow:hidden;transition:max-height .32s cubic-bezier(.16,.84,.28,1)}
.v1c .step.open .step-body{max-height:210px}
.v1c .step-in{padding:0 12px 12px 51px}
.v1c .step-in p{margin:0 0 9px;font-size:11.5px;color:var(--ink2)}
.v1c .ctas{display:flex;gap:7px;flex-wrap:wrap}
.v1c .pmini{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.v1c .pmini .pc{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-b);font-weight:700;font-size:10.5px;padding:4px 9px;border-radius:999px;background:var(--ok-b);color:var(--ok)}
.v1c .pmini .pc.at{background:var(--warn-b);color:var(--warn)}
.v1c .pmini .pc svg{width:12px;height:12px}
.v1c .cta{background:var(--immo);color:#fff;border-radius:10px;padding:8px 13px;font-family:var(--f-t);font-weight:700;font-size:12px}
.v1c .cta.ghost{background:var(--immo-b);color:var(--immo)}
.v1c .pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-b);font-weight:700;font-size:10.5px;padding:4px 9px;border-radius:999px;background:var(--immo-b);color:var(--immo);white-space:nowrap;flex:0 0 auto}
.v1c .pill.ok{background:var(--ok-b);color:var(--ok)}
.v1c .pill.at{background:var(--warn-b);color:var(--warn)}
.v1c .pill.late{background:var(--red-b);color:var(--red)}
.v1c .list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:9px}
.v1c .litem{display:flex;align-items:center;gap:11px;background:var(--tile);border:1px solid var(--tile-line);border-radius:14px;padding:11px 12px;box-shadow:var(--sh-s)}
.v1c .litem .li{width:38px;height:38px;border-radius:11px;background:var(--immo-b);color:var(--immo);display:grid;place-items:center;flex:0 0 38px}
.v1c .litem .li svg{width:20px;height:20px}
.v1c .litem .lx{flex:1;min-width:0}
.v1c .litem .lx b{font-family:var(--f-t);font-weight:700;font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .litem .lx span{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.v1c .litem .li.warn{background:var(--red-b);color:var(--red)}
.v1c .peri{flex:0 0 auto;display:flex;align-items:center;gap:11px;background:var(--immo-b);border-radius:14px;padding:10px 12px}
.v1c .peri .pk{width:36px;height:36px;border-radius:11px;background:#fff;color:var(--immo);display:grid;place-items:center;flex:0 0 36px}
.v1c .peri .pk svg{width:19px;height:19px}
.v1c .peri .px{flex:1;min-width:0}
.v1c .peri .px b{font-family:var(--f-t);font-weight:700;font-size:12.5px;display:block}
.v1c .peri .px span{font-size:10.5px;color:var(--ink2);display:block;margin-top:1px}
.v1c .gsect{position:sticky;top:0;z-index:1;flex:0 0 auto;background:var(--scr);font-family:var(--f-b);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:7px 2px 4px;display:flex;align-items:center;gap:7px}
.v1c .gsect::after{content:"";flex:1;height:1px;background:var(--line)}
.v1c .gsect .gc{background:var(--line);color:var(--ink2);border-radius:999px;padding:1px 7px;font-size:9.5px;font-family:var(--f-t);font-weight:800;letter-spacing:0}
.v1c .pill.mut{background:var(--line);color:var(--ink2)}
.v1c .conv{display:flex;align-items:center;gap:11px;background:var(--tile);border:1px solid var(--tile-line);border-radius:14px;padding:11px 12px;box-shadow:var(--sh-s)}
.v1c .conv .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:0 0 40px;font-family:var(--f-t);font-weight:800;font-size:13.5px;background:var(--immo-b);color:var(--immo)}
.v1c .conv .cx{flex:1;min-width:0}
.v1c .conv .cx b{font-family:var(--f-t);font-weight:700;font-size:13px;display:block}
.v1c .conv .cx span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.v1c .conv .cb{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--warn);color:#fff;font-family:var(--f-t);font-weight:800;font-size:10.5px;display:grid;place-items:center}
.v1c .facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.v1c .fact{background:var(--tile);border:1px solid var(--tile-line);border-radius:13px;padding:10px;box-shadow:var(--sh-s);text-align:center}
.v1c .fact .k{font-size:9.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.v1c .fact .v{font-family:var(--f-t);font-weight:800;font-size:15px;margin-top:2px}
.v1c .fact.at .v{color:var(--warn)}
.v1c .fact.ok .v{color:var(--ok)}
.v1c .fact.late .v{color:var(--red)}
.v1c .chips{flex:0 0 auto;display:flex;gap:7px;flex-wrap:wrap}
.v1c .chip{font-family:var(--f-t);font-weight:700;font-size:11.5px;padding:8px 12px;border-radius:999px;background:var(--tile);border:1px solid var(--tile-line);color:var(--ink2);box-shadow:var(--sh-s)}
.v1c .chip.on{background:var(--immo);color:#fff;border-color:transparent}
.v1c .opt{display:flex;align-items:center;gap:11px;background:var(--tile);border:1px solid var(--tile-line);border-radius:13px;padding:10px 13px;box-shadow:var(--sh-s)}
.v1c .opt .ox{flex:1;min-width:0}
.v1c .opt .ox b{font-family:var(--f-t);font-weight:600;font-size:12.5px;display:block}
.v1c .opt .ox span{font-size:10.5px;color:var(--muted)}
.v1c .opt .ck{width:38px;height:23px;border-radius:999px;background:var(--track);position:relative;flex:0 0 38px}
.v1c .opt .ck::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:var(--sh-s);transition:transform .2s}
.v1c .opt.on .ck{background:var(--immo)}
.v1c .opt.on .ck::after{transform:translateX(15px)}
.v1c .foot{flex:0 0 auto;display:flex;gap:9px;padding-top:2px;margin-top:auto}
.v1c .foot .cta{flex:1;text-align:center;padding:12px}
.v1c .wsteps{flex:0 0 auto;display:flex;gap:6px;padding:1px 2px 2px}
.v1c .wsteps .ws{flex:1;display:flex;flex-direction:column;gap:5px;font-family:var(--f-b);font-size:8.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);text-align:center}
.v1c .wsteps .ws::before{content:"";height:4px;border-radius:999px;background:var(--track)}
.v1c .wsteps .ws.done::before{background:rgba(95,111,201,.5)}
.v1c .wsteps .ws.on::before{background:var(--immo)}
.v1c .wsteps .ws.on{color:var(--immo)}
.v1c .wsteps .ws.done{color:var(--ink2)}
.v1c .wctx{flex:0 0 auto;display:inline-flex;align-self:flex-start;align-items:center;gap:7px;background:var(--immo-b);color:var(--immo);border-radius:999px;padding:6px 12px;font-family:var(--f-t);font-weight:700;font-size:11px}
.v1c .wctx svg{width:14px;height:14px}
.v1c .wizbody{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:9px}
.v1c .wopt{display:flex;align-items:center;gap:12px;background:var(--tile);border:1.5px solid var(--tile-line);border-radius:15px;padding:12px 13px;box-shadow:var(--sh-s);text-align:left}
.v1c .wopt .wi{width:42px;height:42px;border-radius:12px;background:var(--immo-b);color:var(--immo);display:grid;place-items:center;flex:0 0 42px}
.v1c .wopt .wi svg{width:22px;height:22px}
.v1c .wopt .wx{flex:1;min-width:0}
.v1c .wopt .wx b{font-family:var(--f-t);font-weight:700;font-size:13.5px;display:block}
.v1c .wopt .wx span{font-size:10.5px;color:var(--muted);display:block;margin-top:1px}
.v1c .wopt .wr{width:22px;height:22px;border-radius:50%;border:2px solid var(--track);flex:0 0 22px;display:grid;place-items:center}
.v1c .wopt.on{border-color:var(--immo);background:var(--immo-b)}
.v1c .wopt.on .wi{background:#fff}
.v1c .wopt.on .wr{border-color:var(--immo);background:var(--immo)}
.v1c .wopt.on .wr::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.v1c .route{flex:0 0 auto;display:flex;align-items:center;gap:9px;background:var(--ok-b);color:var(--ok);border-radius:12px;padding:9px 12px;font-size:11px;font-weight:600}
.v1c .route b{font-weight:800}
.v1c .route .ri{flex:0 0 auto;display:grid;place-items:center}
.v1c .route .ri svg{width:17px;height:17px}
.v1c .list.tight{flex:0 0 auto;overflow:visible}
.v1c .list.mid{justify-content:center}
.v1c .cstack{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:11px}
.v1c .offer{background:var(--tile);border:1px solid var(--tile-line);border-radius:16px;padding:12px 14px;box-shadow:var(--sh-s)}
.v1c .offer.cur{box-shadow:0 0 0 1.5px var(--immo) inset,var(--sh-s)}
.v1c .offer .oh{display:flex;align-items:baseline;gap:8px}
.v1c .offer .oh b{font-family:var(--f-t);font-weight:800;font-size:14.5px}
.v1c .offer .oh .pr{margin-left:auto;font-family:var(--f-t);font-weight:800;font-size:14.5px}
.v1c .offer .oh .pr s{font-weight:600;font-size:10px;color:var(--muted);text-decoration:none}
.v1c .offer ul{margin:7px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.v1c .offer li{font-size:10.5px;color:var(--ink2);padding-left:15px;position:relative}
.v1c .offer li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.v1c .litem .chev{color:var(--muted);flex:0 0 auto}
.v1c .litem .chev svg{width:17px;height:17px}
.v1c .pgind{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:5px;padding:2px 0}
.v1c .pgind i{width:6px;height:6px;border-radius:50%;background:var(--track)}
.v1c .pgind i.on{background:var(--immo);width:18px;border-radius:3px}
.v1c .thread{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 0}
.v1c .thread::before{content:"";margin-top:auto}
.v1c .daysep{align-self:center;font-size:10px;font-weight:600;color:var(--muted);background:var(--immo-b);padding:3px 11px;border-radius:999px;margin:1px 0}
.v1c .msg{max-width:80%;padding:9px 12px;border-radius:15px;font-size:12.5px;line-height:1.4;box-shadow:var(--sh-s)}
.v1c .msg .mt{display:block;font-size:9px;margin-top:3px;text-align:right}
.v1c .msg.them{align-self:flex-start;background:var(--tile);border:1px solid var(--tile-line);border-bottom-left-radius:5px}
.v1c .msg.them .mt{color:var(--muted)}
.v1c .msg.me{align-self:flex-end;background:var(--immo);color:#fff;border-bottom-right-radius:5px}
.v1c .msg.me .mt{color:rgba(255,255,255,.72)}
.v1c .composer{flex:0 0 auto;display:flex;align-items:center;gap:8px;background:var(--tile);border:1px solid var(--tile-line);border-radius:14px;padding:7px 7px 7px 14px;box-shadow:var(--sh-s)}
.v1c .composer .ip{flex:1;color:var(--muted);font-size:12.5px}
.v1c .composer .snd{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--immo);color:#fff;display:grid;place-items:center}
.v1c .composer .snd svg{width:18px;height:18px}
/* Composer RÉEL (le fil #19 sait écrire, pas seulement lire) — ajouts du lot
   ecrans-v1-messagerie. La maquette figée n'a qu'un placeholder + envoyer ;
   ici un vrai champ, joindre et appeler (Paul, 18/08). `.cta-i` = 34 px comme
   `.snd` (même cible que le reste de la barre — dette tactile SYSTÈME de v1.css,
   pas introduite par ce lot). Mesuré au navigateur (fixture Playwright, 375 & 1280). */
/* Le composer RÉEL est un <form> : sans ceci `.v1c .body form` (l.~360,
   spécificité supérieure) le mettrait en COLONNE — champ et boutons empilés,
   barre de saisie à ~170 px de haut. On rétablit la ligne (mesuré au navigateur). */
.v1c .body form.composer{flex-direction:row;gap:8px}
.v1c .composer input.ip{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:12.5px;color:var(--ink);outline:none;padding:0}
.v1c .composer input.ip::placeholder{color:var(--muted)}
.v1c .composer .cta-i{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;color:var(--immo);background:var(--immo-b);cursor:pointer}
.v1c .composer .cta-i svg{width:18px;height:18px}
.v1c .composer .cta-i input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
/* Pièces jointes DANS la bulle — photo (on la regarde) vs document (on le
   reconnaît à son nom + son poids). `.me` (fond indigo, texte blanc) → chip
   translucide ; `.them` (fond clair) → chip teinté immo. */
.v1c .msg p{margin:0}
.v1c .msg .pj{display:block;margin:1px 0 2px;border-radius:10px;overflow:hidden;max-width:200px}
.v1c .msg .pj img{display:block;width:100%;height:auto}
.v1c .msg .doc{display:flex;align-items:center;gap:8px;margin:1px 0 2px;padding:7px 9px;border-radius:10px;text-decoration:none;color:inherit}
.v1c .msg.them .doc{background:var(--immo-b)}
.v1c .msg.me .doc{background:rgba(255,255,255,.16)}
.v1c .msg .doc .di{flex:0 0 auto;display:grid;place-items:center}
.v1c .msg .doc .di svg{width:19px;height:19px}
.v1c .msg .doc .dx{min-width:0;display:flex;flex-direction:column}
.v1c .msg .doc .nf{font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .msg .doc .po{font-size:9.5px;opacity:.72;margin-top:1px}
.v1c .decide{display:flex;gap:7px;margin-top:3px}
.v1c .decide button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;border-radius:10px;font-family:var(--f-t);font-weight:700;font-size:11px;border:0}
.v1c .decide .ok{background:var(--ok);color:#fff}
.v1c .decide .no{background:var(--red-b);color:var(--red)}
.v1c .decide svg{width:14px;height:14px}
.v1c .step.off{opacity:.5}
.v1c .step.off .sn{background:var(--track);color:var(--muted)}
.v1c .step.off .soff{margin-left:auto;flex:0 0 auto;font-family:var(--f-t);font-weight:700;font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--line);padding:3px 7px;border-radius:6px}
.v1c .msg .rr{display:inline-flex;align-items:center;margin-left:5px;vertical-align:-1px}
.v1c .msg .rr svg{width:13px;height:13px}
.v1c .msg.me .rr.lu{color:#9ad7ff}
.v1c .msg.me .rr.envoye{color:rgba(255,255,255,.55)}
.v1c .conv .rr{flex:0 0 auto;display:grid;place-items:center}
.v1c .conv .rr svg{width:15px;height:15px}
.v1c .conv .rr.lu{color:var(--immo)}
.v1c .conv .rr.non{color:var(--muted);opacity:.7}
.v1c .pays{flex:0 0 auto;background:var(--tile);border:1px solid var(--tile-line);border-radius:16px;box-shadow:var(--sh-s);overflow:hidden}
.v1c .pay{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--line)}
.v1c .pay:last-child{border-bottom:0}
.v1c .pay .px{flex:1;min-width:0}
.v1c .pay .px b{font-weight:600;font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .pay .px span{font-size:10px;color:var(--muted)}
.v1c .pay .pm{font-family:var(--f-t);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ok)}
.v1c .pay .pc{width:21px;height:21px;flex:0 0 21px;border-radius:50%;background:var(--ok-b);color:var(--ok);display:grid;place-items:center}
.v1c .pay .pc svg{width:12px;height:12px}
.v1c .payhd{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 0}
.v1c .payhd b{font-family:var(--f-t);font-weight:800;font-size:13px}
.v1c .payhd span{font-size:10.5px;color:var(--muted)}
.v1c .jchk{width:23px;height:23px;flex:0 0 23px;border-radius:50%;display:grid;place-items:center}
.v1c .jchk svg{width:14px;height:14px}
.v1c .jchk.ok{background:var(--ok-b);color:var(--ok)}
.v1c .jchk.todo{border:1.7px solid var(--track)}
.v1c .jchk.at{background:var(--warn);color:#fff}
.v1c .minif{font-family:var(--f-t);font-weight:700;font-size:11px;color:var(--ink2);background:var(--tile);border:1px solid var(--tile-line);border-radius:8px;padding:4px 9px;box-shadow:var(--sh-s);display:inline-flex;align-items:center;gap:5px}
.v1c .minif .cv{color:var(--muted);font-size:10px}
.v1c .brand{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:6px 0 2px}
.v1c .brand .logo{width:62px;height:62px;background:var(--logo) center/contain no-repeat;filter:drop-shadow(0 8px 18px rgba(20,40,70,.18))}
.v1c .brand .logo svg{display:none}
.v1c .brand b{font-family:var(--f-t);font-weight:800;font-size:21px;letter-spacing:-.02em}
.v1c .brand span{font-size:12px;color:var(--muted)}
.v1c .field{display:flex;align-items:center;gap:10px;min-height:46px;background:var(--tile);border:1px solid var(--tile-line);border-radius:12px;padding:12px 13px;box-shadow:var(--sh-s)}
.v1c .field svg{width:17px;height:17px;color:var(--muted);flex:0 0 17px}
.v1c .field .ph{color:var(--muted);font-size:13px}
.v1c .field .ph.f{color:var(--ink)}
.v1c .oauth{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;background:var(--tile);border:1px solid var(--tile-line);border-radius:12px;padding:11px;font-family:var(--f-t);font-weight:700;font-size:13px;box-shadow:var(--sh-s)}
.v1c .oauth svg{width:17px;height:17px}
.v1c .orsep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:600}
.v1c .orsep::before, .v1c .orsep::after{content:"";flex:1;height:1px;background:var(--line)}
.v1c .lnk{text-align:center;font-size:12px;color:var(--indigo);font-weight:600}
.v1c .hint{text-align:center;font-size:11px;color:var(--muted);line-height:1.4}
.v1c .grid.choix button:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 5.5px);margin-inline:auto}
.v1c .cta.block{display:block;width:100%;text-align:center;padding:13px;min-height:46px}
.v1c .splash{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.v1c .scene{position:absolute;inset:0;z-index:0;overflow:hidden;background:linear-gradient(180deg,#e9eefb 0%,#eaf0f9 45%,#eef0f9 100%)}
.v1c .scene .sun{position:absolute;top:16%;left:50%;transform:translateX(-50%);width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(95,111,201,.16),transparent 66%);animation:haloP 5s ease-in-out infinite}
.v1c .scene .cloud{position:absolute;background:#fff;border-radius:40px;opacity:.75;filter:blur(1px);box-shadow:0 6px 16px -8px rgba(24,20,54,.15)}
.v1c .scene .cloud::before, .v1c .scene .cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
.v1c .scene .cloud::before{width:26px;height:26px;top:-12px;left:14px}
.v1c .scene .cloud::after{width:34px;height:34px;top:-18px;right:14px}
.v1c .scene .c1{width:72px;height:20px;top:15%;left:-90px;animation:drift 20s linear infinite}
.v1c .scene .c2{width:52px;height:15px;top:27%;left:-90px;transform:scale(.85);animation:drift 27s linear 5s infinite}
.v1c .scene .c3{width:88px;height:24px;top:9%;left:-120px;opacity:.55;animation:drift 24s linear 11s infinite}
.v1c .scene .hill{position:absolute;bottom:118px;left:-4%;width:108%;height:120px;background:radial-gradient(120% 100% at 50% 100%,#dfe6f6,transparent 72%);opacity:.8}
.v1c .scene .skyline{position:absolute;bottom:0;left:0;right:0;height:150px}
.v1c .scene .skyline svg{width:100%;height:100%;display:block}
.v1c .splash .halo{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 66%);z-index:1}
.v1c .splash .mark{width:86px;height:86px;background:var(--logo) center/contain no-repeat;filter:drop-shadow(0 12px 26px rgba(20,40,70,.22));z-index:2;animation:markIn .8s cubic-bezier(.16,.84,.28,1) both,markF 4s ease-in-out 1s infinite}
.v1c .splash .word{font-family:var(--f-t);font-weight:800;font-size:26px;letter-spacing:-.02em;margin-top:15px;z-index:2;animation:fadeUp .55s .32s both}
.v1c .splash .tag{font-size:12.5px;color:var(--muted);margin-top:4px;z-index:2;animation:fadeUp .55s .46s both}
.v1c .splash .tag b{color:var(--indigo);font-weight:800}
.v1c .orb{position:absolute;width:44px;height:44px;border-radius:14px;background:var(--tile);border:1px solid var(--tile-line);box-shadow:var(--sh-s);display:grid;place-items:center;color:var(--immo);z-index:1}
.v1c .orb svg{width:22px;height:22px}
.v1c .orb.i1{top:23%;left:15%;animation:orbIn .6s .55s both,floatA 5s 1.2s ease-in-out infinite}
.v1c .orb.i2{top:21%;right:15%;color:var(--ok);animation:orbIn .6s .7s both,floatB 5.6s 1.3s ease-in-out infinite}
.v1c .orb.i3{bottom:25%;left:17%;color:var(--warn);animation:orbIn .6s .85s both,floatB 6s 1.1s ease-in-out infinite}
.v1c .orb.i4{bottom:23%;right:16%;animation:orbIn .6s 1s both,floatA 5.3s 1.4s ease-in-out infinite}
.v1c .splash .bar{position:absolute;bottom:54px;width:190px;height:8px;border-radius:999px;background:var(--track);overflow:hidden;z-index:2}
.v1c .splash .bar i{position:absolute;left:0;height:100%;width:7%;border-radius:999px;background:linear-gradient(90deg,var(--immo),var(--indigo));animation:fill 3.2s cubic-bezier(.55,0,.25,1) infinite}
@keyframes markIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes markF{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes orbIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes floatA{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,-9px)}}
@keyframes floatB{0%,100%{transform:translate(0,0)}50%{transform:translate(-5px,-7px)}}
@keyframes haloP{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.06);opacity:.8}}
@keyframes fill{0%{width:7%}72%{width:93%}88%,100%{width:100%}}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(460px)}}
.v1c .shot{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:16/10;background:linear-gradient(145deg,#c8cef0,#8f9cdd);box-shadow:var(--sh-s);flex:0 0 auto;display:grid;place-items:center;color:rgba(255,255,255,.9)}
.v1c .shot svg{width:38px;height:38px}
.v1c .shot .cnt{position:absolute;bottom:8px;right:9px;background:rgba(20,18,42,.6);color:#fff;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:999px}
.v1c .price{font-family:var(--f-t);font-weight:800;font-size:20px}
.v1c .price s{font-weight:600;font-size:12px;color:var(--muted);text-decoration:none}
.v1c .desc{font-size:12px;color:var(--ink2);line-height:1.5;margin:0}
.v1c .plan{border-radius:14px;background:var(--tile);border:1px solid var(--tile-line);box-shadow:var(--sh-s);padding:8px}
.v1c .plan svg{width:100%;display:block}
.v1c .plan text{font-family:var(--f-b);font-weight:700;font-size:9px;fill:var(--ink2)}
.v1c .plan .rm{fill:var(--immo-b);stroke:#c9c7de;stroke-width:1.4}
.v1c .plan .ph{fill:var(--immo)}
.v1c .plan .pht{fill:#fff;font-size:8px;font-weight:800}
.v1c .ripple{position:absolute;border-radius:50%;background:var(--immo);opacity:.16;transform:scale(0);pointer-events:none}
.v1c .tile.wait, .v1c .step.wip{animation:breathe 3s ease-in-out 1.6s infinite}
@keyframes tileIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes slideD{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
@keyframes ripple{to{transform:scale(2.5);opacity:0}}
.v1c button:focus-visible{outline:2.5px solid var(--indigo);outline-offset:2px}

/* ── Supplément : vrais éléments de formulaire (le figé est une maquette) ── */
/* Le figé est un téléphone de 375 px ; sur un écran large (web desktop) les écrans
   « .mid » (connexion, choisir sa vue, réinitialiser) se recentrent en colonne
   étroite au lieu de s'étirer sur toute la largeur. Mobile (<460) : plein largeur. */
.v1c .body.mid{max-width:460px;width:100%;margin-inline:auto}
.v1c .body form{display:flex;flex-direction:column;gap:12px}
.v1c .field input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--ink);outline:none}
.v1c .field input::placeholder{color:var(--muted)}
.v1c button.cta{border:0;cursor:pointer;font-family:var(--f-t)}
.v1c a.cta{text-decoration:none;cursor:pointer}
.v1c a.oauth{text-decoration:none;color:var(--ink);cursor:pointer}
.v1c a.lnk{text-decoration:none;cursor:pointer}
.v1c .flash{border-radius:12px;padding:11px 13px;font-size:12.5px;text-align:center;line-height:1.4}
.v1c .flash.ok{background:var(--ok-b);color:var(--ok-d)}
.v1c .flash.err{background:var(--red-b);color:var(--red)}
.v1c .flash.demo{background:var(--warn-b);color:var(--warn-d);text-align:left}
.v1c .demo-roles{display:flex;flex-direction:column;gap:8px}
.v1c .demo-roles form{gap:0}
.v1c .depot{display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--ink2);text-align:left;background:var(--tile);border:1px solid var(--tile-line);border-radius:12px;padding:12px 13px;box-shadow:var(--sh-s)}
.v1c .depot input[type=file]{font:inherit;color:var(--ink2)}
.v1c button.tile{cursor:pointer;font:inherit;-webkit-appearance:none;appearance:none}
.v1c .tile.on{border-color:var(--immo);box-shadow:0 0 0 1px var(--immo)}

/* ═══ REPRISES de save/refonte-v1 (classes propres à ses écrans cycle/compta/tiers,
   absentes de l'extraction figée : nav en <a>, annonce, journal, litem, go, row2…).
   ⚠️ Ajoutées à la main lors de l'intégration V1 — à réconcilier avec extract-v1c.py. ═══ */
/* ═══════════════════════════════════════════════════════════════════════════
   v1.css — LE DESIGN SYSTEM V1, EXTRAIT DE module.css (Paul, 01/09 : « go v1.css »).
   FEUILLE PARTAGÉE, source UNIQUE du vocabulaire `.v1c`, chargée par TOUTES les
   coquilles (module, vierge, accueil, vitrine) : sans elle, chaque contexte CSS
   (app.css, vitrine) aurait dû recopier ces règles — et deux copies divergent
   (le piège `.small`/`.muted`, `.ctx`, déjà payé). Tout reste scopé sous `.v1c`
   et ne touche JAMAIS `:root` : la charger dans un contexte sans `.v1c` est inerte.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM V1 — LE CYCLE DU BIEN (Entrée · Gérer · Sortie)
   Portage FIDÈLE des maquettes validées (work/design/maquettes/ecrans-v1.html),
   introduit de façon ADDITIVE et NAMESPACÉE sous `.v1c` (Paul, 01/09 : « V1
   fidèle, additif + namespacé »).

   ⚠️ POURQUOI TOUT EST SOUS `.v1c`, ET POURQUOI ON NE TOUCHE PAS `:root`.
   V1 emploie des jetons dont DEUX portent le même nom que ceux de l'app mais une
   AUTRE valeur : `--red` (#b04f54 vs #c53a53) et `--warn` (#b3803a vs #96630e).
   Les poser sur `:root` repeindrait toute l'app en silence. On les redéfinit donc
   LOCALEMENT sur `.v1c` : la cascade ne les voit que dans le cycle, et rien
   au-dehors (la barre, les onglets partagés, la feuille coulissante — qui est un
   FRÈRE de `.corps`, pas un enfant de `.v1c`) n'en hérite. Les noms restent ceux
   de la maquette pour que le portage soit vérifiable ligne à ligne contre elle.
   `.tile` et `.stat` existent aussi dans app.css (autre feuille, autre sens) :
   scopés sous `.v1c`, ils ne peuvent pas s'y confondre.

   ⚠️ COUTURE ASSUMÉE : la barre du haut reste terracotta (`--acc`, règle Paul
   « Gestineo · Immobilia en haut de chaque écran »), le corps du cycle est indigo
   (V1). L'unification de la teinte est un arbitrage de Paul, pas un défaut à
   corriger ici.

   ⚠️ Polices : les maquettes chargent Archivo/Instrument Sans (Google Fonts) ;
   la CSP de prod est `script-src 'self'` et n'ouvre pas fonts.gstatic — on garde
   donc la PILE SYSTÈME (le repli que la maquette déclare déjà), pas de police
   externe.
   ═══════════════════════════════════════════════════════════════════════════ */

/* `.corps` normalement pose 13px de marge + un gap ; en mode cycle le corps est
   édge-à-édge (la nav touche les bords, la barre supérieure du bien colle la
   barre Gestineo). On neutralise, `.v1c` reprend le rythme de la maquette. */
.corps.corps--v1c{padding:0;gap:0}
/* en-tête : chevron retour + TITRE du bien + œil (aperçu de l'annonce) */
.v1c .hd{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:14px 16px 10px}
.v1c .hd .bk,.v1c .hd .act{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:0 0 34px}
.v1c .hd .bk svg,.v1c .hd .act svg{width:18px;height:18px}
.v1c .hd .ti span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
/* bandeau de contexte (bail/locataire sélectionné) — démarqué des tuiles */
.v1c .filt{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:2px 16px 12px;margin-bottom:6px;border-bottom:2px solid #cdcbe1}
.v1c .filt .sel .d.vide{background:var(--muted);box-shadow:0 0 0 3px var(--line)}
/* corps : ce qui grandit vit ici (flex:1), le reste tient — patron B3, 0 défilement */
.v1c .body{flex:1;min-height:0;padding:2px 16px 14px;overflow:hidden;display:flex;flex-direction:column;gap:11px}
/* tuiles : icône + nom + PASTILLE de statut (jamais de description) */
.v1c .grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.v1c .tile.mut{opacity:.6}
.v1c .tile.mut:active{transform:none}
/* Résumé court sous le nom de tuile (refonte mini-wizards D2, Paul 09/09) :
   `.tn` ne portait que le titre, il manquait la ligne de valeur mesurée
   ("67 m² · 3 pièces", "DPE C"…). Une seule ligne, comme `.tn` le fait déjà
   pour un titre trop long — pas de hauteur supplémentaire imprévue. */
.v1c .tile .tr{font-size:10.5px;color:var(--muted);line-height:1.25;max-width:100%;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* La fiche peut aligner une quinzaine de tuiles (toutes les sections d'un
   logement à louer, en copropriété) : BORNÉ en nombre (jeu fini, jamais une
   liste qui grossit toute seule), mais pas forcément en hauteur d'écran. Même
   remède que `.steps`/`.journal` un peu plus haut dans cette feuille — flex:1
   + min-height:0 + overflow-y:auto — scopé à `.defile` pour ne changer AUCUN
   `.grid` existant ailleurs (gerer.php : 4 tuiles, jamais besoin de défiler). */
.v1c .grid.defile{flex:1;min-height:0;overflow-y:auto}
/* la pastille de statut : coche verte / chiffre ambre (en attente) / chiffre rouge (retard) */
.v1c .stat{position:absolute;top:10px;right:10px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-t);font-weight:800;font-size:11.5px;line-height:1}
/* pastille inline (mode / statut d'une tuile large) */
.v1c .pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-b);font-weight:700;font-size:10.5px;padding:4px 9px;border-radius:999px;background:var(--immo-b);color:var(--immo);white-space:nowrap;flex:0 0 auto}
/* nav bar en bas — Entrée VERT · Gérer indigo · Sortie ROUGE (sémantique du flux) */
.v1c .nav{flex:0 0 auto;display:flex;background:var(--tile);border-top:1px solid var(--tile-line);padding:9px 10px calc(13px + env(safe-area-inset-bottom))}
.v1c .nav a,.v1c .nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--f-t);font-weight:700;font-size:10.5px;color:var(--muted);text-decoration:none}
.v1c .nav a svg,.v1c .nav button svg{width:23px;height:23px}
.v1c .nav.bien a:nth-child(1){color:var(--ok)}
.v1c .nav.bien a:nth-child(3){color:var(--red)}
.v1c .nav.bien a:nth-child(2).on{color:var(--immo)}
.v1c .nav.bien a:not(.on){opacity:.6}
/* mouvement V1 : arrivée en cascade + respiration discrète des tuiles en attente.
   Transform/opacité seulement — aucun impact sur la mise en page ni le débordement.
   La coupure `prefers-reduced-motion` globale (haut de cette feuille) les éteint. */
.v1c .hd>*,.v1c .filt{animation:v1c-slided .5s cubic-bezier(.16,.84,.28,1) both}
.v1c .body>*{animation:v1c-tilein .5s cubic-bezier(.16,.84,.28,1) both}
.v1c .body>*:nth-child(1){animation-delay:.06s}
.v1c .body>*:nth-child(2){animation-delay:.12s}
.v1c .body>*:nth-child(3){animation-delay:.18s}
.v1c .body>*:nth-child(4){animation-delay:.24s}
.v1c .tile.wait{animation:v1c-breathe 3s ease-in-out 1.6s infinite}
@keyframes v1c-tilein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes v1c-slided{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes v1c-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
/* ── Cycle V1 · Entrée / Sortie : annonce + étapes en ACCORDÉON ──────────────
   Un clic « allonge l'étape sur place » (.open) — pas de nouvelle page. La zone
   .steps défile DANS sa zone (patron B3 : la page, elle, ne défile pas). */
.v1c .annonce{flex:0 0 auto;display:flex;gap:11px;align-items:center;background:var(--tile);border:1px solid var(--tile-line);border-radius:15px;padding:10px;box-shadow:var(--sh-s);text-decoration:none;color:inherit}
.v1c .annonce .ax{min-width:0}
.v1c .annonce .tog.off{background:var(--track)}
.v1c .annonce .tog.off::after{right:auto;left:3px}
.v1c .steps::-webkit-scrollbar{width:0;height:0;display:none}
.v1c .step-hd b{font-family:var(--f-t);font-weight:700;font-size:13.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .step.done .step-hd b,.v1c .step.done .step-hd .sc{color:var(--ok-d)}
.v1c .step.wip .step-hd b,.v1c .step.wip .step-hd .sc{color:var(--warn-d)}
.v1c .step.todo .step-hd b,.v1c .step.todo .step-hd .sc{color:var(--muted)}
/* ── Cycle V1 · Compte de gestion : KPIs + JOURNAL (une coche par ligne) ─────
   Le journal défile DANS sa zone (B3). Une coche verte = validée (rapproché ou
   constaté) ; un rond ambre = justif à fournir ; un rond vide = à valider. */
.v1c .kpis{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v1c .journal::-webkit-scrollbar{width:0;height:0;display:none}
.v1c .jvide{padding:22px 16px;text-align:center;font-size:12px;color:var(--muted)}
/* ── Cycle V1 · Gérer le bail : résumé (interlocuteur + chiffres) ────────────
   Loyer/charges/dépôt sont des ANCRES non éditables (G2) ; l'édition vit
   derrière le crayon d'en-tête. */
.v1c .conv{flex:0 0 auto;display:flex;align-items:center;gap:11px;background:var(--tile);border:1px solid var(--tile-line);border-radius:14px;padding:11px 12px;box-shadow:var(--sh-s)}
/* ── Cycle V1 · Charges : bandeau de période + relevés à faire ───────────────
   Le bandeau borne les relevés et dit le prorata de présence ; la liste défile
   DANS sa zone. Le calcul du solde (décompte du syndic) se fait sur la fiche
   dédiée — voir la note dans regularisation_resume.php. */
.v1c .peri{flex:0 0 auto;display:flex;align-items:center;gap:11px;background:var(--immo-b);border-radius:14px;padding:10px 12px}
.v1c .list::-webkit-scrollbar{width:0;height:0;display:none}
/* ── Cycle V1 · listes groupées (Interventions) + fils (Messagerie) ──────────*/
.v1c .gsect{position:sticky;top:0;z-index:1;flex:0 0 auto;background:var(--scr);font-family:var(--f-b);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:7px 2px 4px;display:flex;align-items:center;gap:7px}
.v1c .litem .lx .cout{font-family:var(--f-t);font-weight:700;font-size:11px;color:var(--ink2)}
/* fils de messagerie (Messagerie) : la conv en item de liste */
.v1c .list .conv{flex:0 0 auto}
/* ── AUTH (login, réinitialiser, choisir sa vue) — vocabulaire V1 HORS coquille.
   ⚠️ `.v1c.authbox` NEUTRALISE le comportement de coquille (fond --scr, flex qui
   remplit) : ici `.v1c` vit DANS une carte blanche (app.css), pas dans `.corps`.
   Sans ça, les jetons ne viendraient qu'avec un fond gris qui repeindrait la carte. */
.v1c.authbox{flex:initial;min-height:auto;display:block;background:transparent;color:var(--ink);font-family:var(--f-b)}
.v1c .atitle{font-family:var(--f-t);font-weight:800;font-size:20px;text-align:center;margin:0 0 15px;color:var(--ink)}
/* deux champs empilés + une flèche qui les longe (décision 19/08 conservée) */
.v1c .row2{display:flex;gap:9px;align-items:stretch}
.v1c .row2 .fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.v1c .go{flex:0 0 auto;width:56px;background:var(--immo);color:#fff;border:0;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.v1c .go svg{width:22px;height:22px}
.v1c .lnk-p{text-align:center;color:var(--ink2);font-size:12.5px;margin:11px 0 0}
.v1c .lnk-p a{color:var(--immo);text-decoration:none}
.v1c .orsep::before,.v1c .orsep::after{content:"";flex:1;height:1px;background:var(--line)}
/* rôles de démonstration (mode local uniquement) : une grille de boutons V1 */
.v1c .demo-roles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v1c .demo-roles button{width:100%;background:var(--immo-b);color:var(--immo);border:0;border-radius:10px;padding:10px;font-family:var(--f-t);font-weight:700;font-size:12.5px;cursor:pointer}

/* === AJOUTS INTÉGRATION V1 (à reporter dans la source de extract-v1c.py) === */
.v1c .nav a.on{color:var(--immo)}
.v1c .pmini-scroll{max-height:72px;overflow-y:auto;scrollbar-width:none}
.v1c .pmini-scroll::-webkit-scrollbar{width:0;height:0;display:none}
.v1c .flash.warn{background:var(--warn-b);color:var(--warn-d);text-align:left}
.v1c .cta[disabled]{opacity:.5;cursor:not-allowed}
.v1c .field select{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--ink);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.v1c .field .fl{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--muted)}
/* === Assistant Le Bon Coin (assistant-lbc) === */
.v1c .pg{display:flex;flex-direction:column;gap:11px}
.v1c [data-lbc].pgr .pg{display:none}
.v1c [data-lbc].pgr .pg.on{display:flex}
.v1c .pgt{font-family:var(--f-t);font-weight:800;font-size:16px;letter-spacing:-.01em;line-height:1.16;color:var(--ink)}
.v1c .note{font-size:11px;color:var(--muted);line-height:1.4;white-space:normal}
.v1c .litem .lx .lv{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;color:var(--ink2);font-size:12px;line-height:1.35;margin-top:1px}
.v1c .litem .lx .note{overflow:visible;text-overflow:clip;margin-top:3px}
.v1c .obl{color:var(--red);text-decoration:none;font-weight:800;margin-left:2px}
.v1c .phg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.v1c .phg figure{display:flex;flex-direction:column;background:var(--tile);border:1px solid var(--tile-line);border-radius:12px;overflow:hidden;box-shadow:var(--sh-s)}
.v1c .phg img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.v1c .phg figcaption{padding:6px 8px 2px;font-size:9.5px;color:var(--muted);min-width:0}
.v1c .phg figcaption b{font-family:var(--f-t);font-weight:700;font-size:10px;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .phg figcaption span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .phg a{margin:6px 8px 8px;text-align:center;font-family:var(--f-t);font-weight:700;font-size:10.5px;color:var(--immo);background:var(--immo-b);border-radius:8px;padding:6px}

/* ============================================================================
   MARKETPLACE — écran public « Immobilia · choisir son plan »
   Design GELÉ 03/09 (variante A), porté de
   work/design/marketplace-propositions/pistes-2026-09-03.html (SHA f33d09a).
   Namespacé .v1c .mkt : aucune collision. Chrome de maquette (téléphone,
   encoche, barre d'état) retiré. Hauteurs des barres en :nth-child (aucun
   style en ligne — CSP script-src 'self'). `.body`→`.mkbody`, `.cta`→`.mkcta`,
   keyframes `mk-*` : les noms nus sont pris ailleurs (renommer, pas écraser).
   Montants au MOIS, barème en tranches mensuelles (arbitrage Paul, 03/09).
   ==========================================================================*/
.v1c .mkt{--or:#efab21;--green:#0b7d69;--green-b:#e2f4ef;--sh:0 1px 2px rgba(24,20,54,.05);
  flex:1;min-height:0;display:flex;flex-direction:column;background:#eef0f9;color:#211f36;
  max-width:440px;width:100%;margin-inline:auto;text-align:left;padding-top:env(safe-area-inset-top)}

/* en-tête site */
.v1c .mkt .sh{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:9px 13px 5px}
.v1c .mkt .sh .bk{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#565273;flex:0 0 30px}
.v1c .mkt .sh .bk svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v1c .mkt .sh .logo{width:20px;height:20px;border-radius:6px;background:linear-gradient(150deg,#5f6fc9,#4451ab);display:grid;place-items:center;color:#fff;font-family:var(--f-t);font-weight:900;font-size:12px}
.v1c .mkt .sh .wm{font-family:var(--f-t);font-weight:800;font-size:15px;letter-spacing:-.02em}
.v1c .mkt .sh .cx{margin-left:auto;font-weight:600;font-size:11.5px;color:#4451ab;background:#fff;border:1px solid #e3e1f0;border-radius:999px;padding:7px 12px;box-shadow:var(--sh);text-decoration:none}

/* sélecteur de modules */
.v1c .mkt .sel{flex:0 0 auto;display:flex;gap:6px;padding:1px 13px 6px}
.v1c .mkt .mt{flex:1;min-width:0;border-radius:12px;border:1px solid #e6e4f3;background:#fff;padding:6px 3px 5px;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:var(--sh);position:relative}
.v1c .mkt .mt .i{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#f1f0fa;color:#9b98b3}
.v1c .mkt .mt .i svg{width:14px;height:14px}
.v1c .mkt .mt .l{font-family:var(--f-t);font-weight:700;font-size:9px;color:#6c6885;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.v1c .mkt .mt.on{border-color:var(--c);box-shadow:0 0 0 1.5px var(--c) inset,0 7px 15px -9px var(--c)}
.v1c .mkt .mt.on .i{background:var(--cb);color:var(--c)}
.v1c .mkt .mt.on .l{color:#211f36}
.v1c .mkt .mt.soon{opacity:.6}
.v1c .mkt .mt .bt{position:absolute;top:-5px;right:-2px;font-weight:700;font-size:6.5px;background:#efe7de;color:#8a5a30;border-radius:999px;padding:1px 4px}
.v1c .mkt .m-immo{--c:#b5501c;--cb:#fbeee4}
.v1c .mkt .m-patri{--c:#7d5fb8;--cb:#f2ecfb}
.v1c .mkt .m-cred{--c:#0e7c74;--cb:#e0f2f0}

/* corps défilant (fermé au repos : tient sur une page — B3) */
.v1c .mkt .mkbody{flex:1;min-height:0;overflow:hidden auto;padding:2px 12px 9px;display:flex;flex-direction:column;gap:6px}

/* GRATUIT — séparé, au-dessus */
.v1c .mkt .gratuit{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e9e7f4;border-radius:12px;padding:7px 11px;box-shadow:var(--sh);margin:11px 0 13px}
.v1c .mkt .gratuit .ic{width:20px;height:20px;border-radius:50%;background:var(--green-b);display:grid;place-items:center;flex:0 0 20px}
.v1c .mkt .gratuit .ic svg{width:11px;height:11px;stroke:var(--green);fill:none;stroke-width:2.6}
.v1c .mkt .gratuit .tx{min-width:0;flex:1;line-height:1.15}
.v1c .mkt .gratuit .tx b{font-family:var(--f-t);font-weight:800;font-size:13px;color:#211f36}
.v1c .mkt .gratuit .tx span{font-size:10.5px;color:#8481a0;display:block}
.v1c .mkt .gratuit .tx span em{font-style:normal;color:#b5501c;font-weight:600}
/* Carte Gratuit CLIQUABLE (Paul 07/09) : chip « Choisir/Commencer » à droite, survol vert. */
.v1c .mkt a.gratuit{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.v1c .mkt a.gratuit:hover{border-color:var(--green);box-shadow:0 5px 14px -8px var(--green)}
.v1c .mkt .gratuit .pick{margin-left:auto;flex:0 0 auto;align-self:center;background:var(--green-b);color:var(--green);font-family:var(--f-t);font-weight:700;font-size:11px;padding:5px 12px;border-radius:999px;white-space:nowrap}

/* CADRE PREMIUM */
.v1c .mkt .frame{border:1.5px solid var(--immo);border-radius:17px;background:linear-gradient(168deg,#f2f4fd,#e9ecfb);box-shadow:0 16px 34px -20px rgba(95,111,201,.55);padding:9px 12px;display:flex;flex-direction:column;gap:5px}
.v1c .mkt .fhd{display:flex;align-items:center;gap:10px}
.v1c .mkt .fhd .crown{width:21px;height:21px;flex:0 0 21px;fill:var(--or)}
.v1c .mkt .fhd .n{display:flex;flex-direction:column;min-width:0}
.v1c .mkt .fhd .n b{font-family:var(--f-t);font-weight:900;font-size:16px;letter-spacing:-.02em;color:#211f36;line-height:1.12}
.v1c .mkt .fhd .n small{font-family:var(--f-b);font-weight:500;font-size:10.5px;color:#565273;line-height:1.14}
.v1c .mkt .fhd .n small em{font-style:normal;color:#b5501c;font-weight:700}

/* simulateur tabulaire */
.v1c .mkt .sim{background:#fff;border:1px solid #e6e4f3;border-radius:12px;padding:5px 12px 6px;margin:4px 0}
.v1c .mkt .srow{display:grid;grid-template-columns:1fr 44px 72px 22px;align-items:center;column-gap:5px;padding:4px 0;position:relative}
.v1c .mkt .srow.loyers .lb{grid-column:1/3}
.v1c .mkt .srow .lb{font-size:11px;color:#565273;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1c .mkt .srow .pct{font-family:var(--f-t);font-weight:700;font-size:11px;color:#211f36;text-align:left;font-variant-numeric:tabular-nums}
.v1c .mkt .srow .amt{font-family:var(--f-t);font-weight:800;font-size:11.5px;color:#211f36;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.v1c .mkt .chev{width:11px;height:11px;stroke:#a29fb8;fill:none;stroke-width:2.2;grid-column:4/5;justify-self:end;transition:transform .2s}
/* Ligne loyers : le stepper devient un <form> (saisie libre + boutons ±1000).
   La ligne passe en flex (le stepper sort de la grille tabulaire des autres
   lignes) pour loger un input + deux boutons à cible tactile 44 px (--tap). */
/* ⚠️ AUCUN PADDING VERTICAL (Paul, 07/09 : « c'est gigantesque »). Mesuré : la
   ligne faisait 54 px quand les autres lignes du simulateur en font 24,7 — plus
   du double. Sans padding, elle se cale sur son stepper : 46 px.
   ⚠️ ET ELLE NE PEUT PAS DESCENDRE PLUS BAS SANS ARBITRAGE. Le stepper vaut 44 px
   (`--tap`) + 2 px de bordure : 44 est le minimum tactile d'Apple, 48 celui de
   Material, et « − / + » sont des boutons qu'on touche vraiment. Le projet a déjà
   payé cette leçon dans le paquet natif (champs à 39 px, bouton à 41 px sur
   l'écran de connexion). Descendre sous 44 se décide, ça ne s'optimise pas. */
.v1c .mkt .srow.loyers{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border-bottom:1px solid #eceaf6}
.v1c .mkt .srow.loyers .lb{flex:1 1 auto;min-width:0;grid-column:auto}
.v1c .mkt .srow.loyers .stp{flex:0 0 auto;display:flex;align-items:center;border:1px solid #d3d0e6;border-radius:10px;overflow:hidden;background:#fbfbfe}
.v1c .mkt .srow.loyers .stp .def{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v1c .mkt .srow.loyers .stp .mns,.v1c .mkt .srow.loyers .stp .pls{-webkit-appearance:none;appearance:none;margin:0;border:0;background:#f2f0fb;color:var(--indigo);min-width:var(--tap,44px);min-height:var(--tap,44px);font-family:var(--f-t);font-weight:700;font-size:19px;line-height:1;cursor:pointer;padding:0;display:grid;place-items:center;flex:0 0 auto}
.v1c .mkt .srow.loyers .stp .mns:active,.v1c .mkt .srow.loyers .stp .pls:active{background:#e6e2f6}
.v1c .mkt .srow.loyers .stp .val{width:7ch;min-width:0;border:0;background:transparent;text-align:center;font-family:var(--f-t);font-weight:800;font-size:14px;color:#211f36;padding:0 2px;font-variant-numeric:tabular-nums}
.v1c .mkt .srow.loyers .stp .val:focus{outline:2px solid var(--immo);outline-offset:-1px}
.v1c .mkt .srow.loyers .stp .eu{padding:0 8px 0 1px;color:#8481a0;font-size:12px;font-weight:600}

/* volets natifs (barème, facturation) — aucun script */
.v1c .mkt details.red>summary,.v1c .mkt details.bill>summary{list-style:none;cursor:pointer}
.v1c .mkt details.red>summary::-webkit-details-marker,.v1c .mkt details.bill>summary::-webkit-details-marker{display:none}
.v1c .mkt .srow.reduc{background:var(--green-b);border-radius:8px;margin:0 -8px;padding:4px 8px}
.v1c .mkt .srow.reduc .lb{color:#276a58}
.v1c .mkt .srow.reduc .pct,.v1c .mkt .srow.reduc .amt{color:var(--green)}
.v1c .mkt .srow.reduc .chev{stroke:var(--green)}
.v1c .mkt details.red[open] .srow.reduc .chev{transform:rotate(180deg)}
.v1c .mkt .bubble{background:#f7f8fd;border:1px solid #e2e0f2;border-radius:10px;padding:8px 9px 6px;margin:4px 2px 2px}
.v1c .mkt .bubble .bh{font-family:var(--f-t);font-weight:700;font-size:10px;color:#211f36;margin:0 0 6px}
.v1c .mkt .bubble .bh span{display:block;font-weight:500;color:#8481a0;font-size:9px;margin-top:1px}
.v1c .mkt .bars{display:flex;align-items:flex-end;gap:4px;height:66px}
.v1c .mkt .bars .b{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;justify-content:flex-end;height:100%}
.v1c .mkt .bars .b .c{display:block;width:100%;flex:0 0 auto;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#7885d8,#4451ab)}
.v1c .mkt .bars .b:nth-child(1) .c{height:46px}
.v1c .mkt .bars .b:nth-child(2) .c{height:37px}
.v1c .mkt .bars .b:nth-child(3) .c{height:28px}
.v1c .mkt .bars .b:nth-child(4) .c{height:21px}
.v1c .mkt .bars .b:nth-child(5) .c{height:13px}
.v1c .mkt .bars .b:nth-child(6) .c{height:7px}
.v1c .mkt .bars .b .rt{font-family:var(--f-t);font-weight:800;font-size:7.5px;color:#211f36}
.v1c .mkt .bars .b .br{font-size:6px;color:#8f8ca8;white-space:nowrap;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* total */
.v1c .mkt .stot{border-top:1.5px solid #cfd2e6;margin-top:2px;padding-top:5px}
.v1c .mkt .srow.total .lb{font-family:var(--f-t);font-weight:800;font-size:12px;color:#211f36}
.v1c .mkt .srow.total .lb sup{color:var(--indigo);font-weight:700}
.v1c .mkt .srow.total .tot{grid-column:3/4;justify-self:center;display:flex;flex-direction:column;align-items:center}
.v1c .mkt .srow.total .tnum{font-family:var(--f-t);font-weight:900;font-size:21px;letter-spacing:-.02em;color:#211f36;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}
.v1c .mkt .srow.total .tnum small{font-family:var(--f-b);font-weight:600;font-size:11px;color:#565273}
.v1c .mkt .srow.total .tsub2{font-family:var(--f-b);font-weight:500;font-size:9.5px;color:#8481a0;margin-top:2px;white-space:nowrap}
.v1c .mkt .srow.total .chev{stroke:var(--indigo)}
.v1c .mkt details.bill[open] .srow.total .chev{transform:rotate(180deg)}
.v1c .mkt .billbox{background:#f4f6fd;border:1px solid #dfe1f2;border-radius:10px;padding:9px 10px;margin:5px 2px 1px}
.v1c .mkt .billbox ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.v1c .mkt .billbox li{display:flex;gap:8px;align-items:flex-start;font-size:10.5px;color:#565273;line-height:1.35}
.v1c .mkt .billbox li svg{width:14px;height:14px;stroke:var(--indigo);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 14px;margin-top:1px}
.v1c .mkt .billbox li span{flex:1;min-width:0}
.v1c .mkt .billbox li b{color:#211f36;font-weight:700}

/* CTA « Souscrire Premium » — indigo, halo animé */
.v1c .mkt .mkcta{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;min-height:46px;margin:5px 0 6px;justify-content:center;border:0;border-radius:13px;background:linear-gradient(120deg,#6472cf,#4451ab);color:#fff;font-family:var(--f-t);cursor:pointer;z-index:1;box-shadow:0 10px 20px -9px rgba(68,81,171,.9);text-decoration:none}
.v1c .mkt .mkcta::before{content:"";position:absolute;inset:-5px -7px;border-radius:18px;background:linear-gradient(120deg,#8f9be8,#5f6fc9,#4451ab);filter:blur(11px);opacity:.5;z-index:-1;animation:mk-halo 2.8s ease-in-out infinite}
.v1c .mkt .mkcta::after{content:"";position:absolute;inset:0;border-radius:13px;background:linear-gradient(100deg,transparent 32%,rgba(255,255,255,.3) 50%,transparent 68%);background-size:220% 100%;animation:mk-shine 3.6s ease-in-out infinite;pointer-events:none}
@keyframes mk-halo{0%,100%{opacity:.34;transform:scale(.986)}50%{opacity:.64;transform:scale(1.028)}}
@keyframes mk-shine{0%{background-position:180% 0}55%,100%{background-position:-80% 0}}
.v1c .mkt .mkcta b{font-weight:800;font-size:14px}
.v1c .mkt .mkcta small{font-family:var(--f-b);font-weight:500;font-size:9.5px;opacity:.92}

/* fonctions */
.v1c .mkt details.feats{background:rgba(255,255,255,.5);border:1px solid rgba(95,111,201,.16);border-radius:12px;overflow:hidden;margin:9px 0}
.v1c .mkt details.feats>summary{list-style:none;cursor:pointer;padding:6px 10px;display:flex;flex-direction:column;gap:3px}
.v1c .mkt details.feats>summary::-webkit-details-marker{display:none}
.v1c .mkt .f3{display:flex;flex-direction:column;gap:9px}
.v1c .mkt .f3 .fi{display:flex;align-items:center;gap:8px;font-size:10.5px;color:#211f36;padding:0;line-height:1.2}
.v1c .mkt .f3 .fi svg{width:15px;height:15px;stroke:var(--green);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 15px}
.v1c .mkt .f3 .fi b{font-weight:600}
.v1c .mkt .more{display:flex;align-items:center;justify-content:center;gap:5px;font-family:var(--f-t);font-weight:700;font-size:10px;color:#b5501c;padding-top:3px;border-top:1px dashed #d7d5ea;margin-top:2px}
.v1c .mkt .more svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
.v1c .mkt details.feats[open] .more svg{transform:rotate(180deg)}
.v1c .mkt .fall{padding:0 10px 7px;display:grid;grid-template-columns:1fr 1fr;gap:1px 7px}
.v1c .mkt .fall .fi{display:flex;align-items:center;gap:5px;font-size:9px;color:#565273}
.v1c .mkt .fall .fi svg{width:11px;height:11px;stroke:var(--green);fill:none;stroke-width:2.6;flex:0 0 11px}
.v1c .mkt .fall .fi.wide{grid-column:1/-1;color:#211f36;font-weight:600}
/* Badge « Bientôt » — fonction pas encore active au lancement (directive MVP,
   Paul 08/09). Le statut vient du SERVEUR (App\Services\Fonctions), jamais codé
   écran par écran. Sur les 3 PHARES (pleine largeur) : un badge texte poussé à
   droite. Dans le POPUP serré (.fall, 2 colonnes) : pas de place pour un badge
   texte à côté d'un libellé long → coche verte devient horloge ambre, libellé
   ambre (même sens, zéro largeur volée) — mesuré au navigateur (375 & 390). */
.v1c .mkt .f3 .fi .fx{min-width:0}
.v1c .mkt .f3 .fi .bientot{display:inline-block;font-size:8px;font-weight:700;letter-spacing:.01em;padding:1px 5px;border-radius:5px;background:var(--warn-b);color:var(--warn-d);margin-left:6px;white-space:nowrap;line-height:1.4;vertical-align:middle}
.v1c .mkt .fall .fi.soon{color:var(--warn-d)}
.v1c .mkt .fall .fi.soon svg{stroke:var(--warn)}
/* Badge « Bientôt » GÉNÉRAL — le même mot, hors vitrine (page « Valider votre
   offre », écrans internes). Rendu par App\Services\Fonctions::badge(), source
   unique serveur (directive MVP app-wide, Paul 08/09). La vitrine garde son
   badge propre, PLUS SPÉCIFIQUE (.v1c .mkt .f3 .fi .bientot ci-dessus) → elle ne
   bouge pas d'un pixel. Ici, taillé pour un titre de taille normale (~13 px). */
.v1c .bientot{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.01em;padding:1px 7px;border-radius:6px;background:var(--warn-b);color:var(--warn-d);margin-left:7px;white-space:nowrap;line-height:1.5;vertical-align:middle}
/* « Type de biens gérables » : titre + puces aux jetons de marque (aligné sur la landing). */
.v1c .mkt .biens{padding:6px 10px 8px;border-top:1px dashed #d7d5ea}
.v1c .mkt .biens .biens-t{margin:0 0 5px;font-family:var(--f-t);font-weight:700;font-size:10px;color:#211f36}
.v1c .mkt .biens-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.v1c .mkt .biens-l li{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--immo-b);color:var(--indigo);font-size:9px;font-weight:600}

/* pictos + phrase (en noir) */
.v1c .mkt .pictos{display:flex;justify-content:center;gap:16px;padding-top:0}
.v1c .mkt .pictos .it{display:flex;flex-direction:column;align-items:center;gap:2px}
.v1c .mkt .pictos .it svg{width:14px;height:14px;fill:none;stroke:#211f36;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v1c .mkt .pictos .it span{font-size:8.5px;color:#211f36;text-align:center}
.v1c .mkt .promise{text-align:center;font-size:12px;color:#211f36;font-weight:600;margin:2px 0 0}
.v1c .mkt .promise b{font-weight:800}

@media (prefers-reduced-motion:reduce){
  .v1c .mkt .mkcta::before{animation:none;opacity:.5}
  .v1c .mkt .mkcta::after{display:none}
}


/* ============================================================================
   MARKETPLACE — LE FOND ANIMÉ « L'HORIZON » (piste A, validée par Paul le 07/09)
   et LA FEUILLE DU BAS des fonctionnalités.
   ==========================================================================*/

/* ── LE CIEL ────────────────────────────────────────────────────────────────
   ⚠️ DEUX FONDS OPAQUES DOIVENT S'OUVRIR, sinon le décor est peint sous une
   surface pleine et ne se voit nulle part : `body` (via `.v1c{--ground}`) et
   `.v1c .mkt` (`#eef0f9`). On ne les ouvre QUE sur cette page, par la classe
   `mkt-page` que le contrôleur pose sur le body — pas globalement, les autres
   écrans `.v1c` gardent leur fond.
   ⚠️ LA MARKETPLACE EST BLEUE, INDÉPENDAMMENT DES MODULES (Paul, 07/09). La
   raison se lit sur la page : elle porte le sélecteur des TROIS modules
   (Immobilia, Patrimonia, Crédits). La peindre au terracotta d'Immobilia
   laisserait croire qu'elle lui appartient, alors qu'elle est la vitrine du
   produit. C'est donc le ciel de la landing, à l'identique — même dégradé, même
   halo : une seule vitrine, une seule couleur. Le terracotta reste la couleur
   des pages Immobilia, où le décor descendra vers `--acc-s` (`#fdeee8`), le
   fond de leur coquille. */
body.mkt-page{
  background:
    radial-gradient(110% 40% at 50% 0%, rgba(95,111,201,.13), transparent 62%),
    linear-gradient(180deg,#c8d5f8 0%, #e2e4f6 34%, #eef0f9 72%);
  background-attachment:fixed;
}
body.mkt-page .v1c,
body.mkt-page .v1c .mkt{background:transparent}

/* ── LE DÉCOR : des nuages qui dérivent, et rien d'autre ─────────────────────
   `position:fixed` : hors du flux, donc AUCUN effet sur la hauteur de la page
   (B3 intact) et aucune prise au défilement. `pointer-events:none` : rien
   n'intercepte un clic. Aucun JavaScript : la CSP est `script-src 'self'`.
   ⚠️ PAS DE SKYLINE (Paul, 07/09) : des immeubles qui défilent annoncent
   l'immobilier — donc un seul module — sur la page qui les présente tous. Le
   dessin et son CSS attendent les pages Immobilia dans
   `work/design/marketplace-propositions/fond-immeubles-2026-09-07.html`. */
.v1c .mkt .fnd{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden}
.v1c .mkt .fnd .nu{position:absolute; inset:0; display:block; overflow:hidden}
.v1c .mkt .fnd .nu i{position:absolute; display:block; border-radius:200px;
  background:radial-gradient(closest-side,#fff,rgba(255,255,255,.58) 56%,rgba(255,255,255,0));
  filter:blur(3px) drop-shadow(0 8px 20px rgba(120,130,200,.18)); will-change:transform}
.v1c .mkt .fnd .n1{width:280px; height:80px; top:6%;  left:3%}
.v1c .mkt .fnd .n2{width:200px; height:60px; top:19%; left:64%}
.v1c .mkt .fnd .n3{width:250px; height:72px; top:37%; left:8%}
.v1c .mkt .fnd .n4{width:170px; height:52px; top:11%; left:38%}
/* ⚠️ Tout le mouvement est ICI : qui a demandé moins d'animation garde le ciel et
   la ville, IMMOBILES — jamais un fond vide. */
@media (prefers-reduced-motion:no-preference){
  .v1c .mkt .fnd .nu i{animation-name:mk-derive; animation-timing-function:linear; animation-iteration-count:infinite}
  .v1c .mkt .fnd .n1{animation-duration:72s;  animation-delay:-6s}
  .v1c .mkt .fnd .n2{animation-duration:94s;  animation-delay:-42s}
  .v1c .mkt .fnd .n3{animation-duration:82s;  animation-delay:-23s}
  .v1c .mkt .fnd .n4{animation-duration:106s; animation-delay:-71s}
}
@keyframes mk-derive{from{transform:translateX(-340px)} to{transform:translateX(115%)}}

/* Le contenu passe AU-DESSUS du décor. */
.v1c .mkt > .sh,
.v1c .mkt > .sel,
.v1c .mkt > .mkbody{position:relative; z-index:1}

/* ── LA FEUILLE DU BAS — même dispositif que la landing, en CSS pur ──────────
   ⚠️ NOMS EN `mk-` : `.modal`, `.card`, `.x` sont des mots trop courants pour
   être pris ici — et le CSS de cette page cohabite avec `app.css`. La landing
   utilise `.e-` pour la même raison. */
.v1c .mkt .mk-case{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none}
.v1c .mkt .mk-modal{position:fixed; inset:0; z-index:30; display:flex;
  align-items:flex-end; justify-content:center; padding:0;
  opacity:0; visibility:hidden; transition:opacity .22s}
.v1c .mkt .mk-bg{position:absolute; inset:0; cursor:pointer;
  background:rgba(33,31,54,.48); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px)}
/* ⚠️ `min-height` AUTANT QUE `max-height` (Paul, 07/09 : « le popup doit être plus
   grand »). Sans plancher, la feuille se dimensionne sur son contenu et sortait à
   310 px sur 812 — une bande étroite en bas d'un grand vide. Le plancher est en
   `min()` : 66 % de la fenêtre au plus, et jamais plus que ce que `max-height`
   autorise sur un écran court. Mesuré à 375x812 : la feuille passe de 310 px
   (38 % de l'écran) à 520 px (64 %), le contenu en occupe 359 et il reste ~30 px
   d'air avant le CTA — à 74 % il en restait 70, ce qui flottait. */
.v1c .mkt .mk-card{position:relative; width:100%; max-width:440px;
  min-height:min(66%, 520px); max-height:92%;
  display:flex; flex-direction:column; padding:16px 15px 0;
  background:#fff; border-radius:22px 22px 0 0;
  box-shadow:0 -20px 60px -30px rgba(24,20,54,.8);
  transform:translateY(100%); transition:transform .22s}
/* La poignée : le signe d'une feuille qui monte du bas. */
.v1c .mkt .mk-card::before{content:""; flex:0 0 auto; align-self:center; width:38px; height:4px;
  border-radius:99px; background:#dcdaea; margin-bottom:11px}
.v1c .mkt #mk-fonc:checked ~ .mk-modal{opacity:1; visibility:visible}
.v1c .mkt #mk-fonc:checked ~ .mk-modal .mk-card{transform:none}
.v1c .mkt .mk-tete{flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  gap:8px; margin-bottom:10px}
.v1c .mkt .mk-tete b{font-family:var(--f-t); font-weight:800; font-size:19px; letter-spacing:-.02em; color:#211f36}
.v1c .mkt .mk-x{width:30px; height:30px; border-radius:50%; background:#f2f0fb; color:#8481a0;
  cursor:pointer; display:grid; place-items:center; font-size:19px; line-height:1}
.v1c .mkt .mk-x:hover{color:#211f36}
/* La zone qui défile si la liste dépasse. `min-height:0` : sans lui, un enfant
   flex ne peut pas rétrécir sous son contenu et la feuille déborderait.
   Barre masquée : visible, elle amputerait ~15 px et le contenu paraîtrait plus
   étroit que son en-tête. */
.v1c .mkt .mk-defile{flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
  scrollbar-width:none}
.v1c .mkt .mk-defile::-webkit-scrollbar{display:none}
/* Dans la feuille, le bloc des fonctions perd son cadre : le contenu s'aligne à
   même la feuille (comme sur la landing). Le trait pointillé reste, c'est un
   séparateur et pas un cadre. */
.v1c .mkt .feats.nu-cadre{border:0; background:transparent; padding:0; border-radius:0}
/* ⑩ (Paul, 08/09) — L'ENCADRÉ DES FONCTIONNALITÉS DE /marketplace, ALIGNÉ SUR LA
   LANDING. Le cadre (fond blanc translucide + filet indigo + coins arrondis)
   vivait sur `details.feats` (l.662, l'époque du <details>). marketplace a adopté
   un <div class="feats"> (comme la landing) et la règle ne l'atteignait plus : le
   bloc sortait NU (mesuré : border 0, fond transparent, radius 0). La landing, elle,
   a réappliqué le cadre à `.feats` en accueil.css ; marketplace, non — c'est
   l'incident. On le pose ici, SCOPÉ `body.mkt-page` pour ne RIEN toucher à la
   landing (autre coquille, autre feuille), et `:not(.nu-cadre)` laisse la feuille
   « Voir toutes les fonctionnalités » sans cadre (son opt-out, juste au-dessus).
   Mêmes valeurs que le cadre d'origine (l.662) et que la landing (accueil.css). */
body.mkt-page .v1c .mkt .feats:not(.nu-cadre){
  background:rgba(255,255,255,.5); border:1px solid rgba(95,111,201,.16);
  border-radius:12px; padding:6px 10px;
}
/* ⚠️ LA FEUILLE A LA PLACE : on y lit plus grand que dans la carte, aux mêmes
   tailles que la feuille de la landing. Chaînes à 5 classes (0,5,0) pour battre
   les `.v1c .mkt .feats …` (0,4,0) posés plus haut — sans ça, rien ne bouge. */
.v1c .mkt .mk-defile .feats .f3{gap:9px}
.v1c .mkt .mk-defile .feats .f3 .fi{font-size:13.5px}
.v1c .mkt .mk-defile .feats .f3 .fi svg{width:18px; height:18px}
.v1c .mkt .mk-defile .feats .fall{margin-top:10px; padding-top:10px}
.v1c .mkt .mk-defile .feats .fall .fi{font-size:12.5px}
.v1c .mkt .mk-defile .feats .fall .fi svg{width:14px; height:14px}
.v1c .mkt .mk-defile .feats .biens{margin-top:14px; padding-top:12px}
.v1c .mkt .mk-defile .feats .biens-t{font-size:13px}
.v1c .mkt .mk-defile .feats .biens-l li{font-size:12.5px; padding:6px 12px}
/* Le CTA EN DESSOUS (Paul, 07/09) : collé au bas de la feuille, pleine largeur,
   marges négatives pour annuler le padding de la carte — il occupe toute la
   partie basse, comme sur la landing. Il garde l'arrondi HAUT de la feuille. */
/* ⚠️ `width:auto` EST INDISPENSABLE : `.mkcta` porte `width:100%`, c'est-à-dire
   100 % du contenu de la feuille (349 px) — les marges négatives le décalaient
   à gauche sans l'élargir, et il s'arrêtait 26 px avant le bord droit. Mesuré. */
/* ⚠️ PLUS GROS QUE LE CTA D'UNE CARTE (Paul, 07/09). `.mkcta` vaut 46 px, la
   hauteur d'un bouton dans une carte serrée ; dans une feuille du bas, ce bouton
   EST le geste de la page — 60 px, comme le CTA de la landing, et son texte à
   l'avenant. Chaînes à 4 classes pour battre `.v1c .mkt .mkcta b` (0,4,0). */
.v1c .mkt .mk-cta{flex:0 0 auto; width:auto; min-height:60px; margin:14px -15px 0;
  border-radius:16px 16px 0 0}
.v1c .mkt .mk-cta b{font-size:18px; letter-spacing:-.02em}
.v1c .mkt .mk-cta small{font-size:12.5px}
/* ⚠️ LE DÉTAIL EN 2 COLONNES ASYMÉTRIQUES, comme la feuille de la landing : les
   colonnes se dimensionnent sur leur contenu (`max-content`) et s'écartent
   (`space-between`), le remplissage se fait EN COLONNE sur 5 lignes. Couplé à
   l'ordre du HTML (les 5 longs d'abord), chaque puce tient sur UNE ligne. */
.v1c .mkt .mk-defile .feats .fall{display:grid; grid-auto-flow:column;
  grid-template-rows:repeat(5,auto); grid-template-columns:max-content max-content;
  justify-content:space-between; row-gap:3px; column-gap:10px}
.v1c .mkt .mk-defile .feats .fall .fi{white-space:nowrap}

/* ── auth-fusion : le POPUP d'inscription sur /connexion — CSS pur, MÊME mécanique
   que la feuille du marketplace (`.mk-modal`). Noms en `apop-` : uniques à l'écran
   d'auth, donc la portée RÉELLE est cette seule vue même si la règle vit dans la
   feuille partagée. La case `#authpop` (posée dans la vue, AVANT `.apop`) commande
   tout ; fermer = un `<label for="authpop">` (le fond OU le ×). Aucun script. ──── */
.v1c label.lnk{cursor:pointer}
.v1c .apop-case{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none}
.v1c .apop{position:fixed; inset:0; z-index:30; display:flex;
  align-items:flex-end; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .22s}
.v1c .apop-bg{position:absolute; inset:0; cursor:pointer;
  background:rgba(33,31,54,.48); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px)}
.v1c .apop-card{position:relative; width:100%; max-width:440px; max-height:92%;
  display:flex; flex-direction:column; padding:16px 15px 18px;
  background:#fff; border-radius:22px 22px 0 0;
  box-shadow:0 -20px 60px -30px rgba(24,20,54,.8);
  transform:translateY(100%); transition:transform .22s}
/* La poignée : le signe d'une feuille qui monte du bas. */
.v1c .apop-card::before{content:""; flex:0 0 auto; align-self:center; width:38px; height:4px;
  border-radius:99px; background:#dcdaea; margin-bottom:11px}
.v1c #authpop:checked ~ .apop{opacity:1; visibility:visible}
.v1c #authpop:checked ~ .apop .apop-card{transform:none}
.v1c .apop-tete{flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  gap:8px; margin-bottom:12px}
.v1c .apop-tete b{font-family:var(--f-t); font-weight:800; font-size:19px; letter-spacing:-.02em; color:#211f36}
.v1c .apop-x{flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:#f2f0fb; color:#8481a0;
  cursor:pointer; display:grid; place-items:center; font-size:22px; line-height:1}
.v1c .apop-x:hover{color:#211f36}
/* La zone qui défile si le formulaire dépasse (petit écran, clavier ouvert).
   `min-height:0` : sans lui, un enfant flex ne rétrécit pas sous son contenu. */
.v1c .apop-defile{flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
  display:flex; flex-direction:column; gap:12px; scrollbar-width:none}
.v1c .apop-defile::-webkit-scrollbar{display:none}
/* ⚠️ Le formulaire du popup n'est PAS dans `.body`, donc `.v1c .body form` (qui
   donne aux champs leur colonne espacée) ne l'atteint pas. On rejoue la même règle
   ICI, sinon les trois champs se collent sans marge — le piège d'une structure qui
   compte sur une règle scopée à un AUTRE conteneur. */
.v1c .apop form{display:flex; flex-direction:column; gap:12px}

/* ── souscription-parcours : la page « Valider votre offre » (Paul 08/09). Noms
   `sous-` uniques à cet écran → portée réelle = cette seule vue. Le prix mis en
   avant, et l'EMPLACEMENT du paiement carte (branché côté local — Stripe). ──── */
.v1c .sous-prix{display:flex; flex-direction:column; align-items:center; gap:2px; text-align:center}
.v1c .sous-prix b{font-family:var(--f-t); font-weight:800; font-size:34px; letter-spacing:-.02em; color:var(--immo)}
.v1c .sous-prix span{font-size:12px; color:var(--muted)}
.v1c .sous-carte{display:flex; flex-direction:column; gap:4px; padding:16px 15px; text-align:center;
  border:1px dashed var(--tile-line); border-radius:12px; background:var(--tile)}
.v1c .sous-carte-t{font-family:var(--f-t); font-weight:700; font-size:13px; color:var(--ink)}
