@font-face{font-family:"FP Plex";src:url('/fonts/plex-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:"FP Plex";src:url('/fonts/plex-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:"FP Plex";src:url('/fonts/plex-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:"FP Plex";src:url('/fonts/plex-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#0c0e0e;--text:#f2f4f2;--muted:#a4b2ac;--paper:#101212;--white:#181b1a;--line:#303936;--green:#31e0b0;--light:#1c3830;--amber:#f1c37d;--amber-bg:#332b20;--red:#ffa29a;--red-bg:#3b2726;font-family:"FP Plex","Segoe UI",Arial,sans-serif;color-scheme:dark}
body{background:var(--paper);color:var(--text)}
::selection{background:var(--green);color:#071c16}
*{scrollbar-color:#586b61 transparent;scrollbar-width:thin}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
input,select,textarea{background:#202624;color:var(--text);border-color:#496057;caret-color:var(--green)}
input::placeholder{color:#aab9b0}kbd{border-color:var(--line);color:var(--muted)}
tbody tr:hover{background:#202624}.panel,.catalog-item,.board-card,.source-icon,.timeline-symbol,.blank,.secondary{background:var(--white);color:var(--text)}
.topbar{background:#181b1add}.sidebar{background:var(--ink);color:var(--text)}.brand{color:var(--text)}.brand span,.sidebar-note,.profile small{color:#a4b2ac}.brand-mark{border-color:#4b675b;color:var(--green)}.workspace-label{border-color:#34433b;color:var(--text)}.workspace-label b{color:var(--green)}.nav-group-title{color:#a4b2ac}.nav a{color:#c7d6ce}.nav a:hover{background:#223b32}.nav a.active{background:var(--light);color:#87f0ca}.nav .count,.nav a.active .count{background:#ffffff16}.sidebar-note{border-color:var(--line)}
.avatar{background:#244b3b;color:#d8f8e7}.profile strong{color:var(--text)}.profile button{color:var(--muted)}
.search-trigger{background:var(--white);color:var(--muted)}.live-dot{background:var(--green)}
.primary{background:var(--green);border-color:var(--green);color:#071c16}.primary:hover{background:#78efcb}.secondary{border-color:var(--line)}.secondary:hover,.icon-button:hover,.quiet:hover{background:var(--light);color:var(--text)}
.project-glyph,.blank-icon{background:var(--light);color:var(--green)}.tone-1{background:#2d2940;color:#c5aafb}.tone-2{background:#3d3021;color:#f1c37d}.tone-3{background:#22394b;color:#90c6ff}.tone-4{background:#3d292b;color:#ffa29a}.project-name{color:var(--text)}.badge{background:#2a3230;color:var(--muted)}.badge.green{background:#203b30;color:#81e3b7}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.purple{background:#322a42;color:#c9abfa}.tab.selected{color:var(--green)}
.attention,.notice{background:#1a3028;color:var(--text)}.attention p,.notice{color:#cbdbd1}.attention .primary{background:var(--green);color:#071c16;border-color:var(--green)}.attention-num{color:var(--green)}.source-icon{border-color:var(--line)}.board-col{background:#202624}.blank{border-color:#42574c}.progress-track{accent-color:var(--green)}progress.progress-track::-webkit-progress-bar{background:var(--line)}progress.progress-track::-webkit-progress-value{background:var(--green)}
.formula,.safe-token,.filter{background:#202624;color:var(--text);border-color:var(--line)}.dialog-header,.dialog-footer{background:var(--white)}dialog{background:var(--white);color:var(--text);border-color:var(--line)}dialog::backdrop{background:#000a}.auth-story{background:var(--ink);color:var(--text)}.auth-story .intro,.auth-footer{color:var(--muted)}.orbit-row{color:var(--text);border-color:var(--line)}.orbit-row .n,.orbit-row span:last-child{color:var(--green)}.auth-illustration{border-color:var(--line)}.auth-form-wrap{background:var(--paper)}.search-result:hover{background:var(--light)}#toast{background:#273f35;color:var(--text)}
.pd{--pd-lavender:#b9a2f8;--pd-blue:#90c6ff;--pd-amber:#f1c37d;--pd-coral:#ffa29a;color:var(--text)}
.radar-panel{padding:22px;margin-bottom:22px;border:1px solid #5c4e38;background:linear-gradient(115deg,#25251e,#191d1b)}.radar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.radar-head h2{font-size:20px;margin:6px 0}.radar-head p{font-size:12px;color:var(--muted);max-width:70ch}.radar-head>.icon{color:var(--amber);width:27px;height:27px}.radar-list{display:grid;gap:8px;margin-top:18px}.radar-item{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;padding:12px 14px;border:1px solid #46483c;border-radius:10px;background:#202420;color:var(--text)}.radar-item:hover{border-color:var(--amber);background:#2a2b23}.radar-item strong,.radar-item small{display:block}.radar-item strong{font-size:13px}.radar-item small{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4}.radar-open{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--amber);font-size:11px}.radar-open .icon{width:15px;height:15px}@media(max-width:650px){.radar-item{align-items:flex-start;flex-direction:column}.radar-open{align-self:flex-end}}
.pd-decision{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pd-decision>div{border:1px solid var(--line);border-radius:10px;background:#202624;padding:13px;min-height:88px}.pd-decision small,.pd-decision strong,.pd-decision span{display:block}.pd-decision small{font-size:10px;color:var(--muted);margin-bottom:7px}.pd-decision strong{font-size:13px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.pd-decision span{font-size:10px;color:var(--muted);margin-top:6px}.pd-decision+.pd-footnote{margin-top:15px}@media(max-width:850px){.pd-decision{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.pd-decision{grid-template-columns:1fr}}
.pd-assessment-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.pd-assessment-intro p{max-width:70ch;font-size:11px;line-height:1.5;color:var(--muted)}.pd-assessment-intro button{white-space:nowrap}.pd-axis{width:80px;height:7px;margin-right:9px;accent-color:var(--pd-lavender)}.pd-axis+strong{font-size:12px}@media(max-width:650px){.pd-assessment-intro{align-items:flex-start;flex-direction:column}}
.pd-milestones{display:grid;gap:8px}.pd-milestone{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;background:#202624;padding:12px}.pd-milestone-no{font-size:11px;font-weight:700;color:var(--pd-lavender)}.pd-milestone strong,.pd-milestone small{display:block}.pd-milestone strong{font-size:12px}.pd-milestone small{font-size:10px;color:var(--muted);margin-top:4px}.pd-milestone button{white-space:nowrap;font-size:11px}@media(max-width:620px){.pd-milestone{grid-template-columns:26px 1fr}.pd-milestone button{grid-column:2;justify-self:start}}
.pd-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:23px}.pd-heading h1{font-size:36px;letter-spacing:-.025em}.pd-heading p:not(.pd-crumb){color:var(--muted);max-width:76ch;margin-top:8px;font-size:13px}.pd-heading small{display:block;color:var(--muted);font-size:10px;margin-top:9px}.pd-crumb{font-size:11px;color:var(--green);font-weight:600;letter-spacing:.06em;margin-bottom:8px}
.pd-controls{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}.pd-tabs{display:flex;gap:22px;overflow:auto}.pd-tabs button{position:relative;white-space:nowrap;color:var(--muted);font-size:12px;padding:13px 0 16px;min-height:44px}.pd-tabs button.selected{color:var(--green);font-weight:600}.pd-tabs button.selected:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green)}.pd-range{display:flex;align-items:center;gap:8px;white-space:nowrap}.pd-range label{font-size:10px;margin:0;color:var(--muted)}.pd-range select{width:auto;font-size:11px;padding:7px 10px;margin-bottom:4px}.pd-scope{font-size:10px;color:var(--muted);margin:0 0 20px;line-height:1.7}
.pd-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--white);padding:20px 0;margin-bottom:21px}.pd-kpis>div{padding:0 18px;border-left:1px solid var(--line);min-width:0}.pd-kpis>div:first-child{border:0}.pd-kpis small{font-size:10px;color:var(--muted);display:block}.pd-kpis strong{display:block;font-size:27px;letter-spacing:-.025em;line-height:1.15;margin:10px 0;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.pd-kpis em{font-size:13px;font-weight:400;color:var(--muted);font-style:normal}.pd-kpis span{font-size:9px;color:var(--muted);display:block;line-height:1.5}
.pd-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px}.pd-card{background:var(--white);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.pd-wide{grid-column:1/-1}.pd-cardhead{padding:20px 20px 15px}.pd-cardhead h2{font-size:15px;font-weight:600}.pd-cardhead p{color:var(--muted);font-size:10px;margin-top:5px}.pd-note{padding:5px 20px 23px;font-size:12px;color:var(--muted)}.pd-end{margin-top:23px;font-size:10px;color:var(--muted)}
.pd-chart{padding:6px 17px 0}.pd-chart svg{width:100%;height:auto;overflow:visible}.pd-chart svg text{font-family:"FP Plex",sans-serif;fill:var(--muted);font-size:10px}.pd-gridline{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.pd-series{fill:none;stroke:var(--green);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.pd-point{fill:var(--white);stroke:var(--green);stroke-width:2}.pd-values{border-top:1px solid var(--line);padding:11px 20px;color:var(--muted);font-size:11px}.pd-values summary{cursor:pointer}.pd-values .pd-tablewrap{max-height:245px;overflow:auto;margin-top:10px}.pd-empty{min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.pd-empty strong{font-size:13px}.pd-empty p{font-size:11px;color:var(--muted);margin-top:9px;max-width:370px}
.pd-tablewrap{overflow:auto}.pd table{width:100%;border-collapse:collapse}.pd th{font-size:10px;padding:12px 18px;white-space:nowrap;color:var(--muted);background:#202624}.pd td{font-size:11px;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle}.pd td small{display:block;color:var(--muted);margin-top:5px;font-size:9px}.pd .pd-blankcell{text-align:center;color:var(--muted);padding:35px}.pd-textbutton{padding:0;min-height:20px;text-align:left;font-size:11px;color:var(--text);font-weight:600}.pd-textbutton:hover{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px}.pd-state{border-radius:5px;padding:4px 7px;background:#293430;color:var(--muted);white-space:nowrap;font-size:10px}.pd-termine{background:#203b30;color:#81e3b7}.pd-bloque{background:var(--red-bg);color:var(--red)}.pd-en_cours{background:#2b3041;color:var(--pd-lavender)}
.pd-bars{padding:4px 21px 13px}.pd-bar-row{display:grid;grid-template-columns:85px minmax(0,1fr) 28px;gap:11px;align-items:center;margin:13px 0;font-size:10px}.pd-bar-row strong{text-align:right;font-variant-numeric:tabular-nums}.pd-bar{appearance:none;width:100%;height:8px;border:0;border-radius:6px;background:var(--line);color:var(--green)}.pd-bar::-webkit-progress-bar{background:var(--line);border-radius:6px}.pd-bar::-webkit-progress-value{background:var(--green);border-radius:6px}.pd-bar::-moz-progress-bar{background:var(--green);border-radius:6px}.pd-tone-1::-webkit-progress-value{background:var(--pd-lavender)}.pd-tone-2::-webkit-progress-value{background:var(--pd-coral)}.pd-tone-3::-webkit-progress-value{background:var(--pd-blue)}.pd-tone-1::-moz-progress-bar{background:var(--pd-lavender)}.pd-tone-2::-moz-progress-bar{background:var(--pd-coral)}.pd-tone-3::-moz-progress-bar{background:var(--pd-blue)}.pd-footnote{padding:0 20px 18px;font-size:10px;color:var(--muted)}
.pd-objectives{padding:0 20px}.pd-objectives>div{padding:14px 0;border-top:1px solid var(--line)}.pd-objective-head{display:flex;justify-content:space-between;gap:10px;align-items:start;font-size:11px}.pd-objective-head strong{font-weight:600}.pd-objective-head span{white-space:nowrap;font-variant-numeric:tabular-nums}.pd-objectives progress{width:100%;height:5px;accent-color:var(--green);margin:9px 0}.pd-objectives small,.pd-muted{color:var(--muted);font-size:10px}.pd-equation{padding:6px 20px 22px}.pd-equation strong{display:block;color:var(--green);font-size:24px}.pd-equation p{font-size:11px;color:var(--muted);margin:11px 0}.pd-equation small{font-size:10px;color:var(--muted)}
.pd-budgetgroups{padding:0 20px 12px}.pd-budgetgroups h3{font-size:11px;color:var(--muted);font-weight:600;margin:10px 0}.pd-budgetgroups>div+div{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.pd-budgetrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,1fr) auto;gap:9px;align-items:center;margin:13px 0;font-size:10px}.pd-budgetrow span{overflow-wrap:anywhere}.pd-budgetrow strong{font-variant-numeric:tabular-nums;white-space:nowrap}.pd-budgetrow progress{width:100%;height:7px;accent-color:var(--pd-lavender)}
@media(max-width:1350px){.pd-kpis{grid-template-columns:repeat(3,1fr);gap:22px 0}.pd-kpis>div:nth-child(4){border-left:0}.pd-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.pd-grid{display:block}.pd-card{margin-bottom:18px}.pd-kpis strong{font-size:23px}}
@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.pd-heading{display:block}.pd-heading h1{font-size:29px}.pd-heading>.secondary{margin-top:17px}.pd-controls{display:block}.pd-tabs{gap:20px}.pd-range{padding:10px 0}.pd-kpis{grid-template-columns:repeat(2,1fr)}.pd-kpis>div:nth-child(4){border-left:1px solid var(--line)}.pd-kpis>div:nth-child(odd){border-left:0}.pd-kpis strong{font-size:23px}.pd th,.pd td{padding:11px 13px}.pd-bar-row{grid-template-columns:72px minmax(0,1fr) 23px}}
@media(prefers-reduced-motion:reduce){.pd *{transition:none!important;animation:none!important}}
