:root{--nuit:#0E1A2B;--encre:#22324D;--champagne:#C9A96E;--porcelaine:#F5F6F8;--surface:#FFFFFF;--brume:#E9ECF1;--texte:#0E1A2B;--texte-doux:#4A5568;--note:#667085;--bordure:#DDE1E8;--bordure-forte:#808A9B;--action:#0E1A2B;--action-survol:#22324D;--sur-action:#FFFFFF;--laiton:#8A6A2F;--champagne-voile:#F4EDDF;--succes:#1F7A55;--succes-voile:#E3F3EB;--alerte:#9A5B0B;--alerte-voile:#FBEFD9;--danger:#B42318;--danger-voile:#FBE5E3;--ombre-carte:0 1px 2px rgba(14,26,43,.06);--ombre-flottante:0 12px 32px rgba(14,26,43,.14),0 2px 6px rgba(14,26,43,.08);--sur-nuit:#EEF1F5;--sur-nuit-doux:#AEB9C9;--f-sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--champagne:#D4B67E;--porcelaine:#0B1422;--surface:#111D30;--brume:#18263B;--texte:#EEF1F5;--texte-doux:#B7C0CE;--note:#8B96A8;--bordure:#24344D;--bordure-forte:#5E7392;--action:#D4B67E;--action-survol:#E1C793;--sur-action:#0E1A2B;--laiton:#D9BE8A;--champagne-voile:#2A2518;--succes:#4CC38A;--succes-voile:#12301F;--alerte:#E8A23A;--alerte-voile:#33240C;--danger:#F2735E;--danger-voile:#3A1714;--ombre-carte:none;--ombre-flottante:0 12px 32px rgba(0,0,0,.5);color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--porcelaine);color:var(--texte);font:500 15px/24px var(--f-sans);-webkit-font-smoothing:antialiased}a{color:var(--laiton)}h1,h2,h3,h4{margin:0;text-wrap:balance}p{margin:0}:focus-visible{outline:2px solid var(--laiton);outline-offset:2px}.num{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.etiquette{font-size:11px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--note)}.muted{color:var(--texte-doux)}.note{color:var(--note);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 14px/20px var(--f-sans);padding:9px 15px;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s ease-out,border-color .18s}.btn-primary{background:var(--action);color:var(--sur-action)}.btn-primary:hover{background:var(--action-survol)}.btn-sec{background:var(--surface);color:var(--texte);border-color:var(--bordure-forte)}.btn-sec:hover{background:var(--brume)}.btn-ghost{background:none;color:var(--laiton);padding:6px 8px}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-sm{padding:6px 11px;font-size:13px}.btn-champ{background:var(--champagne);color:#0E1A2B}.lnk{background:none;border:0;padding:0;color:var(--laiton);font:700 13px var(--f-sans);cursor:pointer;text-decoration:none}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:16px;font-weight:700;padding:3px 8px;border-radius:4px;white-space:nowrap}.p-ok{background:var(--succes-voile);color:var(--succes)}.p-warn{background:var(--alerte-voile);color:var(--alerte)}.p-bad{background:var(--danger-voile);color:var(--danger)}.p-new{background:var(--champagne-voile);color:var(--laiton)}.p-neutral{background:var(--brume);color:var(--texte-doux)}.form{display:grid;grid-gap:14px;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px}.grid-2,.grid-3{display:grid;gap:12px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.field{display:grid;grid-gap:5px;gap:5px;min-width:0}.field>.lbl,.field>label{font-size:13px;font-weight:700}.help{font-size:12px;color:var(--note);line-height:17px}.inp{font:500 14.5px/21px var(--f-sans);color:var(--texte);background:var(--surface);border:1px solid var(--bordure-forte);border-radius:8px;padding:9px 11px;width:100%;min-width:0}.inp.num{text-align:right}textarea.inp{min-height:80px;resize:vertical}.chk{display:flex;gap:9px;align-items:flex-start;font-size:14px;cursor:pointer;line-height:21px}.chk input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--laiton);flex:none}.err{color:var(--danger)}.err,.okmsg{font-size:13px;font-weight:600}.okmsg{color:var(--succes)}.card{background:var(--surface);border:1px solid var(--bordure);border-radius:12px;box-shadow:var(--ombre-carte);min-width:0}.card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--bordure);flex-wrap:wrap}.card-h h3{font:700 16px/22px var(--f-sans)}.card-b{padding:18px}.tbl-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:14px}.t th{background:var(--brume);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--texte-doux);font-weight:700;text-align:left;padding:9px 14px;white-space:nowrap}.t td{padding:11px 14px;border-top:1px solid var(--bordure);vertical-align:middle}.t tbody tr:hover{background:var(--brume)}.t td.r,.t th.r{text-align:right}.t .ref{font:500 12px/16px var(--f-mono);color:var(--note);letter-spacing:.02em;display:block}.t .main{font-weight:700;display:block}.t .sec{font-size:13px;color:var(--texte-doux);display:block}.t a.row-link{color:inherit;text-decoration:none}.t a.row-link:hover .main{color:var(--laiton)}.empty{padding:28px 18px;text-align:center;color:var(--note);font-size:14px;display:grid;grid-gap:10px;gap:10px;justify-items:center}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:440px){.kpis{grid-template-columns:minmax(0,1fr)}}.kpi{background:var(--surface);border:1px solid var(--bordure);border-radius:12px;padding:16px 18px;box-shadow:var(--ombre-carte);display:grid;grid-gap:6px;gap:6px;min-width:0}.kpi b{font:600 22px/1.15 var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .sub{font-size:12.5px;color:var(--note)}.meter{height:6px;background:var(--brume);overflow:hidden}.meter,.meter i{border-radius:3px}.meter i{display:block;height:100%;background:var(--laiton)}.stack{grid-gap:20px;align-content:start;min-width:0}.cols,.stack{display:grid;gap:20px}.cols{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:20px;align-items:start}@media (max-width:1100px){.cols{grid-template-columns:minmax(0,1fr)}}.dl{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px 18px;gap:8px 18px;font-size:14px}.dl dt{color:var(--texte-doux)}.dl dd{margin:0;font-weight:600;text-align:right}.alert{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;padding:13px 18px;border-top:1px solid var(--bordure);text-decoration:none;color:inherit}.alert:first-child{border-top:0}a.alert:hover{background:var(--brume)}.alert .dot{width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.alert b{font-size:14px;display:block}.alert span{font-size:13px;color:var(--texte-doux);line-height:19px;display:block}.alert .when{font:500 12px/16px var(--f-mono);color:var(--note);margin-top:3px}details.add{border:1px dashed var(--bordure-forte);border-radius:12px;background:var(--surface)}details.add>summary{list-style:none;cursor:pointer;padding:12px 16px;font-weight:700;color:var(--laiton);display:flex;gap:8px;align-items:center}details.add>summary::-webkit-details-marker{display:none}details.add[open]>summary{border-bottom:1px solid var(--bordure)}details.add>.form{padding:16px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:6px}.kcol{background:var(--brume);border-radius:12px;padding:10px;display:grid;grid-gap:8px;gap:8px;align-content:start;min-height:200px}.kcol h4{font-size:13px;display:flex;justify-content:space-between;padding:4px 6px;color:var(--texte-doux)}.kcard{background:var(--surface);border:1px solid var(--bordure);border-radius:10px;padding:11px 12px;display:grid;grid-gap:6px;gap:6px;box-shadow:var(--ombre-carte);text-decoration:none;color:inherit}.kcard:hover{border-color:var(--laiton)}.kcard b{font-size:14px}.kcard .m{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:var(--note)}.callout{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:8px;font-size:13px;line-height:20px}.callout.warn{background:var(--alerte-voile);color:var(--alerte)}.callout.info{background:var(--brume);color:var(--texte-doux)}.callout.ok{background:var(--succes-voile);color:var(--succes)}.callout.bad{background:var(--danger-voile);color:var(--danger)}.bar-tr{height:14px;position:relative;background:var(--brume);border-radius:3px}.bar-tr i{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--encre)}.tabs-row{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--bordure);margin-bottom:20px}.tabs-row a{font:700 14px/20px var(--f-sans);color:var(--texte-doux);padding:10px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none}.tabs-row a.on{color:var(--laiton);border-bottom-color:var(--laiton)}