:root{
  --bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#6e7890;--line:#e5e9f2;
  --brand:#645cff;--brand2:#8f6cff;--soft:#f0efff;--danger:#e5525e;--warn:#f2a93b;--success:#2ca66f;
  --shadow:0 18px 50px rgba(35,44,80,.10);--radius:22px;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.shell{max-width:1160px;margin:0 auto;padding:34px 22px 70px}.topbar{height:74px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1160px)/2));position:sticky;top:0;z-index:20}.brand{font-weight:900;font-size:1.05rem;display:flex;gap:9px;align-items:center}.nav{display:flex;gap:7px;align-items:center}.nav a{padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:700;font-size:.92rem}.nav a:hover,.nav a.active{background:var(--soft);color:var(--brand)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;min-height:600px}.eyebrow{font-size:.76rem;letter-spacing:.13em;font-weight:900;color:var(--brand)}h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.02;margin:14px 0 18px;letter-spacing:-.045em}h1 span{color:var(--brand)}.hero p,.wizard-head p,.dashboard-head p,.page-title p{font-size:1.08rem;line-height:1.65;color:var(--muted);max-width:720px}.hero-actions{display:flex;gap:12px;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:13px 18px;font-weight:850;cursor:pointer;font-size:.95rem}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;box-shadow:0 10px 24px rgba(100,92,255,.22)}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--text)}.btn.small{padding:9px 13px;font-size:.85rem}.btn.full{width:100%}.trust-row{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.85rem;font-weight:700}.hero-card{display:flex;justify-content:center}.demo-card{width:100%;max-width:470px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:25px;box-shadow:var(--shadow);transform:rotate(1deg)}.demo-head{display:flex;justify-content:space-between;align-items:center}.demo-head h3{margin:4px 0 0;font-size:1.25rem}.demo-head small{color:var(--brand);font-weight:900;letter-spacing:.08em}.progress-ring{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:8px solid var(--soft);border-top-color:var(--brand);font-weight:900}.alert{padding:14px 16px;border-radius:16px;margin:20px 0;display:flex;justify-content:space-between}.alert.high{background:#fff1f2;color:#9e3741}.alert span{font-size:.84rem}.mini-task{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.features-grid,.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.features-grid article,.quick-card{background:white;padding:22px;border:1px solid var(--line);border-radius:20px;box-shadow:0 9px 30px rgba(35,44,80,.05)}.features-grid h3,.quick-card b{margin:10px 0 7px}.features-grid p,.quick-card small{color:var(--muted);line-height:1.55}.icon,.quick-card>span{font-size:1.7rem}.auth-wrap{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(100%,520px);background:#fff;padding:34px;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.auth-card h1,.wizard-head h1,.dashboard-head h1,.page-title h1{font-size:clamp(2rem,5vw,3.2rem)}.form-grid{display:grid;gap:16px}.two-cols{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}label{display:grid;gap:8px;font-weight:800;font-size:.9rem}input,select,textarea{width:100%;border:1px solid #dfe4ef;border-radius:13px;padding:12px 13px;font:inherit;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--soft)}.check-card{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.check-card input{width:auto}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 9px 30px rgba(35,44,80,.05);margin:20px 0}.panel.compact{padding:18px}.flash{padding:13px 15px;border-radius:13px;margin:14px 0;transition:.3s}.flash.error{background:#fff0f1;color:#9e3741}.flash.fade{opacity:.3}.wizard-head,.page-title{margin:20px 0 26px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0 25px}.big-progress{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) 0 38%,#e9eafa 38%);position:relative}.big-progress:before{content:"";position:absolute;inset:10px;background:#fff;border-radius:50%}.big-progress span,.big-progress small{position:relative;z-index:1;grid-area:1/1}.big-progress span{font-size:1.7rem;font-weight:950;margin-top:-12px}.big-progress small{margin-top:32px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-grid.three{grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:4px}.stat-card span{color:var(--muted);font-size:.85rem;font-weight:800}.stat-card strong{font-size:1.8rem}.stat-card small{color:var(--muted)}.stat-card.danger{border-color:#ffd4d8;background:#fffafb}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head h2{margin:5px 0 0}.task-list{display:grid}.task-row{display:flex;align-items:center;gap:12px;padding:15px 2px;border-bottom:1px solid var(--line);background:transparent}.task-row:last-child{border-bottom:0}.task-row.done{opacity:.48}.task-row.done b{text-decoration:line-through}.task-dot{width:9px;height:9px;border-radius:50%;background:var(--warn)}.task-dot.high{background:var(--danger)}.task-dot.low{background:var(--success)}.grow{flex:1;display:grid;gap:3px}.grow small{color:var(--muted)}.due{font-size:.82rem;font-weight:850;color:var(--muted)}.due.late{color:var(--danger)}.check-btn{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:white;color:var(--success);font-weight:900;cursor:pointer}.quick-grid{grid-template-columns:repeat(3,1fr);margin-top:18px}.quick-card{display:grid;gap:5px}.inline-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.box-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.box-card{background:white;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 26px rgba(35,44,80,.05)}.box-number{display:inline-flex;padding:6px 9px;background:var(--soft);color:var(--brand);font-weight:950;border-radius:10px;font-size:.82rem}.box-card h3{margin:12px 0 8px}.box-card p{color:var(--muted);min-height:48px;line-height:1.5}.box-card small{color:var(--muted);display:block;margin-bottom:12px}.budget-table{display:grid}.budget-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;padding:13px;border-bottom:1px solid var(--line)}.budget-row.head{font-size:.8rem;color:var(--muted);font-weight:900;text-transform:uppercase}.empty{padding:28px;text-align:center;color:var(--muted);background:#fafbfe;border-radius:16px}.footer{text-align:center;color:#9098aa;padding:26px;font-size:.8rem}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:20px;min-height:auto;padding:40px 0}.hero-card{order:-1}.features-grid{grid-template-columns:1fr 1fr}.nav a{display:none}.nav a:last-child{display:block}.stat-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.box-grid{grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:1fr 1fr}.budget-form{grid-template-columns:1fr 1fr}.budget-row{grid-template-columns:1.5fr .8fr .8fr .8fr}.shell{padding:24px 14px 60px}}
@media(max-width:560px){.topbar{height:64px}.brand span{font-size:.9rem}.hero h1{font-size:2.55rem}.demo-card{padding:18px}.features-grid,.stat-grid,.stat-grid.three,.box-grid,.two-cols{grid-template-columns:1fr}.span-2{grid-column:auto}.trust-row{display:grid;gap:7px}.hero-actions{display:grid}.dashboard-head{align-items:flex-start}.big-progress{width:88px;height:88px}.inline-form,.budget-form{grid-template-columns:1fr}.budget-row{grid-template-columns:1fr 1fr}.budget-row.head{display:none}.task-row{align-items:flex-start}.due{max-width:80px;text-align:right}.shell{padding-left:12px;padding-right:12px}}

/* ===== v0.2 : cartons QR + démarches + navigation mobile ===== */
.big-progress{background:conic-gradient(var(--brand) 0 var(--progress,38%),#e9eafa var(--progress,38%) 100%)}
.quick-grid.four{grid-template-columns:repeat(4,1fr)}
.admin-banner{margin:18px 0 2px;background:linear-gradient(135deg,#f0efff,#fff);border:1px solid #dcd8ff;border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 25px rgba(35,44,80,.04)}
.admin-banner-icon{font-size:1.6rem}.admin-banner div{display:grid;gap:3px;flex:1}.admin-banner small{color:var(--muted)}.admin-banner>strong{color:var(--brand)}
.search-panel{padding:16px 18px}.box-search{display:flex;gap:10px;align-items:center}.search-field{flex:1;display:flex;align-items:center;border:1px solid var(--line);border-radius:15px;background:#fff;padding-left:13px}.search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--soft)}.search-field input{border:0;box-shadow:none!important;background:transparent}.search-result-line{margin-top:12px;color:var(--muted);font-size:.9rem}.search-result-line b{color:var(--brand)}
.box-topline{display:flex;justify-content:space-between;gap:8px;align-items:center}.status-pill{font-size:.72rem;font-weight:900;padding:6px 8px;border-radius:999px;background:#f3f5f9;color:var(--muted)}.status-pill.packed{background:#eff7ff;color:#3773a8}.status-pill.loaded{background:#fff5df;color:#9a6616}.status-pill.arrived{background:#edfbf4;color:#247b55}.status-pill.unpacked{background:#edf9f0;color:#297a45}.status-pill.packing{background:#f4f4f7;color:#666f80}
.box-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.status-form{margin-top:8px}.box-card.search-hit{border-color:#d9d4ff;box-shadow:0 10px 30px rgba(100,92,255,.09)}
.print-actions{display:flex;gap:10px}.labels-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.box-label{background:#fff;border:2px dashed #cfd5e3;border-radius:20px;padding:18px;display:grid;grid-template-columns:1fr 170px;gap:18px;align-items:center;min-height:220px}.label-main{min-width:0}.label-number{font-size:2.2rem;font-weight:950;color:var(--brand);letter-spacing:-.04em}.label-room{font-size:1.55rem;font-weight:950;margin:3px 0 8px}.fragile-badge{display:inline-flex;background:#fff1f2;color:#a33743;padding:7px 9px;border-radius:9px;font-weight:950;font-size:.8rem;margin-bottom:8px}.label-content{color:var(--muted);line-height:1.45;max-height:72px;overflow:hidden;margin-bottom:10px}.label-main small{color:var(--muted)}.label-qr-wrap{text-align:center;display:grid;justify-items:center;gap:7px}.label-qr-wrap small{color:var(--muted);font-size:.72rem}.qr-code canvas,.qr-code img{max-width:150px!important;width:150px!important;height:150px!important}
.public-box-card{width:min(100%,620px);margin:48px auto;background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow);text-align:center}.public-box-icon{font-size:3rem}.public-box-card h1{margin:8px 0 18px;color:var(--brand)}.destination-card{background:var(--soft);border-radius:20px;padding:18px;display:grid;gap:5px}.destination-card small{color:var(--muted);font-weight:800}.destination-card strong{font-size:2rem}.public-fragile{margin:14px 0;background:#fff1f2;color:#9e3741;border-radius:14px;padding:12px;font-weight:900}.public-content{margin-top:18px;text-align:left;border:1px solid var(--line);border-radius:16px;padding:16px}.public-content small{font-weight:900;color:var(--muted)}.public-content p{line-height:1.55;margin:7px 0 0}.public-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);margin-top:16px;font-size:.9rem}.privacy-note{color:#9aa2b3;font-size:.78rem;margin:22px 0 0}
.admin-progress{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;display:grid;gap:2px;min-width:145px;text-align:right}.admin-progress strong{font-size:1.6rem;color:var(--brand)}.admin-progress span{font-size:.8rem;color:var(--muted);font-weight:800}.notice-card{display:flex;gap:12px;align-items:flex-start;background:#f5f7ff;border:1px solid #dfe2ff;border-radius:16px;padding:15px 17px;margin:-7px 0 18px}.notice-card div{display:grid;gap:4px}.notice-card span{font-size:.85rem;color:var(--muted);line-height:1.5}.admin-list{padding:8px 22px}.admin-step{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.admin-step:last-child{border-bottom:0}.admin-step.done{opacity:.5}.admin-step.done h3{text-decoration:line-through}.admin-toggle{padding-top:4px}.admin-step-body h3{margin:8px 0 6px;font-size:1.05rem}.admin-step-body p{margin:0;color:var(--muted);line-height:1.5}.admin-step-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.category-pill{display:inline-flex;background:var(--soft);color:var(--brand);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.official-link{display:inline-flex;margin-top:10px;color:var(--brand);font-size:.85rem;font-weight:850}.official-link:hover{text-decoration:underline}
.mobile-nav{display:none}
@media(max-width:850px){.quick-grid.four{grid-template-columns:1fr 1fr}.box-search{align-items:stretch;flex-wrap:wrap}.search-field{flex-basis:100%}.labels-grid{grid-template-columns:1fr}.admin-banner{align-items:flex-start}.box-label{grid-template-columns:1fr 160px}}
@media(max-width:560px){body{padding-bottom:70px}.shell{padding-bottom:34px}.topbar .nav a:not(.logout-link){display:none}.topbar .logout-link{display:block;padding:8px 10px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.mobile-nav a{display:grid;justify-items:center;gap:2px;color:var(--muted);font-weight:800}.mobile-nav a span{font-size:1.12rem}.mobile-nav a small{font-size:.62rem}.mobile-nav a.active{color:var(--brand)}.footer{display:none}.quick-grid.four{grid-template-columns:1fr}.section-head.page-title{align-items:flex-start;display:grid}.section-head.page-title>.btn{width:100%}.print-actions{width:100%}.print-actions>*{flex:1}.box-search .btn{flex:1}.box-label{grid-template-columns:1fr;justify-items:center;text-align:center}.label-main{text-align:center}.admin-progress{text-align:left;width:100%}.admin-step{grid-template-columns:34px 1fr}.admin-list{padding:6px 14px}.admin-step-head{align-items:flex-start}.public-box-card{margin:18px auto;padding:22px 17px}.destination-card strong{font-size:1.7rem}.public-meta{display:grid;text-align:left}.admin-banner>strong{display:none}}
@media print{body{background:#fff;padding:0}.topbar,.footer,.mobile-nav,.no-print{display:none!important}.shell{max-width:none;padding:0}.labels-grid{grid-template-columns:1fr 1fr;gap:8mm}.box-label{break-inside:avoid;page-break-inside:avoid;border:1.5px dashed #555;border-radius:4mm;min-height:62mm;padding:6mm;grid-template-columns:1fr 42mm;box-shadow:none}.qr-code canvas,.qr-code img{width:38mm!important;height:38mm!important}.label-number{font-size:9mm}.label-room{font-size:6mm}.label-content{font-size:3.6mm;max-height:18mm}.fragile-badge{font-size:3.3mm}.label-main small,.label-qr-wrap small{font-size:2.8mm}}
@media(max-width:850px){body{padding-bottom:70px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.mobile-nav a{display:grid;justify-items:center;gap:2px;color:var(--muted);font-weight:800}.mobile-nav a span{font-size:1.12rem}.mobile-nav a small{font-size:.62rem}.mobile-nav a.active{color:var(--brand)}.footer{padding-bottom:86px}}

/* ===== v0.3 : documents, scan rapide, mode Jour J ===== */
.flash.success{background:#edf9f2;color:#26704e}
.quick-grid.six{grid-template-columns:repeat(3,1fr)}
.quick-card.featured{border-color:#d8d4ff;background:linear-gradient(135deg,#f6f4ff,#fff)}
.upload-limit{font-size:.78rem;font-weight:850;color:var(--muted)}
.file-drop{padding:16px;border:1.5px dashed #cfd5e3;border-radius:16px;background:#fafbfe}.file-drop input{background:#fff}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.filter-tabs a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.85rem;font-weight:850;color:var(--muted)}.filter-tabs a.active{background:var(--soft);border-color:#d8d4ff;color:var(--brand)}
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.doc-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 26px rgba(35,44,80,.05)}.doc-preview{height:175px;background:#f4f6fa;display:grid;place-items:center;overflow:hidden}.doc-preview.image img{width:100%;height:100%;object-fit:cover}.doc-preview.pdf{font-size:3rem;color:var(--brand);align-content:center;gap:4px}.doc-preview.pdf small{font-size:.72rem;font-weight:900;color:var(--muted)}.doc-body{padding:17px}.doc-body h3{margin:9px 0 6px}.doc-body p{color:var(--muted);line-height:1.45;margin:0 0 8px}.doc-body>small{color:var(--muted);font-size:.75rem}.doc-actions{display:flex;gap:8px;align-items:center;margin-top:14px}.doc-actions form{margin:0}.danger-text{color:var(--danger)!important}
.scan-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.scan-panel{display:grid;gap:13px}.camera-box{height:360px;border-radius:22px;background:#111827;overflow:hidden;position:relative}.camera-box video{width:100%;height:100%;object-fit:cover}.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;gap:6px;color:#fff;background:radial-gradient(circle at center,#26324a,#111827)}.camera-placeholder:first-letter{font-size:2rem}.camera-placeholder small{color:#cbd5e1;max-width:330px;line-height:1.4}.scan-frame{position:absolute;z-index:2;width:190px;height:190px;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.86);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.16);pointer-events:none}.scan-help{margin:0;color:var(--muted);font-size:.83rem;line-height:1.45}.last-scan{margin-top:18px;padding:15px;background:var(--soft);border-radius:15px;display:grid;gap:4px}.last-scan span,.last-scan small{color:var(--muted);font-size:.78rem}.last-scan strong{color:var(--brand)}
.day-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0 22px;padding:26px;background:linear-gradient(135deg,#efeefe,#fff);border:1px solid #dad6ff;border-radius:28px}.day-hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:8px 0}.day-hero p{margin:0;color:var(--muted);font-weight:750}.day-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.day-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.day-stat span{color:var(--muted);font-size:.84rem;font-weight:850}.day-stat strong{display:block;font-size:1.8rem;margin:5px 0 10px}.mini-progress{height:7px;border-radius:99px;background:#eceefa;overflow:hidden}.mini-progress i{height:100%;display:block;background:var(--brand);border-radius:99px}.day-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.status-stack{display:grid;gap:8px;margin:16px 0}.status-stack div{display:flex;justify-content:space-between;padding:11px 13px;border-radius:12px;background:#f8f9fc}.status-stack span{color:var(--muted);font-weight:750}.bulk-actions{display:grid;gap:8px;margin:14px 0}.day-quick{margin-top:18px}
@media(max-width:850px){.quick-grid.six{grid-template-columns:1fr 1fr}.doc-grid{grid-template-columns:1fr 1fr}.scan-layout,.day-columns{grid-template-columns:1fr}.day-hero{align-items:flex-start}.mobile-nav{grid-template-columns:repeat(6,1fr)}}
@media(max-width:560px){.quick-grid.six,.doc-grid,.day-stats{grid-template-columns:1fr}.day-hero{display:grid;padding:20px}.day-hero .btn{width:100%}.camera-box{height:310px}.scan-frame{width:165px;height:165px}.mobile-nav a small{font-size:.56rem}}

/* ===== v0.4 : partage famille / proches ===== */
.share-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #dcd8ff;background:linear-gradient(135deg,#f3f1ff,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.share-banner-icon{font-size:1.6rem}.share-banner div{display:grid;gap:3px;flex:1}.share-banner b{color:var(--brand)}.share-banner small{color:var(--muted);line-height:1.45}.share-banner>strong{color:var(--brand);white-space:nowrap}.family-count{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 18px;display:grid;justify-items:end;min-width:130px}.family-count strong{font-size:1.7rem;color:var(--brand)}.family-count span{font-size:.78rem;color:var(--muted);font-weight:850}.muted-copy{color:var(--muted);line-height:1.55}.secure-pill,.you-pill,.role-pill{display:inline-flex;align-items:center;border-radius:999px;font-weight:900;font-size:.74rem}.secure-pill{padding:7px 10px;background:#edf9f2;color:#26704e}.you-pill{padding:3px 7px;background:var(--soft);color:var(--brand);margin-left:5px;vertical-align:1px}.role-pill{padding:7px 10px;background:#f5f7fa;color:var(--muted)}.role-pill.owner{background:var(--soft);color:var(--brand)}.invite-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.member-list,.invite-list{display:grid}.member-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.member-row:last-child,.invite-row:last-child{border-bottom:0}.avatar-circle{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:950}.icon-danger{border:0;width:34px;height:34px;border-radius:10px;background:#fff0f1;color:var(--danger);font-size:1.25rem;cursor:pointer}.invite-row{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(280px,1.3fr) auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.invite-meta{display:grid;gap:4px}.invite-meta small{color:var(--muted)}.invite-link-wrap{display:grid;grid-template-columns:1fr auto auto;gap:7px}.invite-link{font-size:.78rem;background:#fafbfe;color:var(--muted)}.leave-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.leave-panel p{margin:5px 0 0;color:var(--muted)}.invite-landing{min-height:72vh;display:grid;place-items:center}.invite-landing-card{width:min(100%,620px);background:#fff;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow);text-align:center}.invite-big-icon{font-size:3rem}.invite-landing-card h1{font-size:clamp(2rem,5vw,3rem)}.invite-landing-card>p{color:var(--muted);line-height:1.6}.invite-move-summary{display:grid;gap:5px;background:var(--soft);padding:17px;border-radius:17px;margin:20px 0}.invite-move-summary b{font-size:1.15rem;color:var(--brand)}.invite-move-summary span{color:var(--muted);font-weight:750}.invite-actions{display:flex;gap:10px;justify-content:center;margin:22px 0}.invite-actions .btn{min-width:170px}
@media(max-width:850px){.topbar .nav{gap:2px}.topbar .nav a{padding:9px 8px;font-size:.82rem}.invite-row{grid-template-columns:1fr auto}.invite-link-wrap{grid-column:1/-1}.family-count{justify-items:start}.section-head.page-title{align-items:flex-start}}
@media(max-width:560px){.share-banner{align-items:flex-start}.share-banner>strong{display:none}.invite-form,.invite-link-wrap{grid-template-columns:1fr}.invite-link-wrap .btn{width:100%}.member-row{align-items:flex-start;flex-wrap:wrap}.member-row .grow{min-width:160px}.role-pill{margin-left:54px}.invite-row{grid-template-columns:1fr auto}.invite-link-wrap{grid-column:1/-1}.leave-panel{display:grid}.leave-panel .btn{width:100%}.invite-actions{display:grid}.invite-actions .btn{width:100%}.invite-landing-card{padding:24px 18px}.family-count{width:100%}}

/* ===== v0.5 : Ma Maison ===== */
.three-cols{grid-template-columns:repeat(3,1fr)}.span-3{grid-column:1/-1}
.home-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:10px 0 24px;padding:28px;border-radius:28px;border:1px solid #d9e9df;background:linear-gradient(135deg,#edf9f2,#fff)}.home-hero h1{font-size:clamp(2.1rem,5vw,3.5rem);margin:8px 0 10px}.home-hero p{margin:0;color:var(--muted);font-weight:720;line-height:1.55}.home-place{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dbe8df;border-radius:18px;padding:15px 18px;min-width:220px}.home-place>span{font-size:1.65rem}.home-place div{display:grid;gap:3px}.home-place small{color:var(--muted);font-weight:800}.home-place b{font-size:1.08rem}
.home-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #d7eadf;background:linear-gradient(135deg,#edf9f2,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.home-banner-icon{font-size:1.65rem}.home-banner div{display:grid;gap:3px;flex:1}.home-banner b{color:#26704e}.home-banner small{color:var(--muted);line-height:1.45}.home-banner>strong{color:#26704e;white-space:nowrap}
.home-add-panel{border-color:#dcebe2}.home-form{margin-top:18px}.home-search{display:flex;gap:10px;align-items:center}.home-search .search-field{min-width:260px}.home-search select{width:auto;min-width:190px}.home-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.home-item-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 26px rgba(35,44,80,.05)}.home-item-head{display:flex;align-items:flex-start;gap:12px}.home-item-icon{width:46px;height:46px;border-radius:14px;background:#edf9f2;display:grid;place-items:center;font-size:1.45rem}.home-item-head h3{margin:4px 0 2px;font-size:1.2rem}.home-item-head small{color:var(--muted)}.room-pill{padding:7px 10px;border-radius:999px;background:#f5f7fa;color:var(--muted);font-size:.74rem;font-weight:900}.home-item-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.home-item-meta>div{display:grid;gap:5px;padding:11px;border-radius:13px;background:#f8f9fc;min-width:0}.home-item-meta span{color:var(--muted);font-size:.74rem;font-weight:800}.home-item-meta b{font-size:.84rem;overflow-wrap:anywhere}.date-state.danger{color:var(--danger)}.date-state.warning{color:#a56400}.date-state.good{color:#26704e}.date-state.neutral{color:var(--muted)}.home-note{margin:0 0 14px;color:var(--muted);line-height:1.48;background:#fbfcfe;padding:11px 13px;border-radius:12px}.home-item-actions{display:flex;gap:8px;flex-wrap:wrap}.home-item-actions form{margin:0}.home-empty{grid-column:1/-1;padding:42px 20px}.home-empty>span{display:block;font-size:2.4rem;margin-bottom:8px}.home-empty b{display:block;color:var(--text);margin-bottom:5px}.home-empty p{margin:0}.home-next-note{display:flex;align-items:flex-start;gap:13px;margin:22px 0;padding:18px;border-radius:18px;background:#f5fbf7;border:1px solid #dcebe2}.home-next-note>span{font-size:1.6rem}.home-next-note div{display:grid;gap:4px}.home-next-note b{color:#26704e}.home-next-note small{color:var(--muted);line-height:1.5}.home-more-card{border-color:#d7eadf!important;background:linear-gradient(135deg,#f1faf4,#fff)!important}
@media(max-width:850px){.three-cols{grid-template-columns:1fr 1fr}.span-3{grid-column:1/-1}.home-hero{align-items:flex-start}.home-item-grid{grid-template-columns:1fr}.home-search{flex-wrap:wrap}.home-search .search-field{flex-basis:100%}.home-search select{flex:1;width:auto}.home-stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.three-cols,.home-stats,.home-item-meta{grid-template-columns:1fr}.home-hero{display:grid;padding:21px}.home-place{min-width:0;width:100%}.home-form .span-2,.home-form .span-3{grid-column:1}.home-search{display:grid}.home-search select,.home-search .btn{width:100%}.home-banner{align-items:flex-start}.home-banner>strong{display:none}.home-item-head{flex-wrap:wrap}.room-pill{margin-left:58px}.home-item-actions{display:grid}.home-item-actions .btn{width:100%}}

/* ===== v0.6 : Carnet équipement ===== */
.item-detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 14px}.back-link{font-weight:850;color:var(--brand)}.item-detail-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#f1faf4,#fff);border:1px solid #d8eadf;border-radius:28px;padding:24px;margin-bottom:18px}.item-detail-icon{width:68px;height:68px;flex:0 0 68px;border-radius:20px;display:grid;place-items:center;background:#fff;border:1px solid #d8eadf;font-size:2rem}.item-detail-hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:5px 0}.item-detail-hero p{margin:0;color:var(--muted);font-weight:750}.item-detail-value{display:grid;justify-items:end;gap:4px;min-width:150px}.item-detail-value small{color:var(--muted);font-weight:800}.item-detail-value strong{font-size:1.5rem}.item-detail-stats .stat-card strong.date-state{font-size:1.15rem}.item-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.maintenance-panel{align-self:start}.item-doc-tools{display:grid;grid-template-columns:1fr .8fr;gap:14px;margin:18px 0}.item-doc-upload{grid-template-columns:1.2fr .75fr 1fr auto;align-items:end}.link-existing-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;background:#fafbfe;border:1px solid var(--line);border-radius:16px;padding:12px}.item-doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.item-doc-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.item-doc-card .grow{min-width:0}.item-doc-card b{overflow-wrap:anywhere}.item-doc-card small{color:var(--muted);overflow-wrap:anywhere}.item-doc-preview{width:52px;height:52px;flex:0 0 52px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:1.55rem;overflow:hidden}.item-doc-preview.image img{width:100%;height:100%;object-fit:cover}.maintenance-history{display:grid}.maintenance-row{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line)}.maintenance-row:last-child{border-bottom:0}.maintenance-dot{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:#edf9f2;color:#26704e;font-weight:950}.home-doc-count{display:inline-flex;align-items:center;padding:8px 10px;border-radius:11px;background:#f7f8fb;color:var(--muted);font-size:.78rem;font-weight:850}.linked-home-pill{display:inline-flex;margin:7px 0 3px;padding:6px 9px;border-radius:999px;background:#edf9f2;color:#26704e;font-size:.74rem;font-weight:900}
@media(max-width:900px){.item-detail-grid,.item-doc-tools{grid-template-columns:1fr}.item-doc-upload{grid-template-columns:1fr 1fr}.item-doc-upload .btn{grid-column:1/-1}.item-doc-grid{grid-template-columns:1fr}}
@media(max-width:560px){.item-detail-hero{align-items:flex-start;flex-wrap:wrap;padding:20px}.item-detail-icon{width:56px;height:56px;flex-basis:56px}.item-detail-value{justify-items:start;min-width:0;width:100%;padding-left:74px}.item-doc-upload{grid-template-columns:1fr}.item-doc-upload .btn{grid-column:auto}.link-existing-form{grid-template-columns:1fr}.item-doc-card{align-items:flex-start}.maintenance-row{align-items:flex-start}.item-detail-stats{grid-template-columns:1fr}}


/* ===== v0.7 : Installation pièce par pièce ===== */
.page-title-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.installation-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 24px;padding:28px;border-radius:28px;border:1px solid #dedcff;background:linear-gradient(135deg,#f2f0ff,#fff)}.installation-hero h1{font-size:clamp(2.1rem,5vw,3.5rem);margin:8px 0 10px}.installation-hero p{margin:0;color:var(--muted);font-weight:720;line-height:1.55;max-width:720px}.installation-progress-ring{width:118px;height:118px;flex:0 0 118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) 0 var(--progress,0%),#e9eafa var(--progress,0%) 100%);position:relative}.installation-progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.installation-progress-ring strong,.installation-progress-ring small{position:relative;z-index:1;grid-area:1/1}.installation-progress-ring strong{font-size:1.7rem;margin-top:-13px}.installation-progress-ring small{margin-top:32px;color:var(--muted);font-weight:800}.installation-stats{margin-bottom:18px}.installation-empty{display:flex;align-items:center;gap:18px}.installation-empty>span{font-size:2.3rem}.installation-empty>div{flex:1}.installation-empty h2{margin:0 0 5px}.installation-empty p{margin:0;color:var(--muted);line-height:1.5}
.installation-room-index{border-color:#dedcff}.room-chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.room-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;padding:12px;background:#fafbfe}.room-chip>span{font-size:1.3rem}.room-chip div{display:grid;gap:2px;min-width:0}.room-chip small{color:var(--muted)}.room-chip>strong{color:var(--brand)}.room-chip.done{background:#f1faf4;border-color:#d7eadf}.room-chip.done>strong{color:#26704e}.installation-room-list{display:grid;gap:18px}.installation-room{margin:0}.installation-room.room-done{border-color:#d7eadf;background:linear-gradient(180deg,#fff,#fbfffc)}.room-head{display:flex;align-items:center;gap:14px}.room-title-icon{width:46px;height:46px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:1.35rem}.room-done .room-title-icon{background:#edf9f2}.room-head h2{margin:3px 0 2px}.room-head p{margin:0;color:var(--muted)}.room-progress-copy{display:grid;justify-items:end;gap:2px}.room-progress-copy strong{font-size:1.4rem;color:var(--brand)}.room-progress-copy small{color:var(--muted);font-weight:850}.room-progress-bar{height:9px;border-radius:999px;background:#eceef5;overflow:hidden;margin:16px 0 9px}.room-progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand2))}.room-done .room-progress-bar span{background:var(--success)}.room-finish-form{display:flex;justify-content:flex-end;margin-bottom:8px}.installation-box-list{display:grid;gap:10px;margin-top:10px}.installation-box{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}.installation-box.is-unpacked{border-color:#d7eadf}.installation-box-main{display:flex;align-items:flex-start;gap:12px;padding:15px}.installation-box-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.installation-box-title>span{font-size:.72rem;font-weight:900;color:#a56400}.installation-box-main p{margin:6px 0;color:var(--muted);line-height:1.48}.installation-box-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.installation-box-actions form{margin:0}.unpacked-badge{padding:8px 10px;border-radius:11px;background:#edf9f2;color:#26704e;font-size:.78rem;font-weight:900}.box-imported-note{display:block;margin-top:7px;color:#26704e!important;font-weight:800}.box-to-home{border-top:1px solid var(--line);background:#fafbfe}.box-to-home summary{cursor:pointer;padding:12px 15px;font-weight:900;display:flex;justify-content:space-between;gap:12px}.box-to-home summary span{font-size:.74rem;color:var(--muted);font-weight:850}.box-to-home-form{padding:0 15px 15px}.box-item-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.box-item-toolbar small{color:var(--muted);line-height:1.45}.link-button{border:0;background:transparent;color:var(--brand);font-weight:900;cursor:pointer;padding:5px}.box-item-choices{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.box-item-choice{display:block;cursor:pointer}.box-item-choice input{position:absolute;opacity:0;pointer-events:none}.box-item-choice span{display:inline-flex;padding:8px 10px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.82rem;font-weight:800}.box-item-choice input:checked+span{background:var(--soft);border-color:#cdc9ff;color:var(--brand)}.compact-check{padding:10px 12px;margin-bottom:10px;font-size:.82rem}.all-imported-line{border-top:1px solid var(--line);padding:11px 15px;background:#f5fbf7;color:#26704e;font-size:.82rem;font-weight:850}.installation-next-note{align-items:center}.installation-next-note .btn{margin-left:auto}.installation-banner,.installation-home-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #dedcff;background:linear-gradient(135deg,#f2f0ff,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.installation-banner-icon,.installation-home-banner>span{font-size:1.65rem}.installation-banner div,.installation-home-banner div{display:grid;gap:3px;flex:1}.installation-banner b,.installation-home-banner b{color:var(--brand)}.installation-banner small,.installation-home-banner small{color:var(--muted);line-height:1.45}.installation-banner>strong,.installation-home-banner>strong{color:var(--brand);white-space:nowrap}.installation-more-card{border-color:#dedcff!important;background:linear-gradient(135deg,#f4f2ff,#fff)!important}
@media(max-width:950px){.room-chip-grid{grid-template-columns:1fr 1fr}.installation-box-main{flex-wrap:wrap}.installation-box-actions{width:100%;justify-content:flex-start;padding-left:48px}}
@media(max-width:650px){.installation-hero{display:grid;padding:21px}.installation-progress-ring{width:96px;height:96px;flex-basis:96px}.installation-stats,.room-chip-grid{grid-template-columns:1fr}.installation-empty{display:grid}.installation-empty .btn{width:100%}.room-head{align-items:flex-start;flex-wrap:wrap}.room-progress-copy{margin-left:60px;justify-items:start}.installation-box-main{padding:13px}.installation-box-actions{display:grid;grid-template-columns:1fr 1fr;padding-left:0}.installation-box-actions .btn,.installation-box-actions form,.installation-box-actions form button{width:100%}.box-to-home summary{align-items:flex-start}.box-item-toolbar{display:grid}.box-to-home-form>.btn{width:100%}.room-finish-form .btn{width:100%}.installation-next-note{align-items:flex-start;display:grid}.installation-next-note .btn{width:100%;margin-left:0}.installation-banner,.installation-home-banner{align-items:flex-start}.installation-banner>strong,.installation-home-banner>strong{display:none}.page-title-actions{width:100%;display:grid}.page-title-actions .btn{width:100%}}

/* ===== v0.8 : planning collaboratif & calendrier ===== */
.planning-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #d9e8ff;background:linear-gradient(135deg,#eef6ff,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.planning-banner-icon{font-size:1.65rem}.planning-banner div{display:grid;gap:3px;flex:1}.planning-banner b{color:#2f67a7}.planning-banner small{color:var(--muted);line-height:1.45}.planning-banner>strong{color:#2f67a7;white-space:nowrap}.planning-more-card{border-color:#d9e8ff!important;background:linear-gradient(135deg,#f1f7ff,#fff)!important}
.task-add-form{grid-template-columns:2fr 1fr 1fr .8fr 1fr auto}.task-filters{display:flex;gap:7px;flex-wrap:wrap}.task-filters a{padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:850;font-size:.83rem}.task-filters a.active{background:var(--soft);border-color:#d6d2ff;color:var(--brand)}.collaborative-task-list .task-row{gap:10px}.task-toggle-form{margin:0}.task-meta-stack{display:grid;justify-items:end;gap:5px;min-width:110px}.assignee-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#eef6ff;color:#376a9d;font-size:.72rem;font-weight:900;white-space:nowrap}.assignee-pill.muted{background:#f4f5f8;color:var(--muted)}.assign-form{margin:0}.assign-form select{width:auto;min-width:112px;padding:8px 30px 8px 9px;font-size:.78rem;border-radius:11px;background:#fafbfe}.admin-step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.admin-assign-form{margin-left:auto}
.planning-stats{margin-bottom:16px}.planning-filterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;flex-wrap:wrap}.planning-timeline{display:grid;gap:0;position:relative}.timeline-day{display:grid;grid-template-columns:175px 1fr;gap:22px;position:relative;padding:0 0 24px}.timeline-day:before{content:"";position:absolute;left:183px;top:10px;bottom:-7px;width:2px;background:#e6eaf2}.timeline-day:last-child:before{display:none}.timeline-date{padding:4px 0;display:grid;align-content:start;gap:4px;text-align:right}.timeline-date strong{font-size:.95rem}.timeline-date small{color:var(--muted);font-size:.76rem;font-weight:800}.timeline-events{display:grid;gap:9px;position:relative}.timeline-events:before{content:"";position:absolute;left:-20px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:3px solid var(--bg);box-shadow:0 0 0 1px #d8dbea}.timeline-day.today .timeline-date strong{color:var(--brand)}.timeline-day.move-day .timeline-events:before{background:var(--danger);width:13px;height:13px;left:-21px;top:7px}.timeline-event{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px 15px;box-shadow:0 7px 22px rgba(35,44,80,.04);transition:.16s}.timeline-event:hover{transform:translateY(-1px);border-color:#d8d4ff}.timeline-event.high{border-left:4px solid var(--danger)}.timeline-event.low{border-left:4px solid var(--success)}.timeline-event.done{opacity:.5}.timeline-event.done b{text-decoration:line-through}.timeline-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#f5f6fb;display:grid;place-items:center}.timeline-state{font-size:.74rem;font-weight:900;color:var(--muted);white-space:nowrap}.timeline-event.high .timeline-state{color:var(--danger)}
@media(max-width:980px){.task-add-form{grid-template-columns:1fr 1fr 1fr}.task-add-form input[name="title"]{grid-column:1/-1}.task-add-form .btn{grid-column:1/-1}.collaborative-task-list .task-row{flex-wrap:wrap}.assign-form{margin-left:42px}.timeline-day{grid-template-columns:145px 1fr}.timeline-day:before{left:153px}}
@media(max-width:680px){.planning-banner{align-items:flex-start}.planning-banner>strong{display:none}.task-add-form{grid-template-columns:1fr}.task-add-form input[name="title"],.task-add-form .btn{grid-column:auto}.task-filters{display:grid;grid-template-columns:1fr 1fr}.task-filters a{text-align:center}.task-filters a:nth-child(3){grid-column:1/-1}.collaborative-task-list .task-row{display:grid;grid-template-columns:auto auto 1fr}.task-meta-stack{grid-column:3;justify-items:start;min-width:0}.assign-form{grid-column:3;margin-left:0}.assign-form select{width:100%}.planning-filterbar{display:grid}.planning-filterbar>.task-filters{grid-template-columns:1fr 1fr}.planning-filterbar>.task-filters:last-child{grid-template-columns:repeat(3,1fr)}.planning-filterbar>.task-filters:last-child a:nth-child(3){grid-column:auto}.timeline-day{grid-template-columns:1fr;padding-left:18px;gap:7px}.timeline-day:before{left:4px;top:35px}.timeline-date{text-align:left;padding-left:8px}.timeline-events:before{left:-18px}.timeline-event{align-items:flex-start;flex-wrap:wrap}.timeline-event .grow{min-width:calc(100% - 50px)}.timeline-state{margin-left:46px}.planning-stats{grid-template-columns:1fr 1fr!important}}

/* v0.9 — rappels & PWA */
.notification-nav{position:relative;min-width:42px;text-align:center;font-size:1.05rem}.nav-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:.68rem;font-weight:950;border:2px solid #fff}.mobile-more-icon{position:relative}.mobile-more-icon i{position:absolute;top:-8px;right:-14px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.62rem;border:2px solid #fff}
.reminder-banner,.pwa-banner{display:flex;align-items:center;gap:14px;padding:17px 19px;border-radius:19px;margin:14px 0;background:#fff;border:1px solid var(--line);box-shadow:0 8px 26px rgba(35,44,80,.05)}.reminder-banner{border-color:#ffd6da;background:linear-gradient(135deg,#fffafb,#fff)}.reminder-banner-icon,.pwa-banner-icon{font-size:1.65rem}.reminder-banner>div,.pwa-banner>div{display:grid;gap:3px;flex:1}.reminder-banner small,.pwa-banner small{color:var(--muted);line-height:1.45}.reminder-banner>strong{color:var(--brand);white-space:nowrap}.pwa-banner{border-color:#dcd9ff;background:linear-gradient(135deg,#f7f6ff,#fff)}
.notifications-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:20px;align-items:start}.notification-center-panel,.reminder-settings-panel{margin-top:18px}.notification-list{display:grid;margin-top:8px}.notification-item{display:flex;align-items:center;gap:13px;padding:15px 4px;border-bottom:1px solid var(--line);border-left:4px solid transparent;padding-left:12px;transition:.18s}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:#fafbff;border-radius:14px}.notification-item.danger{border-left-color:var(--danger)}.notification-item.warning{border-left-color:var(--warn)}.notification-item.neutral{border-left-color:#c9cede}.notification-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--soft);font-size:1.15rem}.notification-item.danger .notification-icon{background:#fff0f2}.notification-item.warning .notification-icon{background:#fff7e9}.notification-date{font-size:.78rem;font-weight:900;color:var(--muted);background:#f4f6fa;border-radius:9px;padding:6px 8px}.reminder-empty{padding:28px 10px}.reminder-settings-panel h2{margin:6px 0 18px}.reminder-settings-form{gap:13px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:#fff}.toggle-row>span{display:grid;gap:3px}.toggle-row small{color:var(--muted);font-weight:600;line-height:1.35}.toggle-row input{width:21px;height:21px;accent-color:var(--brand);flex:0 0 auto}.toggle-row.disabled{opacity:.55}.device-notification-box{display:grid;gap:8px;margin-top:18px;padding:15px;border-radius:16px;background:var(--soft);color:var(--text)}.device-notification-box small{color:var(--muted);line-height:1.45}.pwa-install-btn[hidden],.pwa-more-card[hidden],[data-pwa-banner][hidden]{display:none!important}.pwa-more-card{font:inherit;text-align:left;cursor:pointer;width:100%;color:inherit}.reminder-more-card{border-color:#ffdfe2!important}.flash.success{background:#edf9f3;color:#1f7650}
@media(max-width:900px){.notifications-layout{grid-template-columns:1fr}.reminder-settings-panel{order:-1}.reminder-stats{grid-template-columns:repeat(3,1fr)!important}.nav .notification-nav{display:none}}
@media(max-width:680px){.reminder-banner,.pwa-banner{align-items:flex-start}.reminder-banner>strong{display:none}.pwa-banner{flex-wrap:wrap}.pwa-banner .btn{width:100%}.reminder-stats{grid-template-columns:1fr 1fr!important}.reminder-stats .stat-card:last-child{grid-column:1/-1}.notification-item{align-items:flex-start}.notification-date{margin-left:auto}.notification-center-panel,.reminder-settings-panel{padding:18px}.toggle-row{align-items:flex-start}.page-title-actions .pwa-install-btn{width:100%}}

/* ===== v0.10 : estimation volume & camion ===== */
.volume-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #d8eadf;background:linear-gradient(135deg,#effaf4,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.volume-banner-icon{font-size:1.65rem}.volume-banner div{display:grid;gap:3px;flex:1}.volume-banner b{color:#267653}.volume-banner small{color:var(--muted);line-height:1.45}.volume-banner>strong{color:#267653;white-space:nowrap}.volume-more-card{border-color:#d8eadf!important;background:linear-gradient(135deg,#f2fbf6,#fff)!important}
.volume-title{align-items:flex-start}.volume-hero-grid{display:grid;grid-template-columns:1fr 1fr .78fr;gap:14px;margin:18px 0}.volume-main-card,.volume-hint-card,.volume-box-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px;display:flex;gap:15px;align-items:center;box-shadow:0 8px 26px rgba(35,44,80,.05)}.volume-main-card{border-color:#d8d4ff;background:linear-gradient(135deg,#f7f6ff,#fff)}.volume-hint-card{border-color:#d8eadf;background:linear-gradient(135deg,#f2fbf6,#fff)}.volume-box-card:hover{border-color:#d8d4ff;transform:translateY(-1px)}.volume-icon{width:48px;height:48px;border-radius:15px;background:#fff;display:grid;place-items:center;font-size:1.45rem;box-shadow:0 5px 14px rgba(35,44,80,.07);flex:0 0 48px}.volume-main-card>div,.volume-hint-card>div,.volume-box-card>div{display:grid;gap:3px}.volume-main-card small,.volume-hint-card small,.volume-box-card small{font-size:.73rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}.volume-main-card strong,.volume-hint-card strong,.volume-box-card strong{font-size:1.4rem}.volume-main-card p,.volume-hint-card p,.volume-box-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.4}
.preset-groups{display:grid;gap:22px;margin-top:16px}.preset-group h3{margin:0 0 10px;font-size:1rem}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.preset-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:15px;padding:11px;background:#fff}.preset-card>div{display:grid;gap:3px;min-width:0}.preset-card b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-card small{font-size:.71rem;color:var(--muted)}.preset-qty{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--muted)}.preset-qty input{width:52px;padding:7px;text-align:center;border-radius:9px}.preset-add{width:30px;height:30px;border:0;border-radius:10px;background:var(--soft);color:var(--brand);font-size:1.25rem;font-weight:900;cursor:pointer}.preset-add:hover{background:var(--brand);color:#fff}
.custom-volume-form{display:grid;grid-template-columns:1.5fr 1.3fr .7fr .8fr .8fr .8fr auto;gap:10px;align-items:end;margin-top:12px}.muted-copy{color:var(--muted);font-weight:750}.volume-list-panel{overflow:hidden}.volume-total-mini{color:var(--brand);font-size:1.2rem}.volume-item-list{display:grid;margin-top:12px}.volume-item-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto 95px auto;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line)}.volume-item-row:last-child{border-bottom:0}.volume-item-icon{width:38px;height:38px;border-radius:12px;background:#f6f7fb;display:grid;place-items:center}.volume-item-row .grow small{line-height:1.45}.volume-qty-form{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.volume-qty-form button{width:30px;height:34px;border:0;background:#f7f8fb;color:var(--text);font-weight:900;cursor:pointer}.volume-qty-form input{width:48px;height:34px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;padding:4px;text-align:center;box-shadow:none!important}.volume-line-total{text-align:right;font-size:.92rem}.icon-danger-btn{width:30px;height:30px;border:0;border-radius:9px;background:#fff1f2;color:var(--danger);font-size:1.1rem;cursor:pointer}.volume-disclaimer{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:15px;background:#f7f8fb;color:var(--muted)}.volume-disclaimer p{margin:0;line-height:1.5;font-size:.84rem}.volume-disclaimer b{color:var(--text)}
@media(max-width:1020px){.volume-hero-grid{grid-template-columns:1fr 1fr}.volume-box-card{grid-column:1/-1}.preset-grid{grid-template-columns:repeat(3,1fr)}.custom-volume-form{grid-template-columns:1fr 1fr 1fr}.custom-volume-form .btn{grid-column:1/-1}}
@media(max-width:700px){.volume-banner{align-items:flex-start}.volume-banner>strong{display:none}.volume-hero-grid{grid-template-columns:1fr}.volume-box-card{grid-column:auto}.preset-grid{grid-template-columns:1fr 1fr}.custom-volume-form{grid-template-columns:1fr 1fr}.custom-volume-form label:first-of-type,.custom-volume-form label:nth-of-type(2),.custom-volume-form .btn{grid-column:1/-1}.volume-item-row{grid-template-columns:auto 1fr auto}.volume-qty-form{grid-column:2}.volume-line-total{grid-column:3;grid-row:2}.icon-danger-btn{grid-column:3;grid-row:1}.volume-title{display:grid}.volume-title form,.volume-title form .btn{width:100%}}
@media(max-width:470px){.preset-grid{grid-template-columns:1fr}.custom-volume-form{grid-template-columns:1fr}.custom-volume-form label,.custom-volume-form label:first-of-type,.custom-volume-form label:nth-of-type(2),.custom-volume-form .btn{grid-column:auto}.volume-main-card,.volume-hint-card,.volume-box-card{align-items:flex-start}.volume-item-row{gap:9px}.volume-item-row .grow small{font-size:.74rem}}

/* ===== Étape 11 : prestataires & devis ===== */
.provider-banner,.volume-to-quotes{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #d7e7ff;background:linear-gradient(135deg,#f2f7ff,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.provider-banner-icon,.volume-to-quotes>span{font-size:1.65rem}.provider-banner>div,.volume-to-quotes>div{display:grid;gap:3px;flex:1}.provider-banner b,.volume-to-quotes b{color:#2e66a5}.provider-banner small,.volume-to-quotes small{color:var(--muted);line-height:1.45}.provider-banner>strong,.volume-to-quotes>strong{color:#2e66a5;white-space:nowrap}.provider-more-card{border-color:#d7e7ff!important;background:linear-gradient(135deg,#f4f8ff,#fff)!important}.volume-to-quotes{margin-top:0}
.providers-title{align-items:flex-start}.provider-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.provider-stats article{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(35,44,80,.04)}.provider-stats article>span{width:42px;height:42px;border-radius:13px;background:#f5f7fb;display:grid;place-items:center;font-size:1.2rem}.provider-stats article>div{display:grid;gap:2px}.provider-stats small{font-size:.7rem;font-weight:950;letter-spacing:.08em;color:var(--muted)}.provider-stats strong{font-size:1.35rem}.provider-stats p{margin:0;color:var(--muted);font-size:.76rem}.provider-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.provider-form .span-2{grid-column:span 2}.provider-list{display:grid;gap:13px;margin-top:14px}.provider-card{border:1px solid var(--line);border-left:5px solid #cbd2df;border-radius:18px;padding:16px;background:#fff}.provider-card.received{border-left-color:#6ea0e8}.provider-card.shortlisted{border-left-color:#ef7190;background:#fffafb}.provider-card.selected{border-left-color:var(--success);background:#f8fdf9}.provider-card.rejected{opacity:.62}.provider-card-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start}.provider-service-icon{width:44px;height:44px;border-radius:14px;background:#f5f7fb;display:grid;place-items:center;font-size:1.25rem}.provider-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.provider-name-row h3{margin:0}.provider-status{font-size:.7rem;font-weight:950;padding:5px 8px;border-radius:999px;background:#eef1f6;color:var(--muted)}.provider-status.received{background:#edf4ff;color:#356dad}.provider-status.shortlisted{background:#fff0f4;color:#b74161}.provider-status.selected{background:#eaf8ef;color:#267653}.provider-status.rejected{background:#f1f2f5;color:#7d8490}.provider-card-main p{margin:4px 0 8px;color:var(--muted);font-size:.82rem}.provider-contact-line{display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;color:#5e687a}.provider-contact-line a{font-weight:800}.provider-notes{display:block;margin-top:9px;line-height:1.5;color:var(--muted)}.provider-doc{display:inline-flex;margin-top:9px;font-size:.78rem;font-weight:850;color:var(--brand)}.provider-price{text-align:right;display:grid;gap:3px;min-width:130px}.provider-price small{font-size:.68rem;font-weight:950;letter-spacing:.08em;color:var(--muted)}.provider-price strong{font-size:1.2rem}.provider-price span{font-size:.73rem;color:var(--muted)}.provider-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.provider-edit{position:relative}.provider-edit summary{cursor:pointer;padding:8px 12px;border-radius:12px;border:1px solid var(--line);font-weight:850;font-size:.84rem;list-style:none}.provider-edit summary::-webkit-details-marker{display:none}.provider-edit[open]{width:100%}.provider-edit-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;margin-top:9px;background:#f8f9fc;border-radius:15px}.provider-edit-form .span-2{grid-column:span 2}.provider-delete{border:0;background:transparent;color:var(--danger);font-weight:850;cursor:pointer;padding:8px 5px}.provider-tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.provider-tip-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.provider-tip-grid article>span{font-size:1.35rem}.provider-tip-grid b{display:block;margin:8px 0 5px}.provider-tip-grid p{margin:0;color:var(--muted);line-height:1.5;font-size:.83rem}
@media(max-width:950px){.provider-stats{grid-template-columns:1fr 1fr}.provider-form,.provider-edit-form{grid-template-columns:1fr 1fr}.provider-tip-grid{grid-template-columns:1fr}.provider-card-main{grid-template-columns:auto 1fr}.provider-price{grid-column:2;text-align:left;min-width:0}}
@media(max-width:600px){.provider-banner,.volume-to-quotes{align-items:flex-start}.provider-banner>strong,.volume-to-quotes>strong{display:none}.provider-stats{grid-template-columns:1fr 1fr}.provider-form,.provider-edit-form{grid-template-columns:1fr}.provider-form .span-2,.provider-edit-form .span-2{grid-column:auto}.provider-card-main{grid-template-columns:1fr}.provider-service-icon{width:38px;height:38px}.provider-price{grid-column:1}.provider-contact-line{display:grid;gap:6px}.provider-actions form,.provider-actions .btn{width:100%}.provider-edit{width:100%}.provider-edit summary{text-align:center}.providers-title{display:grid}.providers-title>.btn{width:100%}}
@media(max-width:420px){.provider-stats{grid-template-columns:1fr}}

/* ===== Étape 12 : compteurs, preuves & remise des clés ===== */
.handover-banner{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #ffe1b8;background:linear-gradient(135deg,#fff7ea,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}.handover-banner-icon{font-size:1.65rem}.handover-banner>div{display:grid;gap:3px;flex:1}.handover-banner b{color:#9a641a}.handover-banner small{color:var(--muted);line-height:1.45}.handover-banner>strong{color:#9a641a;white-space:nowrap}.handover-more-card{border-color:#ffe1b8!important;background:linear-gradient(135deg,#fff8ed,#fff)!important}.handover-title{align-items:flex-start}
.handover-overview{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.handover-overview-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(35,44,80,.04)}.handover-overview-card.old{border-left:5px solid #b4bac7}.handover-overview-card.new{border-left:5px solid var(--success)}.handover-home-icon{width:48px;height:48px;border-radius:15px;background:#f5f7fb;display:grid;place-items:center;font-size:1.45rem;flex:0 0 48px}.handover-overview-card>div{display:grid;gap:2px}.handover-overview-card small{color:var(--muted);font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.handover-overview-card strong{font-size:1.15rem}.handover-overview-card p{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.handover-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.handover-form-grid .span-2{grid-column:span 2}.handover-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.handover-residence-panel{margin:0}.handover-count{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f4f5f8;color:var(--muted);font-size:.75rem;font-weight:900}.meter-list{display:grid;gap:11px;margin-top:14px}.meter-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.meter-icon{width:42px;height:42px;border-radius:13px;background:#f7f8fb;display:grid;place-items:center;font-size:1.25rem;flex:0 0 42px}.meter-body{min-width:0;flex:1}.meter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meter-head>div{display:grid;gap:2px}.meter-head small{color:var(--muted);font-size:.72rem}.meter-head strong{white-space:nowrap;font-size:1.05rem;color:var(--brand)}.meter-body p{margin:6px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}.meter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meter-actions form{margin:0}
.key-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.key-column{border:1px solid var(--line);border-radius:18px;padding:15px;background:#fafbfe}.key-column-title{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.key-column-title>span{font-size:1.35rem}.key-column-title>div{display:grid;gap:2px}.key-column-title small{color:var(--muted);font-size:.74rem}.key-list{display:grid}.key-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.key-row:last-child{border-bottom:0}.key-row.done{opacity:.55}.key-row.done b{text-decoration:line-through}.key-row form{margin:0}.key-delete{width:28px;height:28px;border:0;border-radius:9px;background:#fff1f2;color:var(--danger);font-size:1.15rem;cursor:pointer}.handover-add-key{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.handover-add-key summary{cursor:pointer;font-weight:900;color:var(--brand);list-style:none}.handover-add-key summary::-webkit-details-marker{display:none}.handover-key-form{display:grid;grid-template-columns:1fr 2fr .7fr 1.5fr auto;gap:10px;align-items:end;margin-top:12px}.handover-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.handover-proof{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}.handover-proof>span{font-size:1.3rem}.handover-proof>div{display:grid;gap:2px;min-width:0}.handover-proof b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.handover-proof small{color:var(--muted);font-size:.73rem}
@media(max-width:900px){.handover-columns,.key-columns{grid-template-columns:1fr}.handover-form-grid{grid-template-columns:1fr 1fr}.handover-key-form{grid-template-columns:1fr 1fr}.handover-key-form .btn{grid-column:1/-1}.handover-proof-grid{grid-template-columns:1fr}}
@media(max-width:600px){.handover-banner{align-items:flex-start}.handover-banner>strong{display:none}.handover-overview{grid-template-columns:1fr}.handover-form-grid,.handover-key-form{grid-template-columns:1fr}.handover-form-grid .span-2,.handover-key-form .btn{grid-column:auto}.handover-title{display:grid}.handover-title>.btn{width:100%}.meter-head{display:grid}.meter-head strong{white-space:normal}.meter-actions{display:grid}.meter-actions .btn,.meter-actions form,.meter-actions form button{width:100%}.key-column{padding:12px}}

/* ===== Étape 13 : état des lieux guidé & preuves ===== */
.inspection-banner,.inspection-link-card{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #ffd7dc;background:linear-gradient(135deg,#fff4f6,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}
.inspection-banner-icon,.inspection-link-card>span{font-size:1.65rem}.inspection-banner>div,.inspection-link-card>div{display:grid;gap:3px;flex:1}.inspection-banner b,.inspection-link-card b{color:#ae4254}.inspection-banner small,.inspection-link-card small{color:var(--muted);line-height:1.45}.inspection-banner>strong,.inspection-link-card>strong{color:#ae4254;white-space:nowrap}.inspection-more-card{border-color:#ffd7dc!important;background:linear-gradient(135deg,#fff5f7,#fff)!important}
.inspection-title{align-items:flex-start}.inspection-title-actions{display:flex;gap:10px;flex-wrap:wrap}.inspection-disclaimer{margin-bottom:18px}.inspection-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.inspection-summary article{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(35,44,80,.04)}.inspection-summary article>span{width:42px;height:42px;border-radius:13px;background:#f7f8fb;display:grid;place-items:center;font-size:1.2rem}.inspection-summary article>div{display:grid;gap:2px}.inspection-summary small{font-size:.7rem;font-weight:950;letter-spacing:.08em;color:var(--muted)}.inspection-summary strong{font-size:1.3rem}.inspection-summary p{margin:0;color:var(--muted);font-size:.76rem}.inspection-summary .has-issue{border-color:#ffd1d7;background:#fffafb}.inspection-summary .has-issue strong{color:var(--danger)}
.inspection-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inspection-create-card{margin:0}.inspection-create-card h2{margin:6px 0}.inspection-create-card>p{color:var(--muted);line-height:1.5}.inspection-seed-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.inspection-custom-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px;align-items:end}.inspection-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:18px 0}.inspection-filters label{min-width:190px}.inspection-filters .btn{min-height:44px}
.inspection-residence-section{margin:28px 0}.inspection-residence-head{margin-bottom:12px}.inspection-head-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inspection-head-stats>span{padding:7px 10px;border-radius:999px;background:#f1f3f7;color:var(--muted);font-size:.75rem;font-weight:900}.inspection-head-stats .danger-pill{background:#fff0f2;color:var(--danger)}.inspection-room-panel{padding:18px;margin:12px 0}.inspection-room-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.inspection-room-progress{font-size:.78rem;font-weight:900;color:var(--muted);background:#f5f6f9;border-radius:999px;padding:7px 10px}.inspection-list{display:grid}.inspection-item{padding:14px 2px;border-bottom:1px solid var(--line)}.inspection-item:last-child{border-bottom:0}.inspection-item-main{display:flex;gap:12px;align-items:flex-start}.inspection-state-icon{width:34px;height:34px;border-radius:11px;background:#f1f3f7;color:var(--muted);display:grid;place-items:center;font-weight:950;flex:0 0 34px}.inspection-item.state-ok .inspection-state-icon{background:#eaf8ef;color:var(--success)}.inspection-item.state-watch .inspection-state-icon{background:#fff6e5;color:#9a6719}.inspection-item.state-issue .inspection-state-icon{background:#fff0f2;color:var(--danger)}.inspection-item .grow p{margin:6px 0 0;color:var(--muted);line-height:1.5;font-size:.85rem}.inspection-proof-link{display:inline-flex;padding:7px 10px;border-radius:11px;background:#f0efff;color:var(--brand);font-size:.78rem;font-weight:900;white-space:nowrap}.inspection-edit{margin:8px 0 0 46px}.inspection-edit summary{cursor:pointer;list-style:none;color:var(--brand);font-size:.78rem;font-weight:900}.inspection-edit summary::-webkit-details-marker{display:none}.inspection-edit-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px;background:#f8f9fc;border-radius:15px;padding:13px}.inspection-edit-form .span-2{grid-column:span 2}.inspection-edit-actions{display:flex;gap:8px;align-items:center}.inspection-edit-actions .btn{min-width:130px}.print-only{display:none}
@media(max-width:950px){.inspection-summary{grid-template-columns:1fr 1fr}.inspection-create-grid{grid-template-columns:1fr}.inspection-seed-form,.inspection-custom-form{grid-template-columns:1fr 1fr}.inspection-seed-form .btn,.inspection-custom-form .btn{grid-column:1/-1}.inspection-edit-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.inspection-banner,.inspection-link-card{align-items:flex-start}.inspection-banner>strong,.inspection-link-card>strong{display:none}.inspection-title{display:grid}.inspection-title-actions{display:grid;width:100%}.inspection-title-actions .btn{width:100%}.inspection-summary{grid-template-columns:1fr 1fr}.inspection-seed-form,.inspection-custom-form,.inspection-edit-form{grid-template-columns:1fr}.inspection-edit-form .span-2,.inspection-seed-form .btn,.inspection-custom-form .btn{grid-column:auto}.inspection-filters{display:grid}.inspection-filters label{min-width:0}.inspection-item-main{display:grid;grid-template-columns:auto 1fr}.inspection-proof-link{grid-column:2;width:max-content}.inspection-edit{margin-left:0}.inspection-edit-actions{display:grid}.inspection-edit-actions .btn{width:100%}.inspection-residence-head{align-items:flex-start}.inspection-room-panel{padding:14px}}
@media(max-width:420px){.inspection-summary{grid-template-columns:1fr}}
@media print{.print-only{display:block!important}.inspection-title-actions,.inspection-create-grid,.inspection-filters,.inspection-edit,.inspection-disclaimer,.inspection-link-card,.inspection-banner{display:none!important}.inspection-summary{grid-template-columns:repeat(4,1fr);gap:6px}.inspection-summary article{box-shadow:none;padding:8px;border-radius:8px}.inspection-residence-section{margin:12px 0}.inspection-room-panel{box-shadow:none;border-radius:8px;padding:10px;break-inside:avoid}.inspection-item{padding:7px 0}.inspection-item-main{gap:8px}.inspection-state-icon{width:24px;height:24px;border-radius:6px;flex-basis:24px}.inspection-proof-link{display:none}.inspection-print-note{display:block!important;box-shadow:none;border-radius:8px}.inspection-print-note h2{margin-top:0}}

/* Étape 14 — Logistique Jour J */
.logistics-banner,.day-logistics-strip{display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid #d8dfef;background:linear-gradient(135deg,#f5f8fc,#fff);box-shadow:0 8px 24px rgba(35,44,80,.04)}
.logistics-banner-icon,.day-logistics-strip>span{font-size:1.65rem}.logistics-banner>div,.day-logistics-strip>div{display:grid;gap:3px;flex:1}.logistics-banner b,.day-logistics-strip b{color:#41506b}.logistics-banner small,.day-logistics-strip small{color:var(--muted);line-height:1.45}.logistics-banner>strong,.day-logistics-strip>strong{color:#41506b;white-space:nowrap}.logistics-more-card{border-color:#d8dfef!important;background:linear-gradient(135deg,#f7f9fc,#fff)!important}
.logistics-title{align-items:flex-start}.logistics-title-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.logistics-hero-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin:18px 0}.logistics-readiness-card,.logistics-context-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 26px rgba(35,44,80,.05)}.logistics-readiness-card{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#f7f6ff,#fff)}.logistics-readiness-card h2{margin:6px 0}.logistics-readiness-card p,.logistics-context-card p{margin:4px 0 0;color:var(--muted)}.logistics-readiness-ring{--ready:0%;width:92px;height:92px;flex:0 0 92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) var(--ready),#e8eaf2 0);position:relative}.logistics-readiness-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.logistics-readiness-ring strong,.logistics-readiness-ring small{position:relative;z-index:1;grid-area:1/1}.logistics-readiness-ring strong{font-size:1.45rem;margin-top:-12px}.logistics-readiness-ring small{font-size:.72rem;color:var(--muted);margin-top:28px}.logistics-context-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.logistics-context-card>span{font-size:1.55rem}.logistics-context-card>div{display:grid;gap:2px}.logistics-context-card small{color:var(--muted);font-weight:800}.logistics-context-card strong{font-size:1.05rem}.logistics-context-card>a{color:var(--brand);font-weight:900;font-size:.85rem}.logistics-alert-panel{border-color:#ffe0a8;background:linear-gradient(135deg,#fffaf0,#fff)}.logistics-warning-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.logistics-warning-list>div{display:flex;align-items:center;gap:10px;padding:12px 13px;background:#fff;border:1px solid #f3e2bb;border-radius:13px}.logistics-warning-list b{font-size:.9rem}.muted-note,.logistics-count{font-size:.82rem;color:var(--muted);font-weight:850}.logistics-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.logistics-access-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfcff;display:grid;gap:14px}.logistics-access-card.old{border-color:#e5e8ef}.logistics-access-card.new{border-color:#d8eadf;background:#fbfffc}.logistics-access-head{display:flex;align-items:center;gap:12px}.logistics-access-head>span{width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:1.35rem;border:1px solid var(--line)}.logistics-access-head>div{display:grid;gap:2px}.logistics-access-head small{color:var(--muted);font-weight:800}.logistics-access-head strong{font-size:1.1rem}.logistics-access-fields{gap:12px}.logistics-helper-form,.logistics-trip-form{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;margin-top:16px}.logistics-helper-form .span-2,.logistics-trip-form .span-2{grid-column:span 2}.helper-confirm-check{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.helper-confirm-check input{width:auto}.logistics-helper-list,.logistics-trip-list{display:grid;margin-top:18px}.logistics-helper-row{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line)}.logistics-helper-row.confirmed{background:linear-gradient(90deg,#f5fbf7,transparent)}.helper-role-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--soft);font-size:1.1rem}.logistics-helper-row p,.logistics-trip-card p{margin:5px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.helper-state{font-size:.76rem;font-weight:900;padding:6px 8px;border-radius:9px;background:#f3f5f9;color:var(--muted);white-space:nowrap}.helper-state.ok{background:#edf9f3;color:#267653}.logistics-trip-card{display:flex;align-items:center;gap:13px;padding:14px 2px;border-bottom:1px solid var(--line);border-left:4px solid #d8dfef;padding-left:12px}.logistics-trip-card.status-loading{border-left-color:#f5a623}.logistics-trip-card.status-en_route{border-left-color:#645cff}.logistics-trip-card.status-arrived{border-left-color:#49a978}.logistics-trip-card.status-done{border-left-color:#2e7d57;opacity:.7}.trip-sequence{width:48px;display:grid;justify-items:center;gap:2px}.trip-sequence span{font-size:1.35rem}.trip-sequence small{font-size:.76rem;color:var(--muted);font-weight:900}.trip-title{display:flex;align-items:center;gap:10px}.trip-title span{font-size:.72rem;font-weight:900;background:#f3f5f9;color:#596174;padding:5px 7px;border-radius:8px}.trip-status-form select{min-width:130px;padding:9px 10px}.logistics-brief{display:none}.logistics-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.logistics-brief-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px}.logistics-brief-grid p{margin:8px 0}.logistics-brief-grid small{display:block;color:var(--muted);line-height:1.5}
@media(max-width:900px){.logistics-hero-grid{grid-template-columns:1fr 1fr}.logistics-readiness-card{grid-column:1/-1}.logistics-helper-form,.logistics-trip-form{grid-template-columns:1fr 1fr 1fr}.logistics-helper-form .span-2,.logistics-trip-form .span-2{grid-column:span 2}}
@media(max-width:700px){.logistics-banner,.day-logistics-strip{align-items:flex-start}.logistics-banner>strong,.day-logistics-strip>strong{display:none}.logistics-title{display:grid}.logistics-title-actions{display:grid;width:100%}.logistics-title-actions .btn{width:100%}.logistics-hero-grid,.logistics-access-grid{grid-template-columns:1fr}.logistics-readiness-card{grid-column:auto}.logistics-warning-list{grid-template-columns:1fr}.logistics-helper-form,.logistics-trip-form{grid-template-columns:1fr 1fr}.logistics-helper-form .span-2,.logistics-trip-form .span-2{grid-column:1/-1}.logistics-helper-form .btn,.logistics-trip-form .btn{grid-column:1/-1}.logistics-helper-row{align-items:flex-start;flex-wrap:wrap}.logistics-helper-row .grow{min-width:calc(100% - 100px)}.helper-state{margin-left:42px}.logistics-trip-card{align-items:flex-start;flex-wrap:wrap}.logistics-trip-card .grow{min-width:calc(100% - 70px)}.trip-status-form{margin-left:61px}.trip-status-form select{min-width:150px}}
@media(max-width:480px){.logistics-helper-form,.logistics-trip-form,.logistics-access-fields{grid-template-columns:1fr}.logistics-helper-form .span-2,.logistics-trip-form .span-2,.logistics-access-fields .span-2{grid-column:auto}.logistics-readiness-card{align-items:flex-start}.logistics-readiness-ring{width:76px;height:76px;flex-basis:76px}.logistics-context-card{grid-template-columns:auto 1fr}.logistics-context-card>a{grid-column:2}.helper-state{margin-left:0}.trip-status-form{margin-left:0;width:100%}.trip-status-form select{width:100%}}
@media print{.topbar,.mobile-nav,.footer,.logistics-title-actions,.logistics-alert-panel,.logistics-helper-form,.logistics-trip-form,.logistics-helper-row form,.trip-status-form,.logistics-trip-card form,.btn,.flash{display:none!important}.shell{max-width:none;padding:0}.logistics-title{margin:0 0 12px}.logistics-title h1{font-size:2rem}.logistics-hero-grid{grid-template-columns:1fr 1fr 1fr;gap:8px}.logistics-readiness-card,.logistics-context-card,.panel{box-shadow:none;break-inside:avoid}.logistics-access-grid{grid-template-columns:1fr 1fr}.logistics-access-card{padding:12px}.logistics-access-card input,.logistics-access-card select,.logistics-access-card textarea{border:0;padding:3px 0;background:transparent;box-shadow:none}.logistics-helper-row,.logistics-trip-card{break-inside:avoid}.logistics-brief{display:block!important}.print-only-when-printing{display:block!important}}


/* ===== Étape 15 : kit première nuit & courses d’arrivée ===== */
.essentials-banner,.day-essentials-strip{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:linear-gradient(135deg,#fff7df,#fff);border:1px solid #f3d98c;border-radius:20px;padding:16px 18px;margin:14px 0;box-shadow:0 8px 24px rgba(124,93,20,.07)}
.essentials-banner-icon{font-size:30px}.essentials-banner>div,.day-essentials-strip>div{min-width:0;flex:1}.essentials-banner b,.day-essentials-strip b{display:block;font-size:15px}.essentials-banner small,.day-essentials-strip small{display:block;color:var(--muted);margin-top:3px}.essentials-banner strong,.day-essentials-strip strong{white-space:nowrap;color:#8a6500}
.essentials-title{align-items:flex-end}.essentials-hero{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin-bottom:16px}.essentials-progress-card,.essentials-context-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;align-items:center;gap:16px}.essentials-progress-card h2{margin:4px 0}.essentials-progress-card p,.essentials-context-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.essentials-ring{--ready:0%;width:92px;height:92px;border-radius:50%;flex:0 0 92px;display:grid;place-content:center;text-align:center;background:conic-gradient(#f2b941 var(--ready),#f1f0eb 0);position:relative}.essentials-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--card)}.essentials-ring strong,.essentials-ring small{position:relative;z-index:1}.essentials-ring strong{font-size:22px}.essentials-ring small{color:var(--muted)}.essentials-context-card>span{font-size:28px}.essentials-context-card div{flex:1}.essentials-context-card small{color:var(--muted);display:block}.essentials-context-card strong{display:block;font-size:18px;margin-top:3px}
.essentials-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.essentials-tab{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid var(--line);border-radius:18px;background:var(--card);text-decoration:none;color:inherit}.essentials-tab>span{font-size:27px}.essentials-tab div{display:flex;flex-direction:column}.essentials-tab small{color:var(--muted);margin-top:2px}.essentials-tab.active{border-color:#f0bd3d;background:#fff8e3;box-shadow:0 7px 20px rgba(177,126,0,.08)}
.essentials-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.essentials-toolbar h2{margin:3px 0}.essentials-toolbar p{margin:0;color:var(--muted)}.essentials-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.essentials-toolbar-actions form{margin:0}
.essentials-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.essentials-group{margin:0}.essentials-list{display:flex;flex-direction:column;gap:8px}.essential-row{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:15px;padding:11px;background:#fff;transition:.15s}.essential-row.done{opacity:.68;background:#f8fbf7}.essential-row.done .essential-main b{text-decoration:line-through}.essential-main{min-width:0;padding-top:2px}.essential-main b{display:block}.essential-main small{display:block;color:var(--muted);margin-top:2px}.essential-main p{margin:5px 0 0;color:var(--muted);font-size:13px}.essential-edit{position:relative;flex:0 0 auto}.essential-edit summary{cursor:pointer;color:var(--muted);font-size:12px;padding:5px}.essential-edit[open]{min-width:235px}.essential-inline-form{position:absolute;z-index:5;right:0;top:30px;width:300px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(26,28,34,.15);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.essential-inline-form label{font-size:11px;color:var(--muted)}.essential-inline-form input{margin-top:4px}.essential-inline-form .span-2{grid-column:1/-1}.essentials-add-panel{margin-top:16px}.essentials-add-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:end}.essentials-add-form .span-2{grid-column:span 2}.essentials-add-form label{font-size:12px;color:var(--muted)}.essentials-add-form input,.essentials-add-form select{margin-top:5px}.essentials-tip{margin-top:16px}.essentials-more-card{background:linear-gradient(145deg,#fff9e8,#fff)}
@media(max-width:900px){.essentials-hero{grid-template-columns:1fr}.essentials-groups{grid-template-columns:1fr}.essentials-add-form{grid-template-columns:1fr 1fr}.essentials-title{align-items:flex-start}.essentials-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.essentials-tabs{grid-template-columns:1fr}.essentials-add-form{grid-template-columns:1fr}.essentials-add-form .span-2{grid-column:auto}.essentials-toolbar-actions{width:100%}.essentials-toolbar-actions form,.essentials-toolbar-actions button{width:100%}.essential-row{align-items:center}.essential-edit{display:none}.essentials-progress-card{align-items:flex-start}.essentials-ring{width:78px;height:78px;flex-basis:78px}.essentials-banner,.day-essentials-strip{padding:14px}.essentials-banner strong,.day-essentials-strip strong{font-size:12px}}
@media print{.essentials-toolbar-actions,.essentials-add-panel,.essential-edit,.icon-danger-btn,.mobile-nav{display:none!important}.essentials-groups{grid-template-columns:1fr 1fr}.essential-row{break-inside:avoid}.essentials-banner,.day-essentials-strip{box-shadow:none}}

/* Étape 16 — historique et multi-déménagements */
.field-help{font-weight:600;color:var(--muted);font-size:.76rem}.move-list-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.move-list-title h1{margin-bottom:8px}.move-history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 20px}.move-history-stats>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}.move-history-stats span{font-size:1.5rem;grid-row:1/3}.move-history-stats strong{font-size:1.45rem}.move-history-stats small{color:var(--muted)}.move-history-list{display:grid;gap:14px}.move-history-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:19px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 28px rgba(35,44,80,.045)}.move-history-card.current{border-color:#b8b3ff;box-shadow:0 10px 30px rgba(100,92,255,.09)}.move-history-card.archived{opacity:.72;background:#fafbfc}.move-history-main{display:flex;gap:15px;align-items:flex-start;min-width:0}.move-status-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--soft);font-size:1.3rem;flex:0 0 auto}.move-history-card.completed .move-status-icon{background:#edf9f2}.move-history-card.archived .move-status-icon{background:#f0f2f5}.move-card-topline{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:7px}.move-status-pill,.move-current-pill,.move-member-pill{font-size:.7rem;font-weight:900;padding:5px 8px;border-radius:999px;background:#f2f4f8;color:var(--muted)}.move-status-pill.active{background:var(--soft);color:var(--brand)}.move-status-pill.completed{background:#eaf8ef;color:#28704e}.move-status-pill.archived{background:#eceff3;color:#6d7585}.move-current-pill{background:#171d2b;color:#fff}.move-member-pill{background:#fff6df;color:#946914}.move-history-card h2{margin:0;font-size:1.25rem}.move-route{margin:4px 0 8px;color:var(--muted);font-weight:700}.move-history-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;font-weight:700}.move-history-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.move-history-actions form{margin:0}.btn[disabled]{opacity:.5;cursor:default}.danger-outline{color:#a13d47!important;border-color:#f3c8cc!important;background:#fffafa!important}.move-history-note{display:flex;gap:15px;align-items:flex-start}.move-history-note>span{font-size:1.5rem}.move-history-note p{margin:5px 0 0;color:var(--muted);line-height:1.55}.empty-moves-panel{text-align:center;padding:40px}.empty-moves-panel .empty-icon{font-size:3rem}.empty-moves-panel h2{margin:8px 0}.empty-moves-panel p{color:var(--muted);margin:0 auto 20px;max-width:600px}.current-move-switcher,.completed-move-banner{display:flex;align-items:center;gap:13px;border-radius:18px;padding:13px 16px;margin:-7px 0 18px}.current-move-switcher{background:#f7f7ff;border:1px solid #e2e0ff}.current-move-switcher>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;flex:1}.current-move-switcher>div>span{grid-row:1/3;font-size:1.3rem}.current-move-switcher small{color:var(--muted);font-weight:700}.current-move-switcher b{font-size:.92rem}.current-move-switcher>a{font-size:.82rem;font-weight:900;color:var(--brand)}.completed-move-banner{background:#eefaf2;border:1px solid #ccebd8}.completed-move-icon{width:42px;height:42px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:1.3rem}.completed-move-banner small{color:#547362}.moves-more-card{border-color:#dcd9ff!important}
@media(max-width:1250px) and (min-width:851px){.nav a[href="moves.php"]{display:none}}
@media(max-width:760px){.move-list-title{display:grid;align-items:start}.move-list-title .btn{width:100%}.move-history-stats{grid-template-columns:1fr 1fr}.move-history-stats>div:last-child{grid-column:1/-1}.move-history-card{display:grid;align-items:start}.move-history-actions{justify-content:stretch}.move-history-actions form{flex:1}.move-history-actions .btn{width:100%}.completed-move-banner{align-items:flex-start;flex-wrap:wrap}.completed-move-banner .grow{flex-basis:calc(100% - 60px)}.completed-move-banner .btn{flex:1}.current-move-switcher{align-items:flex-start}.current-move-switcher>a{max-width:110px;text-align:right}.move-history-note{display:grid}}
@media(max-width:460px){.move-history-stats{grid-template-columns:1fr}.move-history-stats>div:last-child{grid-column:auto}.move-history-main{gap:10px}.move-status-icon{width:42px;height:42px}.move-history-actions{grid-template-columns:1fr}.completed-move-banner .btn{flex-basis:100%}}

/* Étape 17 — bilan, impression et exports */
.recap-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.recap-title h1{margin-bottom:8px}.recap-actions{display:flex;gap:9px;flex-wrap:wrap}.recap-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#f8f7ff,#fff)}.recap-identity-main{display:flex;align-items:center;gap:16px;min-width:0}.recap-big-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid var(--line);font-size:1.7rem;flex:0 0 auto}.recap-identity h2{font-size:1.45rem;margin:8px 0 3px}.recap-identity p{margin:0;color:var(--muted);font-weight:700}.recap-score{--score:0%;width:102px;height:102px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--brand) var(--score),#e9eafa 0);position:relative;flex:0 0 102px}.recap-score:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.recap-score strong,.recap-score small{position:relative;z-index:1}.recap-score strong{font-size:1.45rem}.recap-score small{font-size:.7rem;color:var(--muted);font-weight:800}.recap-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0}.recap-kpis>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;display:grid;gap:3px}.recap-kpis span{font-size:1.25rem}.recap-kpis b{font-size:1.2rem}.recap-kpis small{color:var(--muted);line-height:1.35}.recap-disclaimer{color:var(--muted);max-width:420px;text-align:right;line-height:1.45}.recap-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.recap-progress-item{border:1px solid var(--line);border-radius:16px;padding:14px}.recap-progress-head{display:flex;align-items:center;gap:10px}.recap-progress-head>span{font-size:1.4rem}.recap-progress-head>div{display:grid;flex:1}.recap-progress-head small{color:var(--muted);margin-top:2px}.recap-progress-head>strong{font-size:.9rem;color:var(--brand)}.recap-progress-bar{height:8px;border-radius:999px;background:#eceefa;overflow:hidden;margin-top:11px}.recap-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand2))}.recap-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recap-two-cols .panel{margin:0 0 18px}.recap-money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.recap-money-grid>div{background:#f8f9fc;border-radius:14px;padding:13px;display:grid;gap:3px}.recap-money-grid small{color:var(--muted)}.recap-money-grid strong{font-size:1.15rem}.recap-money-grid .negative{background:#fff1f2;color:#a13d47}.recap-money-grid .positive{background:#eefaf3;color:#28704e}.recap-note{color:var(--muted);font-size:.86rem;margin:14px 0 0}.recap-facts{display:grid;gap:0;margin-top:10px}.recap-facts p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.recap-facts p:last-child{border-bottom:0}.recap-facts span{color:var(--muted)}.recap-selected-list,.recap-issues,.recap-access-grid{display:grid;gap:8px;margin-top:12px}.recap-selected-list>div,.recap-access-grid>div,.recap-issues>div{display:grid;gap:3px;padding:10px 12px;border-radius:13px;background:#f8f9fc}.recap-selected-list span,.recap-access-grid span,.recap-access-grid small,.recap-issues small{color:var(--muted)}.recap-issues .issue{background:#fff1f2;border-left:4px solid var(--danger)}.recap-issues .watch{background:#fff8e8;border-left:4px solid var(--warn)}.recap-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.recap-home-grid>div{border:1px solid var(--line);border-radius:16px;padding:15px;display:grid;gap:4px}.recap-home-grid span{font-size:1.35rem}.recap-home-grid strong{font-size:1.25rem}.recap-home-grid small{color:var(--muted)}.recap-export-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.recap-export-panel h2{margin:5px 0}.recap-export-panel p{margin:0;color:var(--muted);max-width:650px;line-height:1.5}.recap-export-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.recap-banner{margin:16px 0 2px;background:linear-gradient(135deg,#eef9ff,#fff);border:1px solid #cce9f8;border-radius:18px;padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 25px rgba(35,44,80,.04)}.recap-banner-icon{font-size:1.6rem}.recap-banner div{display:grid;gap:3px;flex:1}.recap-banner small{color:var(--muted)}.recap-banner>strong{color:#24709a}.recap-more-card{border-color:#cce9f8!important;background:linear-gradient(145deg,#f1fbff,#fff)!important}
@media(max-width:900px){.recap-kpis{grid-template-columns:repeat(3,1fr)}.recap-two-cols{grid-template-columns:1fr}.recap-progress-grid{grid-template-columns:1fr}.recap-home-grid{grid-template-columns:1fr 1fr}.recap-export-panel{align-items:flex-start;flex-direction:column}.recap-export-buttons{justify-content:flex-start}.recap-disclaimer{text-align:left}}
@media(max-width:620px){.recap-title{display:grid;align-items:start}.recap-actions{display:grid}.recap-actions .btn{width:100%}.recap-identity{align-items:flex-start}.recap-big-icon{display:none}.recap-score{width:82px;height:82px;flex-basis:82px}.recap-kpis{grid-template-columns:1fr 1fr}.recap-money-grid{grid-template-columns:1fr}.recap-home-grid{grid-template-columns:1fr 1fr}.recap-export-buttons{display:grid;width:100%}.recap-export-buttons .btn{width:100%}.recap-banner{padding:14px}.recap-banner>strong{font-size:.78rem}}
@media print{body{background:#fff}.topbar,.mobile-nav,.footer,.no-print,.recap-banner{display:none!important}.shell{max-width:none;padding:0}.panel,.recap-kpis>div,.recap-progress-item,.recap-home-grid>div{box-shadow:none!important;break-inside:avoid}.recap-title{margin-top:0}.recap-title h1{font-size:2rem}.recap-two-cols{grid-template-columns:1fr 1fr}.recap-kpis{grid-template-columns:repeat(6,1fr)}.recap-score{print-color-adjust:exact;-webkit-print-color-adjust:exact}.recap-progress-bar i{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* ===== v0.18 · Tri avant déménagement ===== */
.declutter-title{align-items:flex-end}
.declutter-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.declutter-hero-grid>article{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;gap:14px;align-items:center;min-height:120px;box-shadow:var(--shadow-sm)}
.declutter-hero-grid>article>span{font-size:30px}.declutter-hero-grid small{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.declutter-hero-grid strong,.declutter-hero-grid b{display:block;font-size:24px;line-height:1.1}.declutter-hero-grid p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.declutter-score-card{grid-column:span 1}.declutter-progress-ring{--declutter-progress:0%;width:74px;height:74px;border-radius:50%;display:grid;place-content:center;text-align:center;flex:0 0 auto;background:conic-gradient(var(--primary) var(--declutter-progress),var(--soft) 0);position:relative}.declutter-progress-ring:after{content:"";position:absolute;inset:7px;background:var(--card);border-radius:50%}.declutter-progress-ring strong,.declutter-progress-ring small{position:relative;z-index:1}.declutter-progress-ring strong{font-size:18px}.declutter-progress-ring small{font-size:9px;margin:0;letter-spacing:0}
.declutter-add-panel{overflow:visible}.declutter-add-form{display:grid;grid-template-columns:1.6fr 1fr .55fr 1fr 1fr 1fr;gap:12px;align-items:end}.declutter-add-form label,.declutter-edit-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--muted)}.declutter-add-form input,.declutter-add-form select,.declutter-edit-form input,.declutter-edit-form select{width:100%}.declutter-note-field{grid-column:span 5}.declutter-add-form>.btn{height:44px}
.declutter-filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.declutter-filters a{display:flex;gap:7px;align-items:center;padding:9px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:13px;font-weight:800;color:var(--text);text-decoration:none}.declutter-filters a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.declutter-filters b{font-size:11px;opacity:.8}
.declutter-list{display:grid;gap:12px}.declutter-item{position:relative;border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--card);transition:.2s ease}.declutter-item.is-done{opacity:.72}.declutter-item.is-done .declutter-item-main b{text-decoration:line-through;text-decoration-thickness:1px}.declutter-item-main{display:flex;align-items:center;gap:12px}.declutter-decision-icon{width:42px;height:42px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:22px;flex:0 0 auto}.declutter-item-main small{display:block;color:var(--muted);margin-top:3px}.declutter-item-main p{margin:5px 0 0;font-size:13px;color:var(--muted)}.declutter-mini-metric{white-space:nowrap;padding:7px 9px;border-radius:10px;background:var(--soft);font-size:12px;font-weight:900}.declutter-mini-metric.money{background:#effbf3;color:#18733a}
.declutter-quick-actions{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0 54px}.declutter-quick-actions form{margin:0}.declutter-quick-actions button{border:1px solid var(--line);background:var(--bg);border-radius:10px;min-height:34px;padding:6px 9px;cursor:pointer}.declutter-quick-actions button.active{background:var(--primary);border-color:var(--primary);color:#fff}.declutter-done-btn{font-weight:800}.declutter-edit-toggle{font-weight:800}
.declutter-edit-form{display:grid;grid-template-columns:1.4fr 1fr .55fr 1fr 1fr 1fr 1fr 1fr;gap:10px;padding:14px;margin:12px 0 0 54px;background:var(--soft);border-radius:14px}.declutter-edit-note{grid-column:span 7}.declutter-edit-actions{display:flex;align-items:end}.declutter-delete-form{position:absolute;right:12px;bottom:10px}.declutter-delete-form button{border:0;background:transparent;color:var(--danger);font-size:11px;cursor:pointer;padding:4px}
.decision-sell{border-left:4px solid #24a36d}.decision-donate{border-left:4px solid #6f72e8}.decision-recycle{border-left:4px solid #2eaa91}.decision-discard{border-left:4px solid #d36565}.decision-keep{border-left:4px solid #6f7d8f}.decision-undecided{border-left:4px solid #e5ad3d}
.declutter-tip{display:flex;gap:14px;align-items:flex-start}.declutter-tip>span{font-size:28px}.declutter-tip p{margin:4px 0 0;color:var(--muted)}
.declutter-banner,.volume-to-declutter{display:flex;align-items:center;gap:14px;padding:15px 17px;margin:14px 0;border-radius:18px;text-decoration:none;color:var(--text);background:linear-gradient(135deg,#fff8e9,#f2fff6);border:1px solid #ece1bf}.declutter-banner-icon,.volume-to-declutter>span{font-size:26px}.declutter-banner div,.volume-to-declutter div{flex:1}.declutter-banner b,.volume-to-declutter b{display:block}.declutter-banner small,.volume-to-declutter small{display:block;color:var(--muted);margin-top:3px}.declutter-banner>strong,.volume-to-declutter>strong{white-space:nowrap}.declutter-more-card span{background:#fff5db}
@media(max-width:1050px){.declutter-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.declutter-add-form{grid-template-columns:repeat(3,minmax(0,1fr))}.declutter-note-field{grid-column:span 2}.declutter-edit-form{grid-template-columns:repeat(4,minmax(0,1fr))}.declutter-edit-note{grid-column:span 3}}
@media(max-width:700px){.declutter-title{align-items:stretch}.declutter-title form,.declutter-title .btn{width:100%}.declutter-hero-grid{grid-template-columns:1fr 1fr}.declutter-hero-grid>article{min-height:105px;padding:14px;align-items:flex-start}.declutter-score-card{grid-column:1/-1!important}.declutter-add-form{grid-template-columns:1fr 1fr}.declutter-add-form label:first-of-type,.declutter-note-field{grid-column:1/-1}.declutter-add-form>.btn{grid-column:1/-1}.declutter-item-main{align-items:flex-start;flex-wrap:wrap}.declutter-item-main .grow{min-width:calc(100% - 58px)}.declutter-mini-metric{margin-left:54px}.declutter-quick-actions{margin-left:0}.declutter-edit-form{margin-left:0;grid-template-columns:1fr 1fr}.declutter-edit-note{grid-column:1/-1}.declutter-edit-actions{grid-column:1/-1}.declutter-delete-form{position:static;text-align:right}.declutter-banner,.volume-to-declutter{align-items:flex-start}.declutter-banner>strong,.volume-to-declutter>strong{display:none}}
@media(max-width:430px){.declutter-hero-grid{grid-template-columns:1fr}.declutter-add-form,.declutter-edit-form{grid-template-columns:1fr}.declutter-add-form label,.declutter-note-field,.declutter-edit-form label,.declutter-edit-note,.declutter-edit-actions{grid-column:1!important}.declutter-mini-metric{margin-left:0}}


/* ===== v0.19 · Contrats & transferts ===== */
.contracts-banner,.admin-contract-link{display:flex;align-items:center;gap:14px;padding:15px 17px;margin:14px 0;border-radius:18px;text-decoration:none;color:var(--text);background:linear-gradient(135deg,#eef8ff,#f9fff8);border:1px solid #cfe7f5;box-shadow:0 8px 24px rgba(35,44,80,.04)}
.contracts-banner-icon,.admin-contract-link>span{font-size:26px}.contracts-banner div,.admin-contract-link div{flex:1}.contracts-banner b,.admin-contract-link b{display:block}.contracts-banner small,.admin-contract-link small{display:block;color:var(--muted);margin-top:3px;line-height:1.45}.contracts-banner>strong,.admin-contract-link>strong{white-space:nowrap;color:#2e6d8c}.contracts-more-card{border-color:#cfe7f5!important;background:linear-gradient(145deg,#f4fbff,#fff)!important}
.contracts-title{align-items:flex-end}.contract-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.contract-stats article{display:flex;gap:13px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:var(--shadow-sm)}.contract-stats article>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--soft);font-size:23px;flex:0 0 auto}.contract-stats small{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.contract-stats strong{display:block;font-size:22px;margin-top:2px}.contract-stats p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.contract-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr 1fr 1fr 1fr;gap:11px;align-items:end}.contract-form label,.contract-edit-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--muted)}.contract-form input,.contract-form select,.contract-edit-form input,.contract-edit-form select,.contract-edit-form textarea{width:100%}.contract-note-field{grid-column:span 7}.contract-form>.btn{height:44px}
.contract-list{display:grid;gap:12px;margin-top:14px}.contract-card{position:relative;border:1px solid var(--line);border-left:5px solid #cfd6e2;border-radius:18px;background:var(--card);padding:15px}.contract-card.status-contacted{border-left-color:#5b9bd5}.contract-card.status-scheduled{border-left-color:#e9a93d}.contract-card.status-done{border-left-color:var(--success);background:#fbfffc}.contract-card-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start}.contract-service-icon{width:44px;height:44px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:23px}.contract-card-head{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.contract-card-head b{font-size:15px}.contract-card-main small{display:block;color:var(--muted);margin-top:3px}.contract-card-main p{margin:6px 0 0;color:var(--muted);font-size:13px}.contract-card-main p strong{color:var(--text)}.contract-status{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;background:#eef1f6;color:var(--muted)}.contract-status.contacted{background:#edf5ff;color:#28669b}.contract-status.scheduled{background:#fff6e6;color:#9a6517}.contract-status.done{background:#eaf8ef;color:#267653}.contract-card-metrics{display:grid;gap:7px;justify-items:end;text-align:right}.contract-date{display:grid;gap:2px;font-weight:850;font-size:12px;padding:7px 9px;border-radius:11px;background:var(--soft)}.contract-date small{font-size:10px;margin:0}.contract-date.late{background:#fff0f1;color:var(--danger)}.contract-saving{font-size:11px;font-weight:900;padding:6px 8px;border-radius:10px}.contract-saving.positive{background:#eaf8ef;color:#267653}.contract-saving.negative{background:#fff0f1;color:#b34949}
.contract-actions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0 57px;padding-top:12px;border-top:1px solid var(--line)}.contract-actions form{margin:0}.contract-actions button,.contract-edit-toggle{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:7px 9px;cursor:pointer;font-size:12px;font-weight:800}.contract-actions button.active{background:var(--primary);border-color:var(--primary);color:#fff}.contract-edit-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;margin:12px 0 0 57px;border-radius:14px;background:var(--soft)}.contract-edit-note{grid-column:span 3}.contract-edit-actions{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.contract-delete{position:absolute;right:12px;bottom:9px}.contract-delete button{border:0;background:transparent;color:var(--danger);font-size:11px;cursor:pointer}.contract-tip{display:flex;align-items:flex-start;gap:14px}.contract-tip>span{font-size:28px}.contract-tip p{margin:4px 0 0;color:var(--muted)}
.recap-contract-section{margin-bottom:18px}
@media(max-width:1050px){.contract-stats{grid-template-columns:1fr 1fr}.contract-form{grid-template-columns:repeat(4,minmax(0,1fr))}.contract-note-field{grid-column:span 3}.contract-edit-form{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-edit-note{grid-column:span 2}}
@media(max-width:720px){.contracts-title{align-items:stretch}.contracts-title form,.contracts-title .btn{width:100%}.contract-stats{grid-template-columns:1fr 1fr}.contract-form{grid-template-columns:1fr 1fr}.contract-note-field{grid-column:1/-1}.contract-form>.btn{grid-column:1/-1}.contract-card-main{grid-template-columns:auto 1fr}.contract-card-metrics{grid-column:2;justify-items:start;text-align:left}.contract-actions{margin-left:0}.contract-edit-form{margin-left:0;grid-template-columns:1fr 1fr}.contract-edit-note{grid-column:1/-1}.contract-edit-actions{grid-column:1/-1}.contract-delete{position:static;text-align:right}.contracts-banner,.admin-contract-link{align-items:flex-start}.contracts-banner>strong,.admin-contract-link>strong{display:none}}
@media(max-width:440px){.contract-stats{grid-template-columns:1fr}.contract-form,.contract-edit-form{grid-template-columns:1fr}.contract-form label,.contract-note-field,.contract-edit-form label,.contract-edit-note,.contract-edit-actions{grid-column:1!important}.contract-card-main{grid-template-columns:1fr}.contract-service-icon{width:40px;height:40px}.contract-card-metrics{grid-column:1}.contract-actions{display:grid;grid-template-columns:1fr 1fr}.contract-actions form,.contract-actions button,.contract-edit-toggle{width:100%}}

/* ===== v0.20 · Assistant « Que faire maintenant ? » ===== */
.assistant-dashboard-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;align-items:center;margin:16px 0;padding:18px 20px;border-radius:22px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#5c55e8,#7d6cff 55%,#9e78ff);box-shadow:0 16px 36px rgba(92,85,232,.24);border:1px solid rgba(255,255,255,.18)}
.assistant-dashboard-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:27px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2)}
.assistant-dashboard-banner small{display:block;font-size:10px;font-weight:950;letter-spacing:.09em;opacity:.82}.assistant-dashboard-banner b{display:block;font-size:17px;margin-top:3px}.assistant-dashboard-banner p{margin:4px 0 0;font-size:12px;line-height:1.45;opacity:.88}.assistant-dashboard-meta{display:grid;justify-items:center;padding:7px 14px;border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.2)}.assistant-dashboard-meta strong{font-size:24px;line-height:1}.assistant-dashboard-meta small{font-size:9px;letter-spacing:.04em;margin-top:3px}.assistant-dashboard-banner em{font-style:normal;font-weight:900;white-space:nowrap}
.assistant-more-card{background:linear-gradient(145deg,#f4f1ff,#fff)!important;border-color:#d9d3ff!important}.assistant-more-card>span{background:#ece8ff!important}
.assistant-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.assistant-title-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.assistant-title-status span{font-size:12px;font-weight:900;padding:8px 12px;border-radius:999px;background:#eeebff;color:#554fc4}.assistant-title-status strong{font-size:28px}
.assistant-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;padding:24px;margin:18px 0;border-radius:26px;background:linear-gradient(145deg,#f1efff,#ffffff 62%,#f5fbff);border:1px solid #ded9ff;box-shadow:0 18px 42px rgba(70,64,140,.08)}.assistant-phase-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#ece9ff;color:#514ac1;font-size:11px;font-weight:950}.assistant-hero h2{font-size:28px;line-height:1.12;margin:12px 0 7px}.assistant-hero-copy>p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}
.assistant-primary-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:20px;padding:16px;border-radius:20px;background:#fff;border:1px solid #e4e0ff;box-shadow:var(--shadow-sm)}.assistant-primary-icon{width:48px;height:48px;border-radius:15px;background:#f0edff;display:grid;place-items:center;font-size:25px}.assistant-primary-action small{display:block;font-size:9px;font-weight:950;letter-spacing:.1em;color:#665fd0}.assistant-primary-action b{display:block;margin-top:2px;font-size:15px}.assistant-primary-action p{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.assistant-all-good{display:flex;gap:12px;align-items:center;margin-top:20px;padding:16px;border:1px solid #cdebd7;border-radius:18px;background:#f4fff7}.assistant-all-good>span{font-size:28px}.assistant-all-good b,.assistant-all-good small{display:block}.assistant-all-good small{color:var(--muted);margin-top:3px}
.assistant-hero-score{display:grid;place-items:center;align-content:center;gap:12px}.assistant-progress-ring{--assistant-progress:0;position:relative;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--primary) calc(var(--assistant-progress) * 1%),#ebeaf4 0);isolation:isolate}.assistant-progress-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff;z-index:-1}.assistant-progress-ring strong{font-size:30px;line-height:1}.assistant-progress-ring small{font-size:10px;color:var(--muted);margin-top:4px}.assistant-score-meta{text-align:center}.assistant-score-meta b,.assistant-score-meta small{display:block}.assistant-score-meta small{color:var(--muted);margin-top:3px}
.assistant-phase-panel{margin:18px 0}.assistant-phase-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;position:relative}.assistant-phase-step{position:relative;display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:15px;background:var(--soft);color:var(--muted);text-align:center}.assistant-phase-step span{font-size:23px}.assistant-phase-step small{font-size:9px;font-weight:900;line-height:1.2}.assistant-phase-step.active{background:linear-gradient(145deg,#5f58e8,#806fff);color:#fff;box-shadow:0 10px 24px rgba(95,88,232,.2);transform:translateY(-2px)}
.assistant-priority-section{margin:22px 0}.assistant-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.assistant-priority-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;min-height:240px;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--card);text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm);overflow:hidden}.assistant-priority-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#bfc5d2}.assistant-priority-card.warning:before{background:#e7aa37}.assistant-priority-card.danger:before{background:var(--danger)}.assistant-priority-card.rank-1{border-color:#dcd7ff;box-shadow:0 14px 30px rgba(87,78,180,.09)}.assistant-priority-card.rank-1:before{height:5px;background:linear-gradient(90deg,#5d56e8,#9e78ff)}.assistant-rank{position:absolute;right:14px;top:13px;font-size:11px;font-weight:950;color:var(--muted)}.assistant-card-icon{width:45px;height:45px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:23px}.assistant-card-tags{display:flex;gap:6px;flex-wrap:wrap}.assistant-card-tags span{font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;background:#f0f1f5;color:var(--muted)}.assistant-priority-card.danger .assistant-card-tags span:first-child{background:#fff0f1;color:var(--danger)}.assistant-priority-card.warning .assistant-card-tags span:first-child{background:#fff7e7;color:#976314}.assistant-priority-card h3{font-size:16px;line-height:1.25;margin:8px 0 0}.assistant-priority-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0 0}.assistant-priority-card>strong{font-size:12px;color:var(--primary);align-self:end}
.assistant-time-panel{margin:22px 0}.assistant-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.assistant-time-card{padding:16px;border-radius:18px;background:var(--soft);border:1px solid var(--line)}.assistant-time-head{display:flex;align-items:center;gap:8px}.assistant-time-head span{font-size:22px}.assistant-time-head b{font-size:13px}.assistant-time-card h3{font-size:14px;margin:12px 0 5px}.assistant-time-card p{font-size:12px;line-height:1.45;color:var(--muted);min-height:52px;margin:0 0 12px}
.assistant-later-panel{margin:22px 0}.assistant-later-list{display:grid;gap:8px}.assistant-later-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--text);background:var(--bg)}.assistant-later-item>span{font-size:22px}.assistant-later-item b,.assistant-later-item small{display:block}.assistant-later-item small{color:var(--muted);margin-top:3px;font-size:11px}.assistant-later-item em{font-style:normal;font-size:10px;font-weight:900;color:var(--muted);white-space:nowrap}
.assistant-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.assistant-shortcuts a{display:grid;grid-template-columns:auto 1fr;column-gap:11px;padding:15px;border-radius:18px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--text)}.assistant-shortcuts span{grid-row:1/3;font-size:24px}.assistant-shortcuts b{font-size:13px}.assistant-shortcuts small{color:var(--muted);margin-top:3px}
@media(max-width:900px){.assistant-hero{grid-template-columns:1fr}.assistant-hero-score{grid-template-columns:auto 1fr;justify-content:start}.assistant-progress-ring{width:120px;height:120px}.assistant-priority-grid{grid-template-columns:1fr}.assistant-priority-card{min-height:0}.assistant-phase-track{grid-template-columns:repeat(4,1fr)}.assistant-time-grid{grid-template-columns:1fr}}
@media(max-width:650px){.assistant-title{display:grid;align-items:start}.assistant-title-status{justify-content:space-between}.assistant-dashboard-banner{grid-template-columns:auto 1fr;padding:16px}.assistant-dashboard-meta{grid-column:2;border:0;border-top:1px solid rgba(255,255,255,.2);padding:9px 0 0;justify-items:start;display:flex;gap:7px;align-items:baseline}.assistant-dashboard-banner em{display:none}.assistant-primary-action{grid-template-columns:auto 1fr}.assistant-primary-action .btn{grid-column:1/-1;width:100%}.assistant-hero{padding:18px}.assistant-hero h2{font-size:23px}.assistant-hero-score{grid-template-columns:1fr;justify-items:start}.assistant-phase-track{display:flex;overflow:auto;padding-bottom:4px}.assistant-phase-step{min-width:92px}.assistant-shortcuts{grid-template-columns:1fr}.assistant-later-item{grid-template-columns:auto 1fr}.assistant-later-item em{grid-column:2}.assistant-dashboard-banner p{font-size:11px}}

/* ===== v0.21 : sécurité & fiabilité ===== */
.logout-form{margin:0;display:flex}.logout-form .logout-link{appearance:none;border:0;background:transparent;font:inherit;cursor:pointer;padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:700;font-size:.92rem}.logout-form .logout-link:hover{background:var(--soft);color:var(--brand)}
.logout-more-card{padding:0!important;overflow:hidden}.logout-more-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%;height:100%;display:flex;align-items:center;gap:12px;padding:18px}.logout-more-button>span{font-size:1.45rem}.logout-more-button>div{display:grid;gap:3px}.logout-more-button small{color:var(--muted)}
.full-action-form{margin:0}.invite-confirm-form{margin-top:18px}.invite-confirm-form .btn{min-width:0}
@media(max-width:560px){.topbar .logout-form{display:block}.topbar .logout-form .logout-link{display:block;padding:8px 10px}.invite-confirm-form{display:grid}.invite-confirm-form .btn{width:100%}}

/* ===== v0.22 : harmonisation UX / mobile / navigation ===== */
:root{
  --primary:var(--brand);
  --shadow-sm:0 8px 24px rgba(31,42,74,.06);
  --shadow-md:0 16px 42px rgba(31,42,74,.09);
  --surface:#ffffff;
  --surface-soft:#f8f9fd;
  --focus:rgba(100,92,255,.16);
  --tap:48px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{min-height:100vh;background:radial-gradient(circle at 12% -8%,rgba(100,92,255,.10),transparent 28rem),linear-gradient(180deg,#f8f9fd 0,#f5f7fb 32rem,#f5f7fb 100%);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}
.shell{max-width:1220px;padding:30px 22px 88px}

/* Header desktop plus lisible : uniquement les actions coeur */
.topbar{height:auto;min-height:74px;padding:0 18px;background:rgba(255,255,255,.86);border-color:rgba(220,224,236,.82);box-shadow:0 1px 0 rgba(22,29,50,.02)}
.topbar-inner{width:min(100%,1220px);margin:auto;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{gap:11px;flex:0 0 auto}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#6d65ff,#8a72ff);box-shadow:0 9px 20px rgba(100,92,255,.22);font-size:20px}.brand-copy{display:grid;gap:1px;line-height:1.05}.brand-copy b{font-size:14px;letter-spacing:-.01em}.brand-copy small{font-size:9px;color:var(--muted);font-weight:750;letter-spacing:.015em}
.nav{gap:4px;min-width:0}.nav-link{display:flex!important;align-items:center;gap:6px;min-height:42px;padding:8px 10px!important;font-size:12px!important;border:1px solid transparent}.nav-link>span{font-size:14px}.nav-link:hover{border-color:#e6e4ff}.nav-link.active{background:#eeecff!important;border-color:#dedaff;color:#5149cf!important;box-shadow:inset 0 0 0 1px rgba(100,92,255,.02)}
.notification-nav{position:relative;width:42px;height:42px;padding:0!important;display:grid!important;place-items:center;border:1px solid var(--line);background:#fff;border-radius:13px!important}.notification-nav:hover,.notification-nav.active{background:var(--soft)!important;border-color:#dcd8ff}.notification-nav>span{font-size:16px}.nav-badge{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--danger);color:#fff;font-size:9px;font-style:normal;font-weight:950;border:2px solid #fff}
.nav-more{position:relative}.nav-more>summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:42px;padding:8px 10px;border:1px solid transparent;border-radius:12px;color:var(--muted);font-size:12px;font-weight:850;cursor:pointer}.nav-more>summary::-webkit-details-marker{display:none}.nav-more>summary span{font-weight:950;letter-spacing:.08em}.nav-more>summary em{font-style:normal}.nav-more:hover>summary,.nav-more[open]>summary,.nav-more.active>summary{background:var(--soft);border-color:#e0dcff;color:var(--brand)}
.nav-more-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(560px,calc(100vw - 32px));padding:14px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(28,34,60,.16);z-index:80}.nav-more-head{padding:4px 5px 12px}.nav-more-head b,.nav-more-head small{display:block}.nav-more-head b{font-size:14px}.nav-more-head small{font-size:11px;color:var(--muted);margin-top:2px}.nav-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.nav-more-grid>a{display:grid!important;grid-template-columns:auto 1fr;column-gap:9px;padding:10px!important;border:1px solid transparent;border-radius:14px!important;color:var(--text)!important}.nav-more-grid>a:hover{background:#f8f8ff!important;border-color:#e6e3ff}.nav-more-grid>a>span{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:var(--soft);display:grid;place-items:center;font-size:17px}.nav-more-grid b{font-size:11px}.nav-more-grid small{font-size:9px;color:var(--muted);margin-top:2px}.nav-more-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:11px 3px 0;border-top:1px solid var(--line)}.nav-more-all{font-size:11px!important;font-weight:900!important;color:var(--brand)!important;padding:7px!important}.nav-more-footer .logout-link{font-size:11px!important;padding:7px 9px!important}

/* Hiérarchie visuelle commune */
.page-title,.wizard-head{margin:10px 0 22px}.page-title h1,.wizard-head h1{letter-spacing:-.035em;line-height:1.05;margin:7px 0 7px}.page-title p,.wizard-head p{margin:0;font-size:.96rem;line-height:1.55}.eyebrow{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#eeecff;color:#554dcc;font-size:9px;letter-spacing:.11em}
.dashboard-head{gap:18px;margin:8px 0 22px}.dashboard-head h1{letter-spacing:-.035em;line-height:1.05;margin:7px 0 5px}.dashboard-head p{margin:0;font-size:.96rem}
.panel{border-color:#e3e7f0;border-radius:20px;padding:21px;box-shadow:var(--shadow-sm);margin:16px 0;background:rgba(255,255,255,.97)}
.panel:hover{border-color:#dde1ec}.panel.compact{padding:17px}.section-head{min-height:40px}.section-head h2{font-size:1.12rem;letter-spacing:-.012em}
.stat-card,.quick-card,.box-card,.home-item-card,.move-history-card{border-color:#e3e7f0;box-shadow:var(--shadow-sm)}
.stat-card{min-height:108px;align-content:center}.stat-card strong{letter-spacing:-.04em}.quick-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#dcd9ff}

/* Formulaires : grosses zones tactiles et labels homogènes */
label{gap:7px;font-size:.83rem}input,select,textarea{min-height:46px;border-radius:12px;border-color:#dfe4ed;padding:11px 12px;background:#fff}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8c85ff;box-shadow:0 0 0 4px var(--focus)}
input[type="checkbox"],input[type="radio"]{min-height:0;accent-color:var(--brand)}
.btn{min-height:44px;border-radius:12px;padding:10px 16px;line-height:1.15;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{box-shadow:0 8px 20px rgba(100,92,255,.22)}.btn.ghost:hover{background:#f9f9ff;border-color:#d8d4ff}.btn.small{min-height:38px;padding:8px 12px}
.check-btn{width:36px;height:36px;flex:0 0 36px}.task-row{min-height:58px;padding:12px 2px}.flash{position:relative;border:1px solid transparent;font-weight:700}.flash.success{border-color:#caead7}.flash.error{border-color:#f4cfd3}
.empty{border:1px dashed #dce1eb;background:#fafbfe;padding:32px 20px}

/* Tableau / listes : lisibles sans zoom sur téléphone */
.budget-table{overflow:hidden;border-radius:15px;border:1px solid var(--line)}.budget-row{background:#fff}.budget-row:last-child{border-bottom:0}
.box-card p{min-height:0}.box-card,.home-item-card{overflow:hidden}

/* Page Plus rangée par étape, plus de mur de 25 cartes */
.more-page-title{max-width:760px}.more-section{margin:26px 0 34px}.more-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.more-section-head>div{display:flex;align-items:center;gap:11px}.more-section-head>div>span{width:40px;height:40px;border-radius:13px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-size:19px}.more-section-head h2{font-size:16px;margin:0}.more-section-head p{font-size:11px;color:var(--muted);margin:2px 0 0}.more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.more-card{position:relative;min-height:116px;display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:11px;padding:16px;border:1px solid #e2e6ef;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(35,44,80,.045);text-decoration:none;color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.more-card:hover{transform:translateY(-2px);border-color:#d8d4ff;box-shadow:var(--shadow-md)}.more-card>span{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f4f3ff;font-size:20px}.more-card b{display:block;font-size:12px;line-height:1.25}.more-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.38}.more-card>em{grid-column:2;font-style:normal;color:var(--brand);font-size:10px;font-weight:900;margin-top:7px}.more-grid-featured{grid-template-columns:2fr 1fr 1fr 1fr}.more-grid-featured .assistant-more-card{min-height:128px;background:linear-gradient(145deg,#625bf6,#806eff)!important;color:#fff!important;border:0!important}.more-grid-featured .assistant-more-card>span{background:rgba(255,255,255,.15)!important}.more-grid-featured .assistant-more-card small{color:rgba(255,255,255,.78)}.more-grid-featured .assistant-more-card>em{color:#fff}.more-grid-account{grid-template-columns:repeat(2,minmax(0,280px))}.more-grid-account .more-card{min-height:88px}.logout-more-card{min-height:88px}.logout-more-button{padding:16px!important}.logout-more-button>span{width:42px;height:42px;border-radius:13px;background:#fff1f2;display:grid;place-items:center}

/* Navigation mobile : 5 zones, pouce-friendly, safe-area */
.mobile-nav{display:none}.mobile-more-icon{position:relative}.mobile-more-icon i{position:absolute;right:-12px;top:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:var(--danger);color:#fff;font-style:normal;font-size:8px;border:2px solid #fff}

/* Améliorations génériques pour les gros layouts historiques */
.stat-grid{gap:11px}.quick-grid{gap:11px}.box-grid{gap:12px}.home-item-grid{gap:12px}.recap-kpis{gap:10px}.contract-stats{gap:10px}.move-history-card{padding:16px}
.section-head .btn,.page-title .btn{flex:0 0 auto}

@media(max-width:1080px){
  .brand-copy small{display:none}.nav-link{padding:8px 8px!important}.nav-link>span{display:none}.nav{gap:2px}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.more-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.more-grid-featured .assistant-more-card{grid-column:span 2}.recap-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  body.app-authenticated{padding-bottom:84px}.topbar{min-height:64px}.topbar-inner{min-height:64px}.topbar .nav{display:none!important}.brand-mark{width:38px;height:38px;border-radius:12px}.brand-copy b{font-size:13px}.shell{padding:22px 14px 48px}.mobile-nav{position:fixed;display:grid!important;grid-template-columns:repeat(5,1fr)!important;left:10px;right:10px;bottom:10px;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border:1px solid rgba(222,225,236,.9);border-radius:20px;box-shadow:0 15px 45px rgba(24,31,54,.18);padding:6px 5px calc(6px + env(safe-area-inset-bottom))}.mobile-nav a{min-width:0;min-height:54px;display:grid!important;place-items:center;align-content:center;gap:2px;border-radius:15px;color:var(--muted);font-weight:850;position:relative}.mobile-nav a span{font-size:18px;line-height:1}.mobile-nav a small{font-size:9px;line-height:1;margin-top:3px}.mobile-nav a.active{color:var(--brand);background:#f0eeff}.footer{padding-bottom:100px}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.more-grid-featured .assistant-more-card{grid-column:span 2}.notifications-layout{grid-template-columns:1fr}.assistant-title,.recap-title,.move-list-title{align-items:flex-start}
}
@media(max-width:650px){
  body{font-size:14px}.shell{padding:18px 11px 42px}.page-title,.wizard-head{margin:6px 2px 18px}.page-title h1,.wizard-head h1,.dashboard-head h1{font-size:clamp(1.85rem,9vw,2.45rem)}.page-title p,.wizard-head p,.dashboard-head p{font-size:.9rem}.eyebrow{font-size:8px}.dashboard-head{align-items:flex-start;margin:4px 2px 18px}.panel{padding:16px;border-radius:18px;margin:12px 0}.panel.compact{padding:14px}.section-head{align-items:flex-start}.section-head h2{font-size:1rem}.section-head>.btn{min-width:0}.btn{min-height:46px}.btn.small{min-height:40px}.stat-grid,.stat-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:94px;padding:14px}.stat-card strong{font-size:1.45rem}.stat-card span{font-size:.72rem}.quick-grid,.quick-grid.four,.quick-grid.six{grid-template-columns:1fr 1fr}.quick-card{padding:15px;min-height:112px}.quick-card>span{font-size:1.4rem}.quick-card small{font-size:.74rem}.two-cols{grid-template-columns:1fr}.span-2{grid-column:auto}.inline-form,.budget-form{grid-template-columns:1fr}.box-grid,.home-item-grid{grid-template-columns:1fr}.box-card,.home-item-card{padding:16px}.task-row{gap:9px}.task-row .due{max-width:72px;font-size:.7rem}.more-section{margin:21px 0 28px}.more-section-head{margin:0 3px 10px}.more-section-head>div>span{width:36px;height:36px}.more-section-head h2{font-size:14px}.more-section-head p{font-size:10px}.more-grid,.more-grid-featured{grid-template-columns:1fr}.more-grid-featured .assistant-more-card{grid-column:auto}.more-card{min-height:90px;padding:14px}.more-card>span{width:40px;height:40px}.more-card b{font-size:12px}.more-card small{font-size:10px}.more-grid-account{grid-template-columns:1fr}.home-item-meta{grid-template-columns:1fr 1fr}.room-chip-grid{grid-template-columns:1fr}.move-history-card{display:grid}.move-history-actions{justify-content:flex-start}.recap-kpis{grid-template-columns:1fr 1fr}.recap-two-cols,.recap-progress-grid{grid-template-columns:1fr}.recap-home-grid{grid-template-columns:1fr 1fr}.recap-actions,.recap-export-buttons{width:100%;justify-content:flex-start}.recap-export-panel{display:grid}.contract-stats{grid-template-columns:1fr 1fr}.contract-edit-form{grid-template-columns:1fr;margin-left:0}.contract-edit-note{grid-column:auto}.contract-actions{margin-left:0}.installation-box-main{display:grid}.installation-box-actions{justify-content:flex-start}.assistant-primary-action{grid-template-columns:auto 1fr}.assistant-primary-action .btn{grid-column:1/-1}.assistant-phase-track{scroll-snap-type:x proximity}.assistant-phase-step{scroll-snap-align:start}.budget-table{border:0;overflow:visible}.budget-row{grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;margin-bottom:8px;padding:11px}.budget-row.head{display:none}
}
@media(max-width:390px){
  .brand-copy b{font-size:12px}.brand-mark{width:36px;height:36px}.stat-grid,.stat-grid.three{grid-template-columns:1fr 1fr}.quick-grid,.quick-grid.four,.quick-grid.six{grid-template-columns:1fr}.recap-kpis,.contract-stats,.recap-home-grid{grid-template-columns:1fr}.mobile-nav{left:6px;right:6px;bottom:6px}.mobile-nav a small{font-size:8px}
}
@media(hover:none){.quick-card:hover,.more-card:hover,.btn:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.is-submitting{cursor:wait!important;opacity:.7}

/* =========================================================
   v0.23 — Partie publique & SEO
   ========================================================= */
.public-nav{display:flex;align-items:center;gap:4px}.public-nav>a:not(.btn){padding:9px 11px;border-radius:11px;color:var(--muted);font-size:12px;font-weight:850}.public-nav>a:not(.btn):hover,.public-nav>a.active:not(.btn){background:var(--soft);color:var(--brand)}.public-nav .public-login{margin-left:6px}.public-nav .public-signup{min-height:38px;padding:9px 13px;margin-left:3px;font-size:12px}
body.app-public .shell{max-width:1180px;padding-bottom:90px}.public-hero{min-height:620px}.public-demo-card{box-shadow:0 28px 80px rgba(44,52,95,.14)}
.public-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 0 84px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}.public-strip>div{background:#fff;padding:17px 18px}.public-strip strong,.public-strip span{display:block}.public-strip strong{font-size:13px}.public-strip span{margin-top:3px;font-size:10px;color:var(--muted)}
.public-section{margin:88px 0}.public-section-center{text-align:center}.public-section h2,.public-page-head h1{font-size:clamp(2rem,4vw,3.45rem);line-height:1.05;letter-spacing:-.042em;margin:12px 0 14px}.public-section>p,.public-lead,.public-page-head>p{font-size:1.04rem;line-height:1.7;color:var(--muted)}.public-lead{max-width:760px;margin:0 auto 30px}.public-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;text-align:left}.public-step-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm);overflow:hidden}.public-step-card>span:first-child{position:absolute;right:17px;top:12px;font-size:34px;font-weight:950;color:#eef0f6}.public-step-icon{width:45px;height:45px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:21px}.public-step-card h3{font-size:16px;margin:14px 0 7px}.public-step-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.public-split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.public-split>div>p{color:var(--muted);line-height:1.7}.public-check-list{padding:0;margin:22px 0 26px;list-style:none}.public-check-list li{position:relative;padding:9px 0 9px 30px;color:#3e475d}.public-check-list li:before{content:'✓';position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#eaf8f1;color:var(--success);font-size:11px;font-weight:950}.public-product-card{background:linear-gradient(145deg,#211f54,#625bf6)!important;color:#fff;border-radius:28px;padding:26px;box-shadow:0 30px 90px rgba(69,59,190,.26)}.public-product-kicker{font-size:9px;font-weight:950;letter-spacing:.12em;color:#d8d5ff}.public-product-card h3{font-size:28px;margin:8px 0 18px}.public-priority-card{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:12px;margin:8px 0}.public-priority-card>b{width:34px;height:34px;border-radius:11px;background:#fff;color:#5149cf;display:grid;place-items:center}.public-priority-card strong,.public-priority-card small{display:block}.public-priority-card strong{font-size:12px}.public-priority-card small{font-size:9px;color:#d8d9f5;margin-top:3px}
.public-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px;text-align:left}.public-tool-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:21px;box-shadow:var(--shadow-sm);transition:.17s ease}.public-tool-card:hover{transform:translateY(-3px);border-color:#d9d5ff;box-shadow:var(--shadow-md)}.public-tool-card>span{font-size:25px}.public-tool-card h3{font-size:15px;margin:12px 0 7px}.public-tool-card p{font-size:11px;line-height:1.55;color:var(--muted);min-height:53px}.public-tool-card b{font-size:10px;color:var(--brand)}
.public-cta-panel{padding:52px 24px;border:1px solid #dedbff;border-radius:30px;background:linear-gradient(180deg,#f7f6ff,#fff)}.public-centered-actions{justify-content:center}.public-faq{max-width:900px;margin-left:auto;margin-right:auto}.public-faq>h2{text-align:left}.public-faq>details{background:#fff;border:1px solid var(--line);border-radius:16px;margin:9px 0;padding:0 17px;text-align:left}.public-faq summary{cursor:pointer;padding:16px 0;font-weight:900;font-size:13px}.public-faq details p{margin:0 0 17px;color:var(--muted);line-height:1.65;font-size:12px}
.public-page-head{max-width:900px;margin:46px auto 46px;text-align:center}.public-page-head h1{font-size:clamp(2.2rem,5vw,4rem)}.public-page-head>p{max-width:790px;margin:0 auto}.public-page-head .hero-actions{justify-content:center}
.public-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.public-guide-card{min-height:270px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:var(--shadow-sm);transition:.17s ease}.public-guide-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d9d5ff}.public-guide-card.featured{background:linear-gradient(145deg,#f2f0ff,#fff);border-color:#ddd9ff}.public-guide-icon{display:grid;width:48px;height:48px;border-radius:15px;place-items:center;background:var(--soft);font-size:23px}.public-guide-card small{display:block;margin-top:22px;color:var(--brand);font-weight:950;letter-spacing:.09em;font-size:9px}.public-guide-card h2{font-size:24px;letter-spacing:-.025em;margin:7px 0}.public-guide-card p{color:var(--muted);line-height:1.6;font-size:12px}.public-guide-card b{display:inline-block;margin-top:10px;color:var(--brand);font-size:11px}.public-guide-promo{padding:28px;border:1px solid var(--line);border-radius:26px;background:#fff}.public-mini-panel{display:grid;gap:8px;padding:21px;border-radius:20px;background:#f7f7fc}.public-mini-panel>strong{font-size:16px;margin-bottom:4px}.public-mini-panel>span{padding:9px 10px;background:#fff;border:1px solid var(--line);border-radius:11px;font-size:11px}.public-mini-panel .btn{margin-top:6px}
.public-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;align-items:start;max-width:1080px;margin:0 auto}.public-article{min-width:0}.public-article>section{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;margin:0 0 14px;box-shadow:var(--shadow-sm)}.public-article h2{font-size:22px;letter-spacing:-.025em;margin:5px 0 12px}.public-article p{font-size:13px;line-height:1.72;color:#555f75}.timeline-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eeecff;color:#554dcc;font-size:9px;font-weight:950;letter-spacing:.06em}.timeline-badge.danger{background:#fff0f1;color:#c64351}.timeline-badge.success{background:#eaf8f1;color:#25885e}.article-checks{list-style:none;padding:0;margin:16px 0}.article-checks li{position:relative;padding:7px 0 7px 26px;font-size:12px;color:#3f495f}.article-checks li:before{content:'✓';position:absolute;left:0;top:7px;color:var(--success);font-weight:950}.text-link{color:var(--brand);font-weight:900}.public-article-aside{position:relative}.public-sticky-card{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:21px;box-shadow:var(--shadow-sm)}.public-sticky-card>span{font-size:28px}.public-sticky-card h3{font-size:18px;margin:10px 0 8px}.public-sticky-card p{font-size:11px;line-height:1.6;color:var(--muted)}.public-sticky-card .btn{width:100%;margin-top:8px}.article-chip-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.article-chip-grid span{padding:8px 10px;border-radius:11px;background:#f7f8fb;border:1px solid var(--line);font-size:10px;font-weight:750}.official-link{display:inline-flex;margin-top:8px;padding:10px 12px;border-radius:11px;background:#f0efff;color:var(--brand);font-size:11px;font-weight:900}.public-status-demo,.public-status-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:14px 0}.status-pill,.public-status-flow span{padding:7px 10px;border-radius:999px;background:#f4f5f8;font-size:9px;font-weight:900}.status-pill.done{background:#eaf8f1;color:#25885e}.status-pill.contacted,.status-pill.planned{background:#fff7e8;color:#a76d13}.public-status-flow b{color:#a6adbd}.public-note{background:#fffaf0;border:1px solid #f1dfb9;border-radius:18px;padding:17px;margin:14px 0}.public-note strong{font-size:12px}.public-note p{margin:5px 0 0;font-size:11px}.box-demo-row{display:flex;gap:8px;flex-wrap:wrap}.box-demo-row span{padding:10px 12px;border-radius:12px;background:#f7f7fc;border:1px solid var(--line);font-size:10px;font-weight:900}.public-search-demo{display:flex;align-items:center;gap:12px;background:#f4f3ff;border:1px solid #dfdcff;border-radius:16px;padding:14px}.public-search-demo>span{font-size:22px}.public-search-demo small,.public-search-demo strong{display:block}.public-search-demo small{font-size:10px;color:var(--muted)}.public-search-demo strong{font-size:12px;margin-top:3px}
.public-volume-app{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;max-width:1100px;margin:0 auto}.public-volume-category{background:#fff;border:1px solid var(--line);border-radius:21px;padding:18px;margin:0 0 12px;box-shadow:var(--shadow-sm)}.public-volume-category h2{font-size:15px;margin:0 0 12px}.public-volume-items{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.public-volume-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e7eaf1;border-radius:13px;background:#fff}.public-volume-item.has-qty{background:#f7f6ff;border-color:#dad6ff}.public-volume-item strong,.public-volume-item small{display:block}.public-volume-item strong{font-size:10px}.public-volume-item small{font-size:8px;color:var(--muted);margin-top:2px}.public-qty-control{display:flex;align-items:center;gap:4px}.public-qty-control button{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:9px;font-weight:950;cursor:pointer}.public-qty-control input{width:42px;min-height:30px;height:30px;padding:2px;text-align:center;border-radius:8px;font-size:10px}.public-volume-summary{position:relative}.volume-result-card{display:grid;gap:10px}.volume-result-card>small{font-size:8px;letter-spacing:.1em;font-weight:950;color:var(--brand)}.volume-big-number{font-size:40px;letter-spacing:-.05em}.volume-vehicle-result{display:grid;grid-template-columns:38px 1fr;gap:9px;background:#f7f7fc;border-radius:15px;padding:12px}.volume-vehicle-result>span{font-size:25px}.volume-vehicle-result b,.volume-vehicle-result small{display:block}.volume-vehicle-result b{font-size:11px}.volume-vehicle-result small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.35}.volume-disclaimer{font-size:9px!important;line-height:1.5!important}.compact-public-copy{max-width:1100px;margin-left:auto;margin-right:auto}.compact-public-copy h2{font-size:30px}.public-three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.public-three-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}.public-three-grid article>span{font-size:22px}.public-three-grid h3{font-size:13px;margin:9px 0 5px}.public-three-grid p{font-size:10px;line-height:1.55!important;margin:0}
.public-footer{margin-top:30px;background:#171a29;color:#fff}.public-footer-inner{max-width:1160px;margin:auto;padding:48px 22px;display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.public-footer-brand{display:flex;gap:12px}.public-footer-brand .brand-mark{background:rgba(255,255,255,.1)}.public-footer-brand b{font-size:15px}.public-footer-brand p{max-width:330px;color:#aeb5c8;font-size:10px;line-height:1.55}.public-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.public-footer-links b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8f98ad;margin-bottom:10px}.public-footer-links a{display:block;font-size:10px;color:#e2e5ed;margin:8px 0}.public-footer-links a:hover{color:#fff}.public-footer-bottom{max-width:1160px;margin:auto;padding:15px 22px 24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;color:#8991a4;font-size:9px}

@media(max-width:900px){
  body.app-public .topbar{position:sticky}.public-nav>a:not(.public-signup){display:none}.public-nav .public-signup{display:inline-flex!important}.public-hero{min-height:auto;padding:45px 0}.public-strip{grid-template-columns:repeat(2,1fr);margin-bottom:58px}.public-step-grid,.public-tool-grid{grid-template-columns:repeat(2,1fr)}.public-split{grid-template-columns:1fr;gap:24px}.public-section{margin:58px 0}.public-article-layout,.public-volume-app{grid-template-columns:1fr}.public-article-aside,.public-volume-summary{order:-1}.public-sticky-card{position:static}.public-volume-summary .public-sticky-card{display:grid;grid-template-columns:1fr}.public-footer-inner{grid-template-columns:1fr}.public-footer-links{gap:15px}.public-guide-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  body.app-public .shell{padding:20px 13px 50px}.public-hero h1{font-size:2.55rem}.public-hero .hero-actions{display:grid}.public-strip{grid-template-columns:1fr 1fr;border-radius:16px}.public-strip>div{padding:13px}.public-step-grid,.public-tool-grid,.public-three-grid{grid-template-columns:1fr}.public-step-card,.public-tool-card{padding:18px}.public-page-head{margin:32px auto}.public-page-head h1{font-size:2.45rem}.public-page-head .hero-actions{display:grid}.public-guide-card{min-height:0}.public-article>section{padding:19px}.public-volume-items{grid-template-columns:1fr}.public-volume-item{padding:9px}.public-footer-inner{padding:35px 16px}.public-footer-links{grid-template-columns:1fr 1fr}.public-footer-bottom{display:grid;padding:14px 16px 22px}.public-cta-panel{padding:34px 18px}.public-centered-actions{display:grid}.public-status-flow b{display:none}
}

/* ===== Étape 24 : bons plans & affiliation ===== */
.partner-more-card{border-color:#ffe0a8!important;background:linear-gradient(145deg,#fff9ec,#fff)!important}
.partner-context-panel{margin:18px 0;border-color:#eadfff;background:linear-gradient(145deg,#fbfaff,#fff)}
.partner-context-panel>.section-head{align-items:flex-start;margin-bottom:14px}.partner-context-panel>.section-head p{margin:5px 0 0;color:var(--muted);font-size:.78rem}.partner-context-panel .text-link{white-space:nowrap}
.partner-offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.partner-offer-card{display:flex;flex-direction:column;min-height:215px;padding:18px;border:1px solid #e7e2ff;border-radius:19px;background:#fff;box-shadow:0 7px 22px rgba(35,44,80,.045);transition:.17s ease}.partner-offer-card:hover{transform:translateY(-2px);border-color:#cfc7ff;box-shadow:0 12px 28px rgba(35,44,80,.08)}.partner-offer-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.partner-offer-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#f4f2ff;font-size:1.35rem}.partner-offer-badge{padding:5px 8px;border-radius:999px;background:#fff6dc;color:#8d6515;font-size:.67rem;font-weight:900}.partner-offer-card>small{margin-top:14px;color:var(--brand);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.partner-offer-card h3{font-size:1rem;margin:6px 0}.partner-offer-card p{margin:0 0 14px;color:var(--muted);font-size:.78rem;line-height:1.5;flex:1}.partner-offer-card>b{font-size:.78rem;color:var(--brand)}
.partner-mini-disclosure{margin-top:12px;color:var(--muted);font-size:.7rem;line-height:1.45}.partner-disclosure{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border-radius:17px;border:1px solid #ece0bd;background:#fffaf0}.partner-disclosure>span{font-size:1.15rem}.partner-disclosure b{display:block;font-size:.82rem}.partner-disclosure p{margin:3px 0 0;color:#766b55;font-size:.74rem;line-height:1.45}.public-partner-disclosure{max-width:1000px;margin:0 auto 28px}.partner-public-section{max-width:1100px;margin-left:auto;margin-right:auto}.partner-placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.partner-placeholder-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:18px;border-radius:18px;border:1px solid var(--line);background:#fff}.partner-placeholder-card>span{font-size:1.45rem}.partner-placeholder-card small{display:block;color:var(--brand);font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.partner-placeholder-card h3{font-size:.92rem;margin:5px 0}.partner-placeholder-card p{margin:0;color:var(--muted);font-size:.73rem;line-height:1.48}.partner-placeholder-card>b{padding:5px 8px;border-radius:999px;background:#f4f5f8;color:#7c8495;font-size:.65rem;white-space:nowrap}.partner-explain-section{max-width:1060px;margin-left:auto;margin-right:auto}.partner-product-demo{min-height:100%}.public-partner-home,.public-partner-volume{max-width:1100px;margin-left:auto;margin-right:auto}.public-partner-home .partner-context-panel,.public-partner-volume .partner-context-panel{margin:0}
@media(max-width:900px){.partner-offers-grid,.partner-placeholder-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.partner-context-panel>.section-head{display:grid;gap:8px}.partner-context-panel .text-link{white-space:normal}.partner-offers-grid,.partner-placeholder-grid{grid-template-columns:1fr}.partner-offer-card{min-height:0}.partner-placeholder-card{grid-template-columns:auto 1fr}.partner-placeholder-card>b{grid-column:2;justify-self:start}.public-partner-disclosure{margin-bottom:20px}}

/* Ajustement grille accueil v24 */
@media(min-width:1101px){.public-tool-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:1100px) and (min-width:901px){.public-tool-grid{grid-template-columns:repeat(3,1fr)}}

/* v25 — compte, pages légales et finition production */
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.account-panel,.account-data-panel,.danger-zone{padding:22px}
.account-panel .section-head,.account-data-panel .section-head{margin-bottom:16px}
.account-data-actions{display:flex;flex-wrap:wrap;gap:10px}
.account-panel label small{display:block;margin-top:6px;color:var(--muted);font-size:.82rem;line-height:1.4}
.danger-zone{border:1px solid rgba(207,58,58,.2);background:linear-gradient(180deg,#fff,#fff8f8)}
.danger-zone>div p{max-width:760px;color:var(--muted)}
.danger-zone details{margin-top:14px;border-top:1px solid rgba(207,58,58,.12);padding-top:14px}
.danger-zone summary{cursor:pointer;font-weight:800;color:#a52f2f}
.danger-delete-form{margin-top:16px;max-width:620px}
.danger-button{background:#b93232;color:#fff;border-color:#b93232}
.danger-button:hover{background:#9c2929;border-color:#9c2929}
.public-flash{max-width:1180px;margin:18px auto 0}
.legal-page-head{padding-bottom:18px}
.legal-page{max-width:900px;margin:0 auto 56px;display:grid;gap:16px}
.legal-page section{background:var(--surface,#fff);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow-sm)}
.legal-page h2{margin-top:0}
.legal-page p{line-height:1.7;color:var(--text-soft,var(--muted))}
.legal-warning{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:#fff7e8;border:1px solid #f1d6a6;color:#755016}
.legal-warning code{background:rgba(255,255,255,.8);padding:2px 6px;border-radius:7px}
.footer{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.footer-legal-links{display:inline-flex;gap:12px;flex-wrap:wrap}
.footer-legal-links a{color:inherit;opacity:.75;text-decoration:none}
.footer-legal-links a:hover{opacity:1;text-decoration:underline}
@media(max-width:760px){
  .account-grid{grid-template-columns:1fr}
  .account-panel,.account-data-panel,.danger-zone{padding:18px}
  .account-data-actions{display:grid;grid-template-columns:1fr}
  .account-data-actions .btn{width:100%;justify-content:center}
  .legal-page{margin-bottom:90px}
  .legal-page section{padding:18px}
  .footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}

/* Étape 26 — diagnostic de production */
.diagnostic-title{max-width:900px}
.diagnostic-hero{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:24px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f7f8ff 100%);box-shadow:var(--shadow-sm);margin-bottom:18px}
.diagnostic-hero.is-ready{border-color:#bfe8cf;background:linear-gradient(135deg,#fff 0%,#f2fbf6 100%)}
.diagnostic-hero.has-errors{border-color:#f0c4c4;background:linear-gradient(135deg,#fff 0%,#fff7f7 100%)}
.diagnostic-score{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:8px solid #e8eaf4;box-shadow:inset 0 0 0 1px rgba(20,28,55,.05)}
.diagnostic-hero.is-ready .diagnostic-score{border-color:#95d8af}
.diagnostic-hero.has-errors .diagnostic-score{border-color:#e9a4a4}
.diagnostic-score strong{font-size:2rem;line-height:1}.diagnostic-score span{font-size:.8rem;color:var(--muted);margin-top:13px}
.diagnostic-hero h2{margin:.2rem 0 .35rem}.diagnostic-hero p{margin:0;color:var(--muted)}
.diagnostic-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.diagnostic-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.diagnostic-summary-grid article{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px}
.diagnostic-summary-grid article span{font-size:1.35rem}.diagnostic-summary-grid article strong{font-size:1.4rem}.diagnostic-summary-grid article small{color:var(--muted);margin-left:auto}
.diagnostic-section{margin-bottom:18px}.diagnostic-list{display:grid;gap:10px}.diagnostic-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#fff}
.diagnostic-state{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#edf0f7;color:#687086}.status-ok .diagnostic-state{background:#e6f7ed;color:#16844b}.status-warn .diagnostic-state{background:#fff4d8;color:#a66a00}.status-error .diagnostic-state{background:#ffe8e8;color:#bb3030}.status-info .diagnostic-state{background:#e9f2ff;color:#2a63ae}
.diagnostic-copy b{display:block;margin-bottom:3px}.diagnostic-copy p{margin:0;color:var(--text)}.diagnostic-copy small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}
.diagnostic-next{display:flex;justify-content:space-between;align-items:center;gap:20px}.diagnostic-next h2{margin:.15rem 0 .45rem}.diagnostic-next p{margin:0;max-width:760px;color:var(--muted)}
@media(max-width:800px){.diagnostic-hero{grid-template-columns:auto 1fr}.diagnostic-actions{grid-column:1/-1;justify-content:stretch}.diagnostic-actions .btn{flex:1}.diagnostic-summary-grid{grid-template-columns:repeat(2,1fr)}.diagnostic-next{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.diagnostic-hero{grid-template-columns:1fr;text-align:center}.diagnostic-score{margin:auto}.diagnostic-actions{display:grid;grid-template-columns:1fr}.diagnostic-summary-grid{grid-template-columns:1fr 1fr}.diagnostic-summary-grid article{padding:13px}.diagnostic-summary-grid article small{display:none}}

/* ===== v0.28 — Leads & mise en relation ===== */
.lead-context-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin:16px 0;border:1px solid #dfe1ff;background:linear-gradient(135deg,#f5f4ff,#fff);border-radius:20px;box-shadow:var(--shadow-sm)}
.lead-context-banner>div:first-child{display:flex;align-items:flex-start;gap:12px}.lead-context-banner>div:first-child>span{font-size:1.7rem}.lead-context-banner b{display:block;font-size:1.02rem}.lead-context-banner p{margin:4px 0 0;color:var(--muted);line-height:1.45}.lead-context-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.leads-more-card>span,.lead-admin-more-card>span{background:#eef0ff}
.lead-public-head{max-width:920px}.lead-service-picker{display:flex;gap:10px;flex-wrap:wrap;margin:0 auto 20px;max-width:1120px}.lead-service-chip{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);text-decoration:none;font-size:.9rem;box-shadow:var(--shadow-sm)}.lead-service-chip:hover,.lead-service-chip.active{border-color:#9e9aff;background:#f2f1ff;color:#3d36c9}.lead-service-chip span{font-size:1.15rem}
.lead-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:20px;align-items:start;max-width:1120px;margin:0 auto}.lead-form-panel{padding:24px}.lead-prefill-note{padding:12px 14px;margin:0 0 18px;border-radius:14px;background:#eef8ff;color:#315477;font-size:.92rem}.lead-form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lead-form textarea{resize:vertical}.lead-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px;padding:14px;border:1px solid #dfe1ea;border-radius:14px;background:#fafbff;font-size:.9rem;line-height:1.5}.lead-consent input{width:19px!important;height:19px!important;min-width:19px;margin-top:2px}.lead-consent a{font-weight:700}.lead-submit{width:100%;padding:14px 18px}.lead-form-footnote{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.lead-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lead-side{display:grid;gap:14px;position:sticky;top:92px}.lead-how-card ol{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:14px}.lead-how-card li{display:flex;gap:11px;align-items:flex-start}.lead-how-card li>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ecebff;color:#4d46d8;flex:0 0 auto}.lead-how-card li span{padding-top:3px;color:var(--muted)}.lead-data-card,.lead-account-card{display:flex;gap:12px}.lead-data-card>span,.lead-account-card>span{font-size:1.45rem}.lead-data-card p,.lead-account-card p{color:var(--muted);margin:.35rem 0;line-height:1.45}
.lead-success-card{max-width:860px;margin:22px auto;display:flex;gap:18px;align-items:flex-start;padding:28px}.lead-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e8f8ef;font-size:1.7rem;flex:0 0 auto}.lead-success-card h2{margin:.3rem 0}.lead-success-card p{color:var(--muted);line-height:1.55}.lead-success-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.lead-public-offer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:22px;align-items:center;padding:28px;border:1px solid #dedcff;border-radius:24px;background:linear-gradient(135deg,#f6f5ff,#fff)}.lead-public-offer h2{margin:.35rem 0}.lead-public-offer p{color:var(--muted);line-height:1.55}.lead-public-offer-points{display:grid;gap:10px}.lead-public-offer-points span{padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:14px;font-weight:700}
.lead-list-title{display:flex;align-items:end;justify-content:space-between;gap:18px}.lead-user-list{display:grid;gap:14px}.lead-user-card{padding:18px 20px}.lead-user-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.lead-user-head>div{display:flex;align-items:center;gap:12px}.lead-service-icon{width:42px;height:42px;border-radius:14px;background:#f0efff;display:grid;place-items:center;font-size:1.25rem}.lead-user-head h2{margin:2px 0 0;font-size:1.08rem}.lead-user-head small{color:var(--muted)}.lead-user-facts{display:flex;gap:10px 18px;flex-wrap:wrap;margin:14px 0;color:#566079;font-size:.9rem}.lead-user-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lead-user-actions form{margin:0}.lead-transparency{display:grid;gap:4px;padding:11px 13px;margin:0 0 12px;border-radius:12px;background:#f8fafc;font-size:.86rem}.lead-transparency span{color:var(--muted)}.lead-empty{display:flex;gap:16px;align-items:flex-start}.lead-empty>span{font-size:2rem}.lead-privacy-note{display:flex;gap:12px;margin-top:16px}.lead-privacy-note p{margin:.25rem 0 0;color:var(--muted)}
.lead-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:850;background:#eef0f5;color:#5b6478;white-space:nowrap}.lead-status-pill.new{background:#eaf1ff;color:#2f64b8}.lead-status-pill.qualified{background:#fff5d8;color:#956300}.lead-status-pill.sent{background:#eeeaff;color:#5b45be}.lead-status-pill.won{background:#e5f8eb;color:#187643}.lead-status-pill.lost,.lead-status-pill.invalid,.lead-status-pill.cancelled{background:#f3f4f6;color:#6b7280}
.lead-admin-title{display:flex;align-items:end;justify-content:space-between;gap:16px}.lead-admin-title-actions{display:flex;gap:8px;flex-wrap:wrap}.lead-admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 16px}.lead-admin-stats article{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:16px}.lead-admin-stats article>span{grid-row:1/3;font-size:1.5rem}.lead-admin-stats b{font-size:1.25rem}.lead-admin-stats small{color:var(--muted)}.lead-admin-filter{padding:14px 16px}.lead-filter-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.lead-filter-form label{min-width:180px}.lead-admin-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);gap:16px;align-items:start}.lead-admin-list-panel,.lead-admin-detail-panel{padding:18px}.lead-admin-list{display:grid;gap:7px;max-height:760px;overflow:auto}.lead-admin-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border:1px solid transparent;border-radius:13px;color:var(--text);text-decoration:none}.lead-admin-row:hover,.lead-admin-row.active{background:#f7f6ff;border-color:#dcd9ff}.lead-admin-row-icon{width:36px;height:36px;border-radius:12px;background:#f1f0ff;display:grid;place-items:center}.lead-admin-row b,.lead-admin-row small{display:block}.lead-admin-row small{color:var(--muted);margin-top:2px}.lead-score{min-width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef0f5;color:#687086;font-weight:900;font-style:normal;font-size:.8rem}.lead-score.warm{background:#fff2d4;color:#996600}.lead-score.hot{background:#ffe7df;color:#b74722}.lead-score.large{width:auto;min-width:72px;height:36px;border-radius:999px;padding:0 10px}.lead-admin-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.lead-admin-detail-head h2{margin:.2rem 0}.lead-admin-detail-head p,.lead-admin-detail-head small{color:var(--muted)}.lead-admin-detail-head>div:last-child{display:flex;gap:8px;align-items:center}.lead-admin-contact{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.lead-admin-contact a,.lead-admin-contact span{padding:8px 10px;border-radius:10px;background:#f6f7fb;color:var(--text);text-decoration:none;font-size:.86rem}.lead-admin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lead-admin-facts p{margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px}.lead-admin-facts span,.lead-admin-facts b{display:block}.lead-admin-facts span{color:var(--muted);font-size:.75rem;margin-bottom:3px}.lead-admin-message{margin-top:12px;padding:13px;border-radius:12px;background:#fafbfe}.lead-admin-message p{margin:.4rem 0 0;line-height:1.5}.lead-consent-proof{display:flex;gap:10px;margin:12px 0;padding:12px;border-radius:12px;background:#edf9f1}.lead-consent-proof p{margin:.2rem 0 0;color:#4f6f5b}.lead-admin-status-form{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end;margin:16px 0;padding-top:14px;border-top:1px solid var(--border)}.lead-admin-transmissions{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.lead-transmission-list{display:grid;gap:8px;margin-bottom:12px}.lead-transmission-list article{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8f9fc;border-radius:12px}.lead-transmission-list small{display:block;color:var(--muted);margin-top:2px}.lead-transmission-list p{margin:.3rem 0 0}.lead-transmission-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.lead-admin-delete{margin-top:18px;text-align:right}.lead-admin-delete button{border:0;background:none;color:#b23a3a;text-decoration:underline;cursor:pointer}.lead-admin-detail-empty{text-align:center;padding:70px 20px;color:var(--muted)}.lead-admin-detail-empty span{font-size:2rem}.lead-admin-denied{max-width:720px;margin:28px auto;display:flex;gap:16px}.lead-admin-denied>span{font-size:2rem}
@media(max-width:980px){.lead-layout{grid-template-columns:1fr}.lead-side{position:static;grid-template-columns:repeat(3,1fr)}.lead-admin-stats{grid-template-columns:repeat(3,1fr)}.lead-admin-layout{grid-template-columns:1fr}.lead-admin-list{max-height:440px}.lead-transmission-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-transmission-form .btn{grid-column:1/-1}.lead-public-offer{grid-template-columns:1fr}}
@media(max-width:720px){.lead-context-banner{align-items:flex-start;flex-direction:column}.lead-context-actions{justify-content:flex-start}.lead-context-actions .btn{flex:1}.lead-form-two{grid-template-columns:1fr}.lead-side{grid-template-columns:1fr}.lead-list-title,.lead-admin-title{align-items:flex-start;flex-direction:column}.lead-user-head{align-items:flex-start}.lead-user-head>div{align-items:flex-start}.lead-admin-stats{grid-template-columns:repeat(2,1fr)}.lead-admin-row{grid-template-columns:36px minmax(0,1fr) auto}.lead-admin-row .lead-status-pill{grid-column:2/4;justify-self:start}.lead-admin-facts{grid-template-columns:1fr}.lead-admin-status-form{grid-template-columns:1fr}.lead-admin-detail-head{flex-direction:column}.lead-transmission-form{grid-template-columns:1fr}.lead-public-offer{padding:20px}.lead-success-card{flex-direction:column}.lead-service-picker{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.lead-service-chip{flex:0 0 auto}}

/* v0.29 — Cockpit de pilotage */
.cockpit-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.cockpit-title-actions{display:flex;gap:9px;flex-wrap:wrap}.cockpit-period{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 18px}.cockpit-period a{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-weight:800;text-decoration:none;font-size:.84rem}.cockpit-period a:hover,.cockpit-period a.active{border-color:#9e9aff;background:#f1f0ff;color:#4941d1}.cockpit-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.cockpit-kpis article{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;min-width:0;padding:16px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}.cockpit-kpis article>span{grid-row:1/3;font-size:1.55rem}.cockpit-kpis b{display:block;font-size:1.28rem;line-height:1.1}.cockpit-kpis small{display:block;color:var(--muted);margin-top:3px}.cockpit-kpis em{grid-column:1/-1;padding-top:7px;border-top:1px solid #eef0f5;color:#687086;font-size:.77rem;font-style:normal;font-weight:700}.cockpit-grid{display:grid;gap:16px;margin-bottom:16px}.cockpit-grid-main{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr)}.cockpit-grid-money,.cockpit-grid-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-panel{padding:20px}.cockpit-panel .section-head{margin-bottom:14px}.cockpit-panel .section-head h2{margin:.18rem 0}.cockpit-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;align-items:end}.cockpit-months article{min-width:0;text-align:center}.cockpit-month-bar{height:128px;border-radius:14px;background:#f1f2f7;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:9px}.cockpit-month-bar i{display:block;width:100%;min-height:8px;background:linear-gradient(180deg,#8c85ff,#625bf6);border-radius:12px 12px 0 0}.cockpit-months b{display:block;font-size:.8rem}.cockpit-months small{display:block;color:var(--muted);font-size:.69rem;line-height:1.45;margin-top:3px}.cockpit-months em{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eaf8ef;color:#257347;font-size:.68rem;font-style:normal;font-weight:850}.cockpit-health-list{display:grid;gap:13px}.cockpit-health-list>div{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center}.cockpit-health-list span b,.cockpit-health-list span small{display:block}.cockpit-health-list span small{color:var(--muted);font-size:.77rem;margin-top:2px}.cockpit-health-list strong{font-size:.9rem}.cockpit-health-list i{grid-column:1/-1;height:7px;background:#edf0f5;border-radius:999px;overflow:hidden}.cockpit-health-list i u{display:block;height:100%;background:#6962f5;border-radius:999px;text-decoration:none}.cockpit-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cockpit-funnel div{padding:14px 10px;text-align:center;border:1px solid var(--border);border-radius:14px;background:#fafbff}.cockpit-funnel b{display:block;font-size:1.35rem}.cockpit-funnel span{display:block;color:var(--muted);font-size:.77rem;margin-top:3px}.cockpit-money-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.cockpit-money-summary div{padding:12px;border-radius:13px;background:#f6f7fb}.cockpit-money-summary div.success{background:#eaf8ef}.cockpit-money-summary span,.cockpit-money-summary b{display:block}.cockpit-money-summary span{font-size:.74rem;color:var(--muted)}.cockpit-money-summary b{margin-top:3px}.cockpit-note{font-size:.78rem;color:var(--muted);line-height:1.45;margin:12px 0 0}.cockpit-score{padding:6px 9px;border-radius:999px;background:#f0efff;color:#554dc6;font-size:.74rem;font-weight:850}.cockpit-service-list,.cockpit-offer-list,.cockpit-recent-list{display:grid;gap:7px}.cockpit-service-list article,.cockpit-offer-list article,.cockpit-recent-list a{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid var(--border);border-radius:13px;text-decoration:none;color:var(--text)}.cockpit-service-list article>span,.cockpit-offer-list article>span,.cockpit-recent-list a>span{width:36px;height:36px;border-radius:11px;background:#f1f0ff;display:grid;place-items:center}.cockpit-service-list b,.cockpit-service-list small,.cockpit-offer-list b,.cockpit-offer-list small,.cockpit-recent-list b,.cockpit-recent-list small{display:block}.cockpit-service-list small,.cockpit-offer-list small,.cockpit-recent-list small{color:var(--muted);font-size:.75rem;margin-top:2px}.cockpit-service-list em,.cockpit-offer-list em,.cockpit-recent-list em{font-style:normal;color:#626b7e;font-size:.77rem;font-weight:800;white-space:nowrap}.cockpit-service-list strong,.cockpit-offer-list strong{font-size:.78rem;white-space:nowrap}.cockpit-recent-list a:hover{border-color:#c8c5ff;background:#faf9ff}.cockpit-recent-list .lead-status-pill{font-style:normal}.cockpit-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cockpit-mini-stats article{padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:15px}.cockpit-mini-stats b,.cockpit-mini-stats span{display:block}.cockpit-mini-stats b{font-size:1.05rem}.cockpit-mini-stats span{color:var(--muted);font-size:.77rem;margin-top:2px}.cockpit-more-card{background:linear-gradient(135deg,#f4f2ff,#fff)}
@media(max-width:1100px){.cockpit-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-grid-main{grid-template-columns:1fr}.cockpit-months{grid-template-columns:repeat(6,minmax(95px,1fr));overflow-x:auto;padding-bottom:4px}.cockpit-months article{min-width:95px}}
@media(max-width:760px){.cockpit-title{align-items:flex-start;flex-direction:column}.cockpit-title-actions{width:100%}.cockpit-title-actions .btn{flex:1}.cockpit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-grid-money,.cockpit-grid-bottom{grid-template-columns:1fr}.cockpit-funnel,.cockpit-money-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-service-list article,.cockpit-offer-list article,.cockpit-recent-list a{grid-template-columns:36px minmax(0,1fr) auto}.cockpit-service-list strong,.cockpit-offer-list em,.cockpit-recent-list .lead-status-pill{grid-column:2/4;justify-self:start}.cockpit-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.cockpit-kpis{grid-template-columns:1fr}.cockpit-funnel,.cockpit-money-summary,.cockpit-mini-stats{grid-template-columns:1fr}}

/* v0.30 — Journal d'activité collaboratif */
.activity-title{align-items:flex-end}.activity-stats{margin-bottom:18px}.activity-contributors{margin-bottom:18px}.activity-contributor-list{display:flex;flex-wrap:wrap;gap:10px}.activity-contributor-list>span{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:10px 13px;border:1px solid var(--border);border-radius:14px;background:#fff;min-width:150px}.activity-contributor-list i{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0efff;color:var(--primary);font-style:normal;font-weight:900}.activity-contributor-list b{font-size:.86rem}.activity-contributor-list small{font-size:.72rem;color:var(--muted)}
.activity-filterbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 18px;flex-wrap:wrap}.activity-category-filter{display:flex;gap:7px;flex-wrap:wrap}.activity-category-filter a{padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);text-decoration:none;font-size:.78rem;font-weight:800}.activity-category-filter a:hover,.activity-category-filter a.active{color:var(--primary);border-color:#cfcaff;background:#f5f4ff}
.activity-timeline-wrap{display:grid;gap:20px}.activity-day{display:grid;grid-template-columns:155px minmax(0,1fr);gap:18px}.activity-day-label{padding:10px 0;text-align:right;position:sticky;top:90px;align-self:start}.activity-day-label b,.activity-day-label small{display:block}.activity-day-label b{font-size:.9rem}.activity-day-label small{color:var(--muted);font-size:.72rem;margin-top:3px}.activity-timeline{position:relative;display:grid;gap:10px}.activity-timeline:before{content:"";position:absolute;left:22px;top:10px;bottom:10px;width:2px;background:#e8e6f3}.activity-entry{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.activity-icon{position:relative;z-index:1;width:46px;height:46px;border-radius:14px;background:#f4f3ff;display:grid;place-items:center;font-size:1.15rem}.activity-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-entry-head b{font-size:.9rem}.activity-entry-head time{color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}.activity-entry p{margin:3px 0 5px;color:#525b70;font-size:.84rem;line-height:1.4}.activity-entry-body>small{color:var(--muted);font-size:.72rem}.activity-entry-body>small strong{color:#5d6480}.activity-empty{padding:34px;text-align:center}.activity-empty>span{font-size:2rem;display:block;margin-bottom:8px}.activity-empty b{display:block;font-size:1rem}.activity-empty p{max-width:620px;margin:7px auto 0;color:var(--muted)}.activity-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0}.activity-pagination span{color:var(--muted);font-size:.8rem;font-weight:800}.activity-note{margin-top:18px;display:flex;gap:12px;align-items:flex-start}.activity-note>span{font-size:1.2rem}.activity-note p{margin:3px 0 0;color:var(--muted);font-size:.82rem}
.activity-more-card{background:linear-gradient(135deg,#f7f7ff,#fff)}
.dashboard-activity-panel{margin:18px 0}.dashboard-activity-list{display:grid}.dashboard-activity-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #eef0f5;text-decoration:none;color:var(--text)}.dashboard-activity-row:last-child{border-bottom:0}.dashboard-activity-row>span{width:36px;height:36px;border-radius:11px;background:#f4f3ff;display:grid;place-items:center}.dashboard-activity-row b,.dashboard-activity-row small{display:block}.dashboard-activity-row b{font-size:.84rem}.dashboard-activity-row small{margin-top:2px;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-activity-row time{font-size:.7rem;color:var(--muted);font-weight:800;white-space:nowrap}.dashboard-activity-row:hover b{color:var(--primary)}
@media(max-width:760px){.activity-day{grid-template-columns:1fr;gap:5px}.activity-day-label{text-align:left;position:static;padding:4px 2px}.activity-timeline:before{left:19px}.activity-entry{grid-template-columns:40px minmax(0,1fr);padding:11px}.activity-icon{width:40px;height:40px}.activity-filterbar{display:block}.activity-category-filter{margin-top:10px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.activity-category-filter a{white-space:nowrap}.dashboard-activity-row{grid-template-columns:34px minmax(0,1fr)}.dashboard-activity-row>span{width:34px;height:34px}.dashboard-activity-row time{grid-column:2;justify-self:start}.activity-contributor-list>span{min-width:calc(50% - 5px);flex:1}}
@media(max-width:430px){.activity-contributor-list>span{min-width:100%}.activity-entry-head{align-items:flex-start}.activity-entry-head time{font-size:.67rem}.activity-note{padding:15px}}

/* ===== v0.31 — arborescence & dashboard recentré ===== */
.dashboard-priority-panel{margin:16px 0 18px;padding:22px}.dashboard-priority-head{align-items:flex-end}.dashboard-priority-head p{margin:5px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5;max-width:720px}.dashboard-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.dashboard-priority-card{display:grid;align-content:start;gap:8px;min-height:190px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-priority-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dashboard-priority-card.featured{border-color:rgba(98,91,246,.38);background:linear-gradient(180deg,#fbfaff,#fff)}.dashboard-priority-card.high{border-left:4px solid var(--danger)}.dashboard-priority-card.medium{border-left:4px solid var(--primary)}.dashboard-priority-card.low{border-left:4px solid var(--success)}.dashboard-priority-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-priority-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--soft);font-size:20px}.dashboard-priority-when{font-size:.7rem;font-weight:900;color:var(--muted);background:#f6f7fa;border:1px solid var(--line);border-radius:999px;padding:5px 8px}.dashboard-priority-card.high .dashboard-priority-when{color:var(--danger);background:#fff7f8;border-color:#ffd9dd}.dashboard-priority-card b{font-size:.95rem;line-height:1.28}.dashboard-priority-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.dashboard-priority-card em{margin-top:auto;font-style:normal;font-size:.76rem;font-weight:900;color:var(--primary)}.dashboard-priority-empty{display:flex;align-items:center;gap:14px;margin-top:16px;padding:16px;border-radius:16px;background:#f7faf8;border:1px solid #dceee2}.dashboard-priority-empty>span{font-size:28px}.dashboard-priority-empty>div{flex:1}.dashboard-priority-empty b{display:block}.dashboard-priority-empty p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.dashboard-kpis{margin-top:0}.dashboard-core-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px}.dashboard-core-links>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff}.dashboard-core-links>a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--soft);font-weight:950}.dashboard-core-links b,.dashboard-core-links small{display:block}.dashboard-core-links b{font-size:.82rem}.dashboard-core-links small{margin-top:2px;color:var(--muted);font-size:.7rem}.dashboard-core-links em{font-style:normal;font-weight:900;color:var(--primary)}.more-section-admin .more-section-head>div>span{background:#fff6e8}.more-section-admin .more-card{border-style:dashed}
@media(max-width:760px){.dashboard-priority-head{display:grid}.dashboard-priority-grid,.dashboard-core-links{grid-template-columns:1fr}.dashboard-priority-card{min-height:0}.dashboard-priority-empty{align-items:flex-start;flex-wrap:wrap}.dashboard-priority-empty .btn{width:100%}.dashboard-priority-panel{padding:16px}.dashboard-core-links>a{min-height:68px}}
