*{box-sizing:border-box}body{margin:0;background:#0b111b;color:#e7eef5;font:15px/1.55 Inter,system-ui,Segoe UI,sans-serif}a{color:#48d3d0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #36c9c6;outline-offset:2px}.sidebar{position:fixed;inset:0 auto 0 0;width:262px;background:#101b2a;border-right:1px solid #26354a;display:flex;flex-direction:column;padding:24px 16px;z-index:4}.brand{display:flex;gap:12px;align-items:center;padding:4px 9px 26px}.brand b{letter-spacing:2px}.brand small{display:block;color:#8299b0;font-size:10px;letter-spacing:1.8px}.brand-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #36c9c6;border-radius:10px;color:#36c9c6;font-size:24px;font-weight:800}.case{background:#17283a;border:1px solid #294259;border-radius:10px;padding:13px;color:#91a7bd;font-size:10px;letter-spacing:1px;margin-bottom:22px}.case strong{display:block;font-size:14px;color:#e7eef5;letter-spacing:1px;margin-top:3px}nav{overflow:auto;flex:1}nav button{width:100%;background:none;border:0;border-radius:8px;padding:11px 12px;text-align:left;color:#9db0c4;margin:2px 0}nav button:hover,nav button.active{background:#1c3344;color:#5ae0d8}nav .navlabel{font-size:10px;letter-spacing:1.5px;color:#71879b;padding:17px 12px 6px}.sidebarfoot{font-size:11px;color:#758ca1;border-top:1px solid #26354a;padding:17px 9px}main{margin-left:262px;min-height:100vh}header{display:flex;align-items:center;justify-content:space-between;padding:28px 40px;border-bottom:1px solid #243448;gap:15px}h1{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.5px}.eyebrow{font-size:10px;color:#58d1ce;letter-spacing:2px;font-weight:700}.pill,.tag{display:inline-block;background:#18333d;color:#6cddd5;border:1px solid #2a6063;border-radius:99px;padding:6px 11px;font-size:12px}.tag{font-size:11px;padding:3px 9px}.topright{white-space:nowrap}#app{padding:32px 40px;max-width:1450px;margin:auto}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#162333;border:1px solid #283a4e;border-radius:14px;padding:23px;margin-bottom:18px}.card h2,.card h3{margin:0 0 10px}.card h2{font-size:20px}.card h3{font-size:16px}.muted{color:#9cafc2}.small{font-size:12px}.lead{font-size:17px;max-width:900px;color:#bdccda}.hero{background:linear-gradient(115deg,#193b45,#142335 62%,#1c2334);padding:35px;border:1px solid #2d5760;border-radius:16px;margin-bottom:22px}.hero h2{font-size:29px;margin:8px 0}.btn{display:inline-block;border:1px solid #37767a;border-radius:9px;padding:10px 15px;background:#36c9c6;color:#061b23;font-weight:750;text-decoration:none;margin:4px 7px 4px 0}.btn.secondary{background:#213347;color:#d7e6f3;border-color:#3c5268}.btn.danger{background:#432c39;color:#ffd4d7;border-color:#784455}.btn:disabled{opacity:.4;cursor:not-allowed}label{display:block;margin:13px 0 5px;font-weight:600;color:#dbe7f1}input,textarea,select{width:100%;padding:10px 12px;background:#0e1926;color:#edf5fa;border:1px solid #375068;border-radius:8px}textarea{min-height:92px;resize:vertical}input[type=checkbox]{width:auto;accent-color:#36c9c6}input[type=range]{accent-color:#36c9c6}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:10px;border-bottom:1px solid #2b3c50;vertical-align:top}th{color:#6fddd8;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.progress{height:9px;border-radius:9px;background:#304257;overflow:hidden}.progress span{display:block;height:100%;background:#36c9c6}.stat{font-size:28px;color:#61e0d9;font-weight:800}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.note{border-left:3px solid #36c9c6;padding:10px 16px;background:#112b35;color:#b9d9dc;margin:15px 0}.warning{border-left-color:#efa765;background:#352c29;color:#f4d4ac}.docrow{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;border-bottom:1px solid #283a4e}.docrow a{white-space:nowrap}.tasks{display:grid;gap:10px}.task{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #304358;border-radius:9px}.task input{margin-top:5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison{white-space:pre-wrap;font-size:13px;color:#c5d4df}.riskmatrix{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-width:480px}.riskcell{padding:14px 5px;text-align:center;border-radius:5px;background:#29564e;font-weight:700}.riskcell.mid{background:#665532}.riskcell.high{background:#743f3c}.timelineitem{padding:12px 14px;border-left:2px solid #36c9c6;margin-left:10px;background:#192b3b;margin-bottom:8px}.footerhint{font-size:12px;color:#8299b0;margin-top:25px}#mobileMenu{display:none}@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}main{margin-left:0}#mobileMenu{display:block;background:#1e3448;color:white;border:1px solid #3b5064;border-radius:8px;padding:8px 11px}header{padding:20px}#app{padding:20px}.grid,.grid.three,.two{grid-template-columns:1fr}}@media print{body{background:white;color:black}.sidebar,header,.btn,.actions,.no-print{display:none!important}main{margin:0}#app{padding:0;max-width:none}.card,.hero{background:white;color:black;border:1px solid #aaa;break-inside:avoid}.muted,.lead{color:#333}th,td{color:black;border-color:#ccc}}
/* NOVATECH V2 */
.instructions{padding-left:1.5rem;line-height:1.7}.instructions li{margin:.65rem 0;padding-left:.3rem}.status{display:inline-block;padding:.3rem .65rem;border-radius:999px;background:#283445;color:#b6c8d8;font-size:.78rem;font-weight:700}.status.ok{background:#153c3b;color:#70e3cf}.mini{border:1px solid #2a3b4d;border-radius:12px;padding:1rem}.timeline{border-left:2px solid #35546a;margin:1.4rem .3rem 1.4rem 1rem;padding-left:1.5rem}.timeitem{position:relative;margin-bottom:1.35rem}.timepoint{position:absolute;left:-2.03rem;top:.35rem;width:12px;height:12px;background:#42cec7;border-radius:50%;box-shadow:0 0 0 4px #132735}.timeitem h3{margin:.2rem 0}.timeitem small{color:#72d6d1}.note.warning{border:1px solid #b78b47;background:#30291f;color:#f3dfba}.note.warning p{margin:.35rem 0 0}#promptPreview{margin-top:1rem}#promptPreview pre{max-height:450px;overflow:auto}#prototypeUpload{display:block;margin:1rem 0}.btn:disabled{opacity:.45;cursor:not-allowed}.docrow{gap:.5rem;flex-wrap:wrap}@media(max-width:700px){.mini{padding:.8rem}}

/* V2.1 — mission de développement obligatoire */
.prototype-mission{border:2px solid #36c9c6;background:linear-gradient(135deg,#122d37,#101c2b);padding:22px;border-radius:14px;margin:20px 0;color:#e8f5f6}.prototype-mission h2{color:#76e7df;margin-top:0}.prototype-mission li{margin:9px 0}.prototype-mission p{line-height:1.65}

/* V2.2 : alignement des statuts de validation */
.validation-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 105px;align-items:center;gap:14px;flex-wrap:nowrap}
.validation-row .validation-title{min-width:0}
.validation-row .status{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:32px;width:115px;white-space:nowrap}
.validation-row .btn{margin:0;text-align:center}
#prototypeFeedback:not(:empty){margin:8px 0}
@media(max-width:600px){.validation-row{grid-template-columns:minmax(0,1fr) 100px;gap:8px}.validation-row .status{width:100px}.validation-row .btn{grid-column:1 / -1;justify-self:start}}

#prototypeImport{background:#2abdb6;color:#061a21;font-weight:800}#prototypeFeedback{padding:.85rem 1rem;border:1px solid #2b5161;border-radius:10px;margin:.6rem 0}#prototypeUpload{padding:.85rem;border:1px dashed #4f8494;border-radius:10px;width:100%;max-width:100%;box-sizing:border-box}#prototypeFolderInput{display:none}
