:root{--navy:#131b2c;--orange:#e29237;--paper:#fafafa;--sky:#67aae9;--navy-2:#1d2840;--navy-3:#2a3754;--ink:#131b2c;--muted:#5d6678;--line:#e3e6eb;--card:#ffffff;--sky-soft:#e8f1fc;--sky-ink:#2b6cb0;--orange-soft:#fcf0e1;--orange-ink:#a8621a;--ok:#2f9e6e;--ok-soft:#e6f4ee;--late:#c8553d;--late-soft:#fbe5e0;--radius:10px;--side:248px}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-size:14px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{min-height:100dvh}.app,.side{display:flex}.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--navy);color:#cfd6e4;flex-direction:column;overflow-y:auto;z-index:10}.brand{padding:18px 18px 10px;display:flex;align-items:center;gap:10px}.brand img{width:52px;height:52px;border-radius:10px}.brand b{color:#fff;font-size:16px;display:block}.brand small{color:#8e9ab2;font-size:12px}.side nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px}.navi{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#cfd6e4}.navi:hover{background:var(--navy-2)}.navi.on{background:var(--navy-3);color:#fff}.navi.on svg{color:var(--sky)}.navi .ext{margin-left:auto;color:#7d89a3;display:inline-flex}.navi .count{margin-left:auto;background:var(--orange);color:var(--navy);border-radius:10px;font-size:11px;font-weight:700;padding:1px 7px}.navi.proj{font-size:13px;padding:7px 12px}.navi.proj span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side h6{margin:16px 22px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7d89a3;font-weight:600}.me{margin-top:auto;padding:14px 18px;border-top:1px solid var(--navy-3);display:flex;align-items:center;gap:10px;font-size:13px}.me small{color:#8e9ab2;display:block}.logout{border:0;background:none;color:#8e9ab2;font-size:12px;padding:4px 6px;border-radius:6px}.logout:hover{background:var(--navy-2);color:#fff}.compte-m{display:none}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.main{flex:1 1;margin-left:var(--side);min-width:0;flex-direction:column}.main,.top{display:flex}.top{position:-webkit-sticky;position:sticky;top:0;z-index:5;height:60px;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--line);background:#fff}.top h1{font-size:18px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .mlogo{display:none}.quick{flex:1 1;max-width:480px;margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--paper);height:38px;color:var(--muted)}.quick input{border:0;background:none;outline:none;flex:1 1;min-width:0;color:var(--ink)}.quick:focus-within{border-color:var(--sky)}.iconbtn{position:relative;border:0;background:none;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;flex:none}.iconbtn:hover{background:var(--paper)}.badge-num{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--orange);color:var(--navy);font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.badge{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--orange);border:2px solid #fff}.content{flex:1 1;padding:22px}.btn{border:0;border-radius:8px;padding:9px 14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn.primary{background:var(--orange);color:var(--navy)}.btn.soft{background:var(--sky-soft);color:var(--navy)}.av{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;font-size:12px;flex:none;color:var(--navy)}.av.sm{width:22px;height:22px;font-size:10px}.empty{color:var(--muted);padding:14px}.bottom,.fab{display:none}.creer{position:relative;flex:none}.creer-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:300px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(19,27,44,.18);padding:6px}.creer-menu a{display:flex;gap:12px;align-items:center;padding:10px;border-radius:8px}.creer-menu a:hover{background:var(--paper)}.creer-menu .ic{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange-ink);flex:none}.creer-menu b{display:block}.creer-menu small{color:var(--muted);font-size:12px}.creer.fab .creer-menu{position:fixed;right:16px;top:auto;bottom:calc(142px + env(safe-area-inset-bottom));width:min(300px,calc(100vw - 32px))}.btn.danger{background:#fff;color:var(--late);border:1px solid var(--late-soft)}.btn.danger:hover{background:var(--late-soft)}.corbeille{color:var(--muted)}.corbeille:hover{color:var(--late);background:var(--late-soft)}.corbeille.mini{border:0;background:none;width:26px;height:26px;border-radius:6px;display:inline-grid;place-items:center;flex:none;opacity:.55}.corbeille.mini:hover{opacity:1}.croix{border:0;background:none;width:26px;height:26px;border-radius:6px;display:inline-grid;place-items:center;flex:none;color:var(--muted);opacity:0;transition:opacity .15s}.croix:hover{color:var(--late);background:var(--late-soft)}.card{position:relative}.card .croix{position:absolute;top:6px;right:6px}.card .t,.card .tags{padding-right:22px}.card:hover .croix,.croix:focus-visible,.row:hover .croix{opacity:1}@media (hover:none){.croix{opacity:.5}}.select{border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:#fff;max-width:100%}.select:focus{outline:none;border-color:var(--sky)}.ligne-suppr{display:flex;align-items:center;gap:6px}.ligne-suppr>:first-child{flex:1 1;min-width:0}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;color:var(--muted)}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.tag.vitres{background:var(--sky-soft);color:var(--sky-ink)}.tag.reno{background:var(--orange-soft);color:var(--orange-ink)}.tag.urgent{background:var(--late-soft);color:var(--late)}.tag.interne{background:#eef0f4;color:var(--navy)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.seg a{padding:6px 12px;color:var(--muted)}.seg a.on{background:var(--navy);color:#fff}.feed-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:22px;gap:22px;max-width:1100px}.day{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px}.ev{display:flex;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px}.ev .ic{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:none}.ic.drive{background:var(--sky-soft);color:var(--sky-ink)}.ic.task{background:var(--orange-soft);color:var(--orange-ink)}.ic.msg{background:#eef0f4;color:var(--navy)}.ic.client{background:var(--ok-soft);color:var(--ok)}.ev p{margin:0;line-height:1.45}.ev p a{color:var(--sky-ink);font-weight:600;overflow-wrap:anywhere}.ev .dossier,.ev .meta{color:var(--muted)}.ev .meta{font-size:12px;margin-top:3px}.ev .file{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;max-width:100%}.ev .file,.ev .quote{margin-top:8px;font-size:13px;background:var(--paper)}.ev .quote{padding:8px 10px;border-left:3px solid var(--sky);border-radius:0 6px 6px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.panel h3{margin:0 0 10px;font-size:14px}.mini{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}.mini:first-of-type{border-top:0}.mini>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.due.late{color:var(--late);font-weight:600}.mention{color:var(--sky-ink);background:var(--sky-soft);border-radius:4px;padding:0 3px;font-weight:600}.ph{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ph h2{margin:0;font-size:20px}.client-link{font-size:13px;color:var(--sky-ink);background:var(--sky-soft);padding:3px 10px;border-radius:999px}.views{margin-left:auto}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px;max-width:1100px}.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px}.pcard:hover{border-color:var(--sky)}.pcard b{display:flex;align-items:center;gap:8px}.h-sec,.pcard small{color:var(--muted)}.h-sec{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:22px 0 10px}.h-sec:first-child{margin-top:0}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:10px}.col{width:280px;flex:none;background:#eef0f3;border-radius:var(--radius);padding:10px}.col h4{margin:2px 4px 10px;font-size:13px;display:flex;align-items:center;gap:8px}.col h4 span{color:var(--muted);font-weight:500}.col.over{outline:2px dashed var(--sky)}.card{display:block;background:#fff;border-radius:8px;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 2px rgba(19,27,44,.08);cursor:-webkit-grab;cursor:grab;border:1px solid transparent}.card:hover{border-color:var(--sky)}.card.dragging{opacity:.4}.card .tags{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.card .t{font-weight:600;line-height:1.35}.card.done .t{text-decoration:line-through;color:var(--muted)}.card .foot{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--muted)}.card .foot span{display:inline-flex;align-items:center;gap:3px}.card .foot .av{margin-left:auto}.late-txt{color:var(--late);font-weight:600}.list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-width:960px}.list .grp{background:var(--paper);padding:8px 14px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--line)}.list .grp:first-child{border-top:0}.row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid var(--line)}.row:hover{background:#fbfbfc}.row .t{flex:1 1;min-width:0}.row .t small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.check{width:20px;height:20px;border-radius:50%;border:2px solid #b8bfcc;flex:none;background:#fff;padding:0;display:grid;place-items:center;color:#fff}.check.p1{border-color:var(--late)}.check.p2{border-color:var(--orange)}.check.done{background:var(--ok);border-color:var(--ok)}.scrim{position:fixed;inset:0;background:rgba(19,27,44,.35);z-index:30}.drawer{position:fixed;top:0;right:0;bottom:0;width:580px;max-width:100%;background:#fff;z-index:31;flex-direction:column;box-shadow:-10px 0 30px rgba(19,27,44,.2)}.dh,.drawer{display:flex}.dh{align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.db{flex:1 1;overflow:auto;padding:18px}.db h2{margin:0 0 14px;font-size:19px;line-height:1.3}.db .desc{color:var(--muted);line-height:1.5;margin:-6px 0 16px;white-space:pre-line}.props{display:grid;grid-template-columns:110px 1fr;grid-gap:9px 12px;gap:9px 12px;font-size:13px;margin:0 0 18px}.props dt{color:var(--muted)}.props dd{margin:0;gap:6px;flex-wrap:wrap}.props dd,.sec{display:flex;align-items:center}.sec{font-size:13px;font-weight:700;margin:18px 0 8px;gap:8px}.sec span{color:var(--muted);font-weight:500}.cl{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px;width:100%;border:0;background:none;text-align:left}.cl.done span:last-child{text-decoration:line-through;color:var(--muted)}.box{width:16px;height:16px;border-radius:4px;border:2px solid #b8bfcc;flex:none}.cl.done .box{background:var(--ok);border-color:var(--ok)}.bar{height:5px;background:#eef0f3;margin:4px 0 8px}.bar,.bar i{border-radius:3px}.bar i{display:block;height:100%;background:var(--ok)}.att{flex-wrap:wrap}.att,.att a{display:flex;gap:8px}.att a{align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px}.thumb{width:30px;height:30px;border-radius:6px;background:linear-gradient(135deg,#9cc4ee,#67aae9 60%,#3d7fc4)}.msgs{flex-direction:column;gap:12px}.m,.msgs{display:flex}.m{gap:10px}.m .b{background:var(--paper);border:1px solid var(--line);border-radius:4px 10px 10px 10px;padding:8px 11px;line-height:1.45;font-size:13px;white-space:pre-wrap}.m .who{font-size:12px;color:var(--muted);margin-bottom:3px}.m .who b{color:var(--ink)}.react{display:inline-flex;gap:4px;margin-top:5px;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:1px 8px;background:#fff}.composer{border-top:1px solid var(--line);padding:12px 18px;display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1 1;resize:none;border:1px solid var(--line);border-radius:8px;padding:9px 11px;height:42px;outline:none}.composer textarea:focus{border-color:var(--sky)}.cgrid{grid-template-columns:320px minmax(0,1fr);grid-gap:18px;gap:18px;max-width:1100px}.cgrid,.kv{display:grid}.kv{font-size:13px;grid-template-columns:90px 1fr;grid-gap:8px;gap:8px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}.ctop{display:flex;align-items:center;gap:14px;margin-bottom:16px}.ctop .big{width:52px;height:52px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}.ctop h2{margin:0;font-size:20px}.ctop small{color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}@media (max-width:760px){.side{display:none}.main{margin-left:0}.top{flex-wrap:wrap;height:auto;gap:6px;border-bottom:0;padding:calc(10px + env(safe-area-inset-top)) 14px 0;background:var(--navy);color:#fff}.top h1{font-size:17px;flex:1 1}.top .mlogo{display:block;width:32px;height:32px;border-radius:8px}.top .iconbtn:hover{background:var(--navy-2)}.top .badge{border-color:var(--navy)}.top .creer.bouton{display:none}.top .compte-m{display:grid;color:#fff}.quick{order:5;flex-basis:100%;max-width:none;margin:4px 0 10px;background:var(--navy-2);border-color:var(--navy-3);color:#9aa6bd}.quick input{color:#fff;font-size:16px}.content{padding:14px 12px calc(96px + env(safe-area-inset-bottom))}.bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.bottom a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--muted);padding:4px 0}.bottom a.on{color:var(--navy);font-weight:700}.bottom a.on svg{color:var(--orange)}.fab{display:grid;place-items:center;position:fixed;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:21;width:54px;height:54px;border-radius:16px;background:var(--orange);color:var(--navy);border:0;box-shadow:0 6px 16px rgba(226,146,55,.45)}.cgrid,.feed-wrap{grid-template-columns:1fr}.feed-side{display:none}.ph h2{font-size:17px;flex-basis:100%}.views{margin-left:0}.board{scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 10px}.col{width:84vw;scroll-snap-align:start}.drawer{width:100%}.dh{padding-top:calc(12px + env(safe-area-inset-top))}.composer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.composer textarea{font-size:16px}.props{grid-template-columns:96px 1fr}.hide-m{display:none!important}}.login{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--navy)}.login-card{width:min(380px,100%);background:#fff;border-radius:16px;padding:28px 24px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.35)}.login-card img{width:140px;height:140px;border-radius:12px}.login-card h1{font-size:20px;margin:14px 0 4px}.login-card p{color:var(--muted);margin:0 0 22px;line-height:1.5}.google{width:100%;justify-content:center;border:1px solid var(--line);background:#fff;padding:12px 14px;font-size:15px}.google:hover{border-color:var(--sky);background:var(--paper)}.alerte{background:var(--late-soft);color:var(--late);border-radius:8px;padding:10px 12px;font-size:13px;margin:0 0 16px;text-align:left}.login-card small{display:block;color:var(--muted);margin-top:18px;font-size:12px}.formulaire{max-width:820px;display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 18px;gap:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.formulaire .large{grid-column:1/-1}.champ{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}.champ>span{font-size:13px;font-weight:600}.champ>span small{color:var(--muted);font-weight:400}.formulaire .select,.formulaire input:not([type=checkbox]):not([type=radio]),.formulaire textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;font-size:14px}.formulaire .select:focus,.formulaire input:focus,.formulaire textarea:focus{outline:none;border-color:var(--sky)}.formulaire textarea{resize:vertical}.cases{display:flex;flex-wrap:wrap;gap:8px}.case,.cases{align-items:center}.case{display:inline-flex;gap:6px;font-size:13px;cursor:pointer}.cases .petit{flex:1 1;min-width:220px}.couleurs{display:flex;gap:10px;flex-wrap:wrap}.pastille{width:30px;height:30px;border-radius:50%;cursor:pointer;position:relative;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}.pastille input{position:absolute;opacity:0;inset:0;cursor:pointer}.pastille:has(input:checked){outline:3px solid var(--navy);outline-offset:2px}.seg-radio{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:-moz-fit-content;width:fit-content}.seg-radio label{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--muted)}.seg-radio label:has(input:checked){background:var(--navy);color:#fff}.seg-radio input{display:none}.actions-form{display:flex;gap:10px;justify-content:flex-end}@media (max-width:760px){.formulaire{grid-template-columns:1fr;padding:14px}.formulaire .select,.formulaire input:not([type=checkbox]):not([type=radio]),.formulaire textarea{font-size:16px}}.notif-activation p{margin:0 0 10px;line-height:1.5;color:var(--muted)}.notif-activation .ok{color:var(--ok);font-weight:600}.notif-activation .info{margin-top:10px;font-size:13px}.notif{display:flex;gap:12px;padding:12px 14px;border-top:1px solid var(--line)}.notif:first-child{border-top:0}.notif.nonlue{background:var(--sky-soft)}.notif .ic{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:none;background:var(--orange-soft);color:var(--orange-ink)}.notif b{display:block}.notif p{margin:2px 0 0;color:var(--muted);font-size:13px;white-space:pre-line}.notif small{color:var(--muted);font-size:12px}@media (max-width:760px){.top .badge-num{border-color:var(--navy)}}