:root{--bg:#08090a;--panel:#0f1011;--surface:#191a1b;--surface2:#222326;--text:#f7f8f8;--muted:#8a8f98;--soft:#d0d6e0;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.05);--accent:#7170ff;--accent2:#5e6ad2;--green:#10b981;--red:#ff6363;--amber:#f59e0b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -10%,rgba(113,112,255,.22),transparent 30%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-feature-settings:"cv01","ss03";min-height:100vh}a{color:inherit}.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 18px;background:rgba(8,9,10,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line2)}.brand{text-decoration:none;font-weight:590;letter-spacing:-.2px}.brand span{color:var(--accent);font-size:.78rem}nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}nav a,nav button.ghost{font-size:13px;color:var(--soft);text-decoration:none;background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:8px;padding:8px 10px}.page{width:min(1440px,100%);margin:0 auto;padding:16px}.compact-shell{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.side-rail{position:sticky;top:70px;display:grid;gap:16px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:18px;padding:16px}.eyebrow{margin:0 0 6px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:590}h1{font-size:34px;line-height:1;margin:0 0 8px;letter-spacing:-.7px;font-weight:510}h2{font-size:17px;margin:0;font-weight:590;letter-spacing:-.2px}.muted,p{color:var(--muted);margin:.25rem 0;line-height:1.45}.quick-actions{display:grid;grid-template-columns:1fr;gap:8px}.quick-actions button,button,.button{border:1px solid var(--line);border-radius:9px;background:var(--accent2);color:#fff;padding:10px 12px;font-weight:590;cursor:pointer}.quick-actions .secondary,.secondary{background:rgba(255,255,255,.04);color:var(--soft)}.mini-nav{display:grid;gap:8px}.click-card{cursor:pointer;transition:.16s ease;user-select:none}.click-card:hover{transform:translateY(-1px);background:rgba(255,255,255,.055)!important;border-color:rgba(113,112,255,.45)!important}.mini-nav .click-card{display:grid;gap:3px;background:rgba(255,255,255,.025);border:1px solid var(--line2);border-radius:12px;padding:12px}.mini-nav span,small{color:var(--muted);font-size:12px}.main-board{display:grid;gap:14px}.board-head{display:flex;justify-content:space-between;gap:16px;align-items:end;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:18px;padding:14px}.smart-search{display:grid;grid-template-columns:minmax(220px,1.4fr) 130px 130px auto;gap:8px;align-items:center}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);color:var(--text);padding:10px 11px;font:inherit;font-size:14px}textarea{resize:vertical}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-card{display:flex;align-items:center;gap:13px;padding:14px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:16px}.metric-card strong{display:block;margin-bottom:4px}.metric-card p{font-size:12px}.metric-ring{--value:0;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:conic-gradient(var(--accent) calc(var(--value)*1%),rgba(255,255,255,.08) 0);position:relative}.metric-ring:after{content:"";position:absolute;inset:7px;background:var(--panel);border-radius:50%;border:1px solid var(--line2)}.metric-ring span{z-index:1;font-weight:590}.metric-ring.green{background:conic-gradient(var(--green) calc(var(--value)*1%),rgba(255,255,255,.08) 0)}.metric-ring.red{background:conic-gradient(var(--red) calc(var(--value)*1%),rgba(255,255,255,.08) 0)}.danger-card{border-color:rgba(255,99,99,.28)}.panel{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:16px}.compact-panel{padding:14px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-title span,.panel-title a,.link-button{font-size:12px;color:var(--muted);background:none;border:0;padding:0;text-decoration:none}.status-bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:92px 1fr 26px;gap:10px;align-items:center;padding:6px;border-radius:9px}.bar-row span{font-size:13px;color:var(--soft)}.bar-row b{font-size:13px;color:var(--text);text-align:right}.bar-track{height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:inherit}.progress-strip{height:8px;display:flex;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.06);margin-top:12px}.progress-strip span{display:block}.progress-strip .done{background:var(--green)}.progress-strip .open{background:var(--accent)}.progress-strip .late{background:var(--red)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.focus-list{display:grid;gap:8px}.focus-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.02)}.focus-item strong{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-item em{font-style:normal;font-size:12px;color:var(--soft);background:rgba(255,255,255,.04);border:1px solid var(--line2);padding:4px 7px;border-radius:999px}.dot,.health-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.dot.haute,.health-dot.critique{background:var(--red)}.dot.moyenne,.health-dot.a-surveiller{background:var(--amber)}.dot.basse,.health-dot.ok{background:var(--green)}.empty{color:var(--muted);font-style:italic}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal-card{width:min(560px,100%);max-height:88vh;overflow:auto;background:#111214;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 24px 90px rgba(0,0,0,.55)}.modal-card h2{font-size:22px;margin-bottom:14px}.modal-close{float:right;width:34px;height:34px;border-radius:50%;padding:0;background:rgba(255,255,255,.04)}.stack{display:grid;gap:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:grid;gap:6px;color:var(--muted);font-size:13px}.notice,.error{padding:10px 12px;border-radius:12px;margin-bottom:12px}.notice{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25)}.error{background:rgba(255,99,99,.12);border:1px solid rgba(255,99,99,.25)}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.stats-grid article{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:14px;padding:12px}.stats-grid strong{display:block;font-size:24px}.layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto}.kanban-column{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:16px;padding:12px}.kanban-card,.brief-list li{background:rgba(255,255,255,.025);border:1px solid var(--line2);border-radius:12px;padding:10px;margin-bottom:8px}.brief-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}@media(max-width:1050px){.compact-shell{grid-template-columns:1fr}.side-rail{position:relative;top:0}.smart-search{grid-template-columns:1fr 1fr}.dashboard-grid,.two-columns,.layout-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.page{padding:10px}.topbar{display:grid;align-items:start}.smart-search,.form-row{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.board-head{display:grid}.metric-card{padding:12px}.focus-item{grid-template-columns:auto 1fr}.focus-item em{grid-column:2}.kanban-board{grid-template-columns:repeat(5,260px)}h1{font-size:30px}}.page-actions{position:sticky;top:52px;z-index:40;background:rgba(8,9,10,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line2)}.pa-inner{width:min(1440px,100%);margin:0 auto;padding:8px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pa-label{color:var(--muted);font-size:12px}.page-actions button{padding:7px 11px;font-size:13px;border-radius:8px}.page-actions .secondary{background:var(--surface2)}.edit-item{cursor:pointer;transition:border-color .15s,background .15s}.edit-item:hover{border-color:var(--accent);background:rgba(113,112,255,.08)}.status-chip{font-size:11px;color:var(--soft);background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:999px;padding:2px 9px;white-space:nowrap}.open-link{font-size:12px;color:var(--accent);text-decoration:none;white-space:nowrap;border:1px solid var(--line2);border-radius:8px;padding:4px 8px}.open-link:hover{border-color:var(--accent)}.status-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.chip{font-size:12px;text-decoration:none;color:var(--soft);background:rgba(255,255,255,.03);border:1px solid var(--line2);border-radius:999px;padding:5px 12px}.chip.active,.chip:hover{border-color:var(--accent);color:#fff;background:rgba(113,112,255,.16)}.two-buttons{grid-template-columns:1fr auto;gap:8px;align-items:end}.two-buttons .danger{background:transparent;border-color:var(--red);color:var(--red)}.two-buttons .danger:hover{background:rgba(255,99,99,.12)}.hero-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bar-track i.s-1{background:var(--muted)}.bar-track i.s-2{background:var(--accent)}.bar-track i.s-3{background:var(--red)}.bar-track i.s-4{background:var(--amber)}.bar-track i.s-5{background:var(--green)}.health.ok,.health-dot.ok{color:var(--green)}.health.a-surveiller,.health-dot.a-surveiller{color:var(--amber)}.health.critique,.health-dot.critique{color:var(--red)}.health-dot{width:9px;height:9px;border-radius:50%;background:currentColor;display:inline-block}
/* ---- V5 additions ---- */
.nav-toggle{display:none;background:rgba(255,255,255,.04);border:1px solid var(--line2);border-radius:8px;padding:8px 12px;color:var(--text);cursor:pointer}
nav a.active{background:rgba(113,112,255,.18);border-color:rgba(113,112,255,.45);color:#fff}
.page-actions{position:sticky;top:52px;z-index:40;background:rgba(8,9,10,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line2)}
.pa-inner{width:min(1440px,100%);margin:0 auto;padding:8px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pa-label{color:var(--muted);font-size:12px}
.page-actions button{padding:7px 11px;font-size:13px;border-radius:8px}
.page-actions .secondary{background:var(--surface2)}
.edit-item{cursor:pointer;transition:border-color .15s,background .15s}
.edit-item:hover{border-color:var(--accent);background:rgba(113,112,255,.08)}
.edit-mini{font-size:11px;padding:4px 9px;border-radius:7px;background:var(--surface2);color:var(--soft)}
.fi-main{min-width:0;display:grid;gap:3px}
.status-chip{font-size:11px;color:var(--soft);background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:999px;padding:2px 9px;white-space:nowrap}
.status-chip.late{color:var(--red);border-color:rgba(255,99,99,.4)}
.late-flag{color:var(--red)}
.tag-line{display:flex;gap:5px;flex-wrap:wrap}
.tag{font-size:10.5px;color:var(--soft);background:rgba(113,112,255,.12);border:1px solid rgba(113,112,255,.25);border-radius:6px;padding:1px 7px;text-decoration:none}
.mini-progress{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:4px}
.mini-progress.big{height:9px;margin:8px 0}
.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:inherit}
.open-link,.status-chips{display:flex}
.status-chips{gap:6px;flex-wrap:wrap;margin-top:10px}
.chip{font-size:12px;text-decoration:none;color:var(--soft);background:rgba(255,255,255,.03);border:1px solid var(--line2);border-radius:999px;padding:5px 12px}
.chip.active,.chip:hover{border-color:var(--accent);color:#fff;background:rgba(113,112,255,.16)}
.two-buttons{grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.two-buttons .danger{background:transparent;border-color:var(--red);color:var(--red)}
.two-buttons .danger:hover{background:rgba(255,99,99,.12)}
.two-buttons .button{text-align:center;text-decoration:none;font-size:13px}
.hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.hero-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ring-hero{display:flex;gap:14px;align-items:center;margin:14px 0}
.metric-ring.big{width:84px;height:84px;font-size:18px}
.metric-ring.amber{background:conic-gradient(var(--amber) calc(var(--value)*1%),rgba(255,255,255,.08) 0)}
.proj-dot{display:inline-block;width:14px;height:14px;border-radius:5px;margin-right:8px;vertical-align:middle}
.bar-track i.s-1{background:var(--muted)}.bar-track i.s-2{background:var(--accent)}.bar-track i.s-3{background:var(--red)}.bar-track i.s-4{background:var(--amber)}.bar-track i.s-5{background:var(--green)}
.health.ok,.health-dot.ok{color:var(--green)}.health.a-surveiller,.health-dot.a-surveiller{color:var(--amber)}.health.critique,.health-dot.critique{color:var(--red)}
.health-dot{width:9px;height:9px;border-radius:50%;background:currentColor;display:inline-block}
/* task detail */
.rich-text{white-space:pre-wrap;line-height:1.55;color:var(--soft);background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:12px;padding:12px}
.kv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.kv-grid>div{background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:10px;padding:9px 11px}
.kv-grid span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.kv-grid b{font-size:15px}
.checklist{display:grid;gap:6px;margin:10px 0}
.check-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:9px;padding:7px 10px}
.check-item.done span{text-decoration:line-through;color:var(--muted)}
.check-box{width:22px;height:22px;padding:0;border-radius:6px;background:rgba(255,255,255,.04);color:var(--green);font-size:13px}
.icon-btn{background:transparent;border:0;color:var(--muted);font-size:18px;padding:0 6px;cursor:pointer}
.inline-add{display:flex;gap:8px;margin-top:8px}
.inline-add input{flex:1}
.comment-list{display:grid;gap:10px;margin-top:12px}
.comment{background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:12px;padding:10px 12px}
.comment-head{display:flex;gap:8px;align-items:center}
.comment-head small{color:var(--muted);font-size:11px}
.comment-head form{margin-left:auto}
.comment p{margin:6px 0 0;color:var(--soft)}
/* kanban dnd */
.kanban-card{cursor:grab}
.kanban-card.dragging{opacity:.5}
.kanban-dropzone{display:grid;gap:8px;min-height:60px;border-radius:12px;transition:background .15s}
.kanban-dropzone.over{background:rgba(113,112,255,.12);outline:1px dashed rgba(113,112,255,.5)}
.drop-hint{text-align:center;padding:14px;border:1px dashed var(--line2);border-radius:10px}
.kc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.kc-due{font-size:11px;color:var(--muted)}.kc-due.late{color:var(--red)}
/* calendar */
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-head{margin-bottom:6px}
.cal-weekday{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:4px}
.cal-cell{min-height:92px;background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:10px;padding:6px;display:grid;grid-template-rows:auto 1fr;gap:4px;align-content:start}
.cal-cell.muted-cell{opacity:.4}
.cal-cell.today-cell{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(113,112,255,.4)}
.cal-date{font-size:12px;color:var(--soft);font-weight:590}
.cal-event{display:block;font-size:11px;padding:2px 6px;border-radius:6px;text-decoration:none;color:#fff;background:var(--accent2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event.haute{background:var(--red)}.cal-event.basse{background:var(--surface2);color:var(--soft)}
.cal-event.milestone{background:rgba(245,158,11,.2);color:var(--amber);border:1px solid rgba(245,158,11,.4)}
/* timeline */
.timeline{display:grid;gap:8px}
.tl-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:rgba(255,255,255,.02);border:1px solid var(--line2);border-radius:10px;padding:9px 11px}
.tl-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:rgba(113,112,255,.14);font-size:14px}
.tl-delete{background:rgba(255,99,99,.14)}.tl-done{background:rgba(16,185,129,.14)}
@media(max-width:820px){.nav-toggle{display:block}#main-nav{display:none;width:100%;flex-direction:column;align-items:stretch}#main-nav.open{display:flex}.kv-grid{grid-template-columns:1fr}.calendar-grid{gap:3px}.cal-cell{min-height:64px}.cal-event{font-size:9px}}
