@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');
:root{--dk:#3f4347;--tl:#5a797c;--tlx:#92c6cc;--tl2:#e0eef0;--co:#dfa589;--co2:#f5ede8;--br:#966e65;--br2:#ece8e7;--bg:#f5f4f2;--wh:#fff;--bd:#e0ddd8;--tx:#3f4347;--mu:#888780;--hn:#b4b2a9;--r:8px;--rl:12px}
*{box-sizing:border-box;margin:0;padding:0}
#em-app{font-family:'Lato',Arial,sans-serif;color:var(--tx);background:var(--bg);min-height:100vh;font-size:14px}

/* LOGIN */
.em-center{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:var(--bg)}
.em-login-box{background:var(--wh);border:0.5px solid var(--bd);border-radius:var(--rl);padding:2rem 1.75rem;width:100%;max-width:360px}
.em-login-top{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:0.5px solid var(--bd)}
.em-logo-sq{width:38px;height:38px;background:var(--dk);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--tlx);font-size:18px;flex-shrink:0}
.em-logo-sq.sm{width:28px;height:28px;font-size:13px;background:var(--tl)}
.em-login-name{font-size:15px;font-weight:700;color:var(--dk)}
.em-login-sub{font-size:11px;color:var(--mu);margin-top:2px}

/* TOPBAR */
.em-bar{background:var(--dk);height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:100}
.em-bar-l,.em-bar-r{display:flex;align-items:center;gap:10px}
.em-bar-name{font-size:13px;font-weight:700;color:#fff}
.em-bar-sub{font-size:10px;color:var(--tlx)}
.em-icon-btn{background:rgba(255,255,255,.1);border:none;border-radius:6px;padding:5px 8px;cursor:pointer;position:relative;font-size:16px}
.em-badge{position:absolute;top:2px;right:2px;background:var(--co);color:#fff;font-size:9px;font-weight:700;padding:1px 4px;border-radius:10px;min-width:16px;text-align:center}
.em-av{width:28px;height:28px;border-radius:50%;background:var(--tl);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.em-uname{font-size:12px;color:rgba(255,255,255,.75)}
.em-logout{background:transparent;border:0.5px solid rgba(255,255,255,.25);border-radius:5px;padding:4px 10px;font-size:11px;cursor:pointer;color:rgba(255,255,255,.6);font-family:'Lato',Arial,sans-serif}

/* LAYOUT */
.em-layout{display:flex;min-height:calc(100vh - 48px)}
.em-nav{background:#f0eeeb;border-right:0.5px solid var(--bd);padding:10px 7px;width:48px;display:flex;flex-direction:column;gap:3px;align-items:center;flex-shrink:0}
.em-nb{width:34px;height:34px;border-radius:var(--r);border:none;background:transparent;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.em-nb:hover{background:var(--bd)}
.em-nb.active{background:var(--tl2)}
.em-nav-sep{width:22px;height:0.5px;background:var(--bd);margin:4px 0}
.em-main{flex:1;padding:18px 20px;background:var(--bg)}

/* SECTIONS */
.em-s{display:none}.em-s.active{display:block}
.em-sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.em-title{font-size:17px;font-weight:700;color:var(--dk)}
.em-sub{font-size:12px;color:var(--mu);margin-top:2px}

/* STATS */
.em-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.em-stat{background:var(--wh);border:0.5px solid var(--bd);border-radius:var(--r);padding:10px 12px}
.em-sn{font-size:20px;font-weight:700}.em-sl{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}

/* TÂCHES */
.em-task{background:var(--wh);border:0.5px solid var(--bd);border-radius:var(--rl);padding:10px 12px;margin-bottom:7px;display:flex;align-items:center;gap:9px}
.em-task:hover{border-color:var(--tl)}
.em-task.is-deleg{border-color:#b2cdd0;background:#f8fdfd}
.em-task.is-done{opacity:.42}
.em-chk{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--bd);flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;user-select:none}
.em-chk:hover{border-color:var(--tl)}
.em-chk.ck{background:var(--tl);border-color:var(--tl);color:#fff}
.em-chk.dl{background:var(--br);border-color:var(--br);color:#fff}
.em-tb{flex:1;min-width:0}
.em-tn{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.em-tn.x{text-decoration:line-through;color:var(--hn)}
.em-tm{font-size:11px;color:var(--mu);display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}
.em-tbtns{display:flex;gap:4px;flex-shrink:0}

/* BADGES */
.em-b{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.b-u{background:#fde8e3;color:#7a3020;border:.5px solid #f0997b}
.b-n{background:var(--tl2);color:#2d5d60;border:.5px solid var(--tl)}
.b-a{background:var(--co2);color:#6b3e32;border:.5px solid var(--co)}
.b-d{background:var(--br2);color:#5a3a35;border:.5px solid var(--br)}
.b-ok{background:#e8f0ee;color:#2d5040;border:.5px solid var(--tl)}
.b-r{background:#fde8e3;color:#7a3020;border:.5px solid #f0997b}

/* BOUTONS */
.em-btn-full{width:100%;background:var(--dk);color:#fff;border:none;border-radius:var(--r);padding:11px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Lato',Arial,sans-serif;margin-top:4px}
.em-btn-add{background:var(--tl);color:#fff;border:none;border-radius:var(--r);padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Lato',Arial,sans-serif}
.em-btn-add:hover{background:#4d6b6e}
.em-btn-out{background:transparent;border:0.5px solid var(--bd);border-radius:var(--r);padding:8px 14px;font-size:13px;cursor:pointer;color:var(--mu);font-family:'Lato',Arial,sans-serif}
.em-btn-deleg{background:var(--br2);color:#5a3a35;border:.5px solid var(--br);border-radius:var(--r);padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Lato',Arial,sans-serif}
.em-tbtn{background:transparent;border:.5px solid var(--bd);border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer;color:var(--mu);font-family:'Lato',Arial,sans-serif}
.em-tbtn:hover{background:var(--bg)}
.em-tbtn.tl{border-color:var(--tl);color:#2d5d60;background:#f0f9fa}
.em-tbtn.gn{border-color:#8ab89a;color:#2d5040;background:#eef5f0}

/* FORMS */
.em-lbl{font-size:12px;color:var(--mu);font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px;margin-top:10px}
.em-inp{background:var(--bg);border:.5px solid var(--bd);border-radius:var(--r);padding:9px 12px;font-size:14px;color:var(--tx);font-family:'Lato',Arial,sans-serif;outline:none;width:100%}
.em-inp:focus{border-color:var(--tl)}

/* CARDS */
.em-card{background:var(--wh);border:.5px solid var(--bd);border-radius:var(--rl);padding:1rem 1.25rem;margin-bottom:14px}
.em-ct{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mu);margin-bottom:12px}
.em-div{border:none;border-top:.5px solid var(--bd);margin:12px 0}
.em-pr{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.em-pr label{font-size:12px;color:var(--mu);width:80px;flex-shrink:0}
.em-pr input{flex:1;background:var(--bg);border:.5px solid var(--bd);border-radius:var(--r);padding:8px 12px;font-size:13px;font-family:'Lato',Arial,sans-serif;outline:none}
.em-plan{background:var(--bg);border-radius:var(--r);padding:14px;font-size:13px;line-height:1.8;white-space:pre-wrap}

/* SEMAINE */
.em-wnav{display:flex;align-items:center;gap:6px}
.em-wnav button{padding:5px 10px;font-size:12px;border:.5px solid var(--bd);border-radius:var(--r);background:var(--wh);cursor:pointer;color:var(--mu);font-family:'Lato',Arial,sans-serif}
.em-wnav span{font-size:13px;font-weight:700;min-width:180px;text-align:center}
.em-wgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.em-dc{border:.5px solid var(--bd);border-radius:var(--rl);overflow:hidden}
.em-dh{padding:6px 4px;border-bottom:.5px solid var(--bd);font-size:11px;font-weight:700;text-align:center;background:#f0eeeb;color:var(--mu)}
.em-dh.td{background:var(--tl);color:#fff}
.em-db{padding:5px;background:var(--wh);min-height:60px;display:flex;flex-direction:column;gap:3px}
.em-pill{font-size:10px;padding:3px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:.5px solid transparent;cursor:pointer}
.em-pill:hover{opacity:.75}
.p-u{background:#fde8e3;color:#7a3020;border-color:#f0997b}
.p-n{background:var(--tl2);color:#2d5d60;border-color:var(--tl)}
.p-a{background:var(--co2);color:#6b3e32;border-color:var(--co)}
.p-d{background:var(--br2);color:#5a3a35;border-color:var(--br)}
.p-ok{background:#e8f0ee;color:#2d5040;border-color:var(--tl);text-decoration:line-through;opacity:.65}

/* ÉQUIPE */
.em-tf{display:flex;gap:4px}
.em-tf button{padding:5px 10px;font-size:12px;border:.5px solid var(--bd);border-radius:20px;background:var(--wh);cursor:pointer;color:var(--mu);font-family:'Lato',Arial,sans-serif}
.em-tf button.active{background:var(--dk);color:#fff;border-color:var(--dk);font-weight:700}
.em-ttable{width:100%;border-collapse:collapse}
.em-ttable th{font-size:11px;font-weight:700;color:var(--mu);background:#f0eeeb;padding:7px 5px;text-align:center}
.em-ttable th.td{background:var(--tl);color:#fff}
.em-ttable td{padding:4px;vertical-align:top;border:.5px solid var(--bd)}
.em-ttable td.tdc{background:#f8fdfd;border-color:var(--tl)}
.em-pc{display:flex;align-items:center;gap:6px;padding:6px 7px}
.em-sav{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.av0{background:var(--tl)}.av1{background:var(--br)}.av2{background:var(--dk)}.av3{background:var(--co);color:#5a3a35}.av4{background:var(--tlx);color:#2d5d60}
.em-pn{font-size:11px;font-weight:700;white-space:nowrap}

/* NOTIFS */
.em-ni{background:var(--wh);border:.5px solid var(--bd);border-radius:var(--rl);padding:12px 14px;margin-bottom:8px;display:flex;gap:12px}
.em-ni.unr{border-color:var(--co);background:#fef9f7}
.em-nicon{width:32px;height:32px;border-radius:50%;background:var(--co);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.em-ntitle{font-size:13px;font-weight:700}
.em-nmsg{font-size:13px;color:var(--tl);font-weight:700;margin-top:2px}
.em-ntime{font-size:11px;color:var(--hn);margin-top:4px}

/* ADMIN */
.em-ar{background:var(--wh);border:.5px solid var(--bd);border-radius:var(--r);padding:10px 14px;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.em-rb{font-size:10px;font-weight:700;text-transform:uppercase;padding:3px 10px;border-radius:20px}
.em-rb.adm{background:var(--co2);color:#6b3e32}.em-rb.col{background:var(--tl2);color:#2d5d60}

/* CHIPS */
.em-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.em-chip{padding:5px 12px;border-radius:20px;border:.5px solid var(--bd);background:transparent;cursor:pointer;font-size:13px;color:var(--mu);font-family:'Lato',Arial,sans-serif}
.em-chip.sel{background:var(--br2);border-color:var(--br);color:#5a3a35;font-weight:700}

/* MODAL */
.em-overlay{position:fixed;inset:0;background:rgba(63,67,71,.5);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.em-modal{background:var(--wh);border:.5px solid var(--bd);border-radius:var(--rl);padding:1.5rem;width:100%;max-width:440px;max-height:90vh;overflow-y:auto}
.em-mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.em-mh h3{font-size:16px;font-weight:700}
.em-mh button{background:transparent;border:none;font-size:18px;cursor:pointer;color:var(--mu)}
.em-mf{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}

/* MESSAGES */
.em-msg-ok{background:#e8f0ee;color:#2d5040;border:.5px solid #8ab89a;border-radius:var(--r);padding:9px 12px;font-size:13px}
.em-msg-err{background:#fde8e3;color:#7a3020;border:.5px solid #f0997b;border-radius:var(--r);padding:9px 12px;font-size:13px}
.em-empty{color:var(--hn);font-size:14px;text-align:center;padding:3rem 0}

/* RESPONSIVE */
@media(max-width:600px){.em-stats{grid-template-columns:repeat(2,1fr)}.em-wgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.em-uname{display:none}}

/* Badge reporté */
.b-rep { background: #fdf0e0; color: #8a5000; border: 0.5px solid #f0c060; }

/* Tâche reportée — légère teinte orange dans la semaine */
.em-pill.p-rep { background: #fdf0e0; color: #8a5000; border-color: #f0c060; }
