:root{--ink:#232333;--muted:#7d7e90;--line:#e7e7ef;--blue:#356ea8;--nav:#20242f;--bg:#f6f7fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Inter,Segoe UI,Arial,sans-serif;display:grid;grid-template-columns:230px 1fr;min-height:100vh}button,input,select,textarea{font:inherit}aside{background:var(--nav);color:#fff;padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800}.brand>b{width:38px;height:38px;background:linear-gradient(135deg,#2f76b9,#59b6ce);border-radius:10px;display:grid;place-items:center}.brand small{display:block;font-size:9px;color:#99a2b3;margin-top:3px;font-weight:500}nav{display:grid;gap:5px;margin-top:38px}nav button{border:0;background:transparent;color:#b7becb;padding:12px;border-radius:8px;text-align:left;cursor:pointer}nav button:hover,nav button.active{background:#303744;color:white}.user{margin-top:auto;border-top:1px solid #3a404b;padding-top:18px;display:flex;gap:10px;align-items:center}.user>span,.person>span{width:36px;height:36px;border-radius:50%;background:#d8e7ee;color:#356277;display:grid;place-items:center;font-size:11px;font-weight:700}.user b,.user small{display:block;font-size:10px}.user small{color:#99a2b3;margin-top:3px}main{padding:0 32px 50px;min-width:0}header{height:110px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}header p,.section-title small{font-size:9px;color:var(--blue);font-weight:800;letter-spacing:1px;margin:0 0 5px}header h1{margin:0 0 5px;font-size:24px}header>div:last-child{display:flex;gap:10px}button{cursor:pointer}.primary,.ghost{border:0;border-radius:8px;padding:11px 15px;font-weight:700;font-size:12px}.primary{background:var(--blue);color:white}.ghost{background:white;border:1px solid var(--line)}#notice{position:fixed;z-index:5;top:18px;left:50%;transform:translateX(-30%);padding:11px 16px;border-radius:8px;color:white;font-size:12px}#notice.ok{background:#238466}#notice.error{background:#c44b55}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stats article{background:white;border:1px solid var(--line);border-radius:10px;padding:15px;display:flex;gap:12px;align-items:center}.stats i{font-style:normal;width:37px;height:37px;border-radius:9px;background:#edf4fa;color:var(--blue);display:grid;place-items:center}.stats b,.stats span{display:block}.stats b{font-size:20px}.stats span{font-size:9px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-title h2{margin:0;font-size:16px}.link{border:0;background:none;color:var(--blue)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.project,.panel{background:white;border:1px solid var(--line);border-radius:11px;padding:15px}.project>div:first-child{display:flex;justify-content:space-between;align-items:center}.code{font-size:9px;color:white;background:var(--blue);padding:6px 8px;border-radius:6px;font-weight:800}.project em{font-size:8px;font-style:normal;border-radius:5px;padding:4px 6px}.green{background:#e7f6ef;color:#258361}.amber{background:#fff2db;color:#a96c16}.red{background:#fbe9eb;color:#c34652}.project h3{font-size:12px;margin:13px 0 5px}.project p{font-size:9px;line-height:1.5;color:var(--muted);height:42px;overflow:hidden}.progress-label{display:flex;justify-content:space-between;font-size:9px}.bar{height:5px;background:#ececf2;border-radius:4px;margin-top:7px;overflow:hidden}.bar i{display:block;background:var(--blue);height:100%}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);gap:18px;margin-top:25px}.panel{padding:17px}.sidecol{display:grid;gap:18px;align-content:start}.task{display:grid;grid-template-columns:18px 24px minmax(220px,1fr) 65px 74px;gap:9px;align-items:center;padding:11px 0;border-top:1px solid #f0eff4}.check{width:18px;height:18px;border:1px solid #d0d2db;background:white;border-radius:5px;padding:0;color:white}.check.done{background:var(--blue)}.task b,.task small{display:block}.task b{font-size:10px}.task small{font-size:8px;color:var(--muted);margin-top:4px}.priority{font-size:8px;font-style:normal;text-align:center;padding:4px;border-radius:5px;background:#edf3f7}.priority.haute,.priority.critique{background:#fbe9eb;color:#c34652}.priority.moyenne{background:#fff2db;color:#a96c16}.task time{font-size:8px;color:var(--muted)}.meeting{display:flex;gap:12px}.meeting time{border-right:1px solid var(--line);padding-right:12px}.meeting time b,.meeting time span{display:block;text-align:center}.meeting time b{font-size:24px;color:var(--blue)}.meeting time span{font-size:8px}.meeting h3{font-size:11px;margin:2px 0}.meeting p,.agenda{font-size:8px;color:var(--muted);line-height:1.6}.agenda{background:#f7f8fb;border-radius:7px;padding:10px;margin-top:12px}.person{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #f0eff4}.person b,.person small{display:block;font-size:9px}.person small{font-size:8px;color:var(--muted);margin-top:3px}dialog{border:0;border-radius:12px;padding:0;width:min(500px,calc(100% - 30px));box-shadow:0 24px 70px #10121d44}dialog::backdrop{background:#15172288}dialog form{padding:20px}.modal-head,.modal-actions,.formrow{display:flex;justify-content:space-between;gap:12px}.modal-head h2{margin:0}.modal-head button{border:0;background:none;font-size:20px}label{display:grid;gap:5px;font-size:10px;font-weight:700;margin-top:14px}input,select,textarea{width:100%;border:1px solid #d8dae2;border-radius:7px;padding:9px;background:white}.formrow>label{flex:1}.modal-actions{justify-content:flex-end;margin-top:20px}.modal-actions button{border:0;border-radius:7px;padding:9px 13px}.empty{color:var(--muted)}@media(max-width:1050px){.projects{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:720px){body{display:block}aside{position:static;height:auto;padding:14px}.brand{margin-bottom:12px}nav{display:flex;overflow:auto;margin:0}.user{display:none}main{padding:0 14px 30px}header{height:auto;padding:20px 0;align-items:flex-start}.projects{display:flex;overflow:auto}.project{min-width:240px}.stats{gap:8px}.task{grid-template-columns:18px 22px 1fr 62px}.task time{display:none}}
