@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--pine: #0E7C66;--pine-d: #0A5C4B;--pine-soft: #E7F3EF;--ink: #15191F;--ink-soft: #5B6470;--ink-mute: #8A929E;--line: #E4E8E6;--canvas: #F5F8F6;--card: #FFFFFF;--danger: #A12C2C;--danger-soft: #FBE2E2;--font: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--shadow: 0 1px 2px rgba(16, 40, 34, .05), 0 8px 24px rgba(16, 40, 34, .06)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}button,input,select{font-family:var(--font)}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(180deg,var(--pine-soft),var(--canvas) 55%)}.login-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px 22px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.logo{width:42px;height:42px;border-radius:12px;background:var(--pine);color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px;flex:none}.bt{font-weight:700;font-size:17px;letter-spacing:-.01em}.rl{font-size:12px;letter-spacing:.1em;color:var(--ink-mute);text-transform:uppercase}.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.fld label{font-size:13px;font-weight:600;color:var(--ink-soft)}.fld input,.fld select{border:1px solid var(--line);border-radius:11px;padding:13px 14px;font-size:16px;outline:none;background:#fff}.fld input:focus{border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-soft)}.hint{font-size:12.5px;color:var(--ink-mute);line-height:1.5}.btn{width:100%;border:0;background:var(--pine);color:#fff;font-weight:600;font-size:15px;padding:14px;border-radius:11px;cursor:pointer}.btn:hover:not(:disabled){background:var(--pine-d)}.btn:disabled{opacity:.5;cursor:default}.err{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:11px 13px;font-size:13.5px;margin-bottom:14px;line-height:1.45}.langues{display:flex;gap:6px;justify-content:center;margin-top:20px;flex-wrap:wrap}.lang{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600;color:var(--ink-mute);cursor:pointer}.lang.active{border-color:var(--pine);color:var(--pine);background:var(--pine-soft)}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:10}.brand-min{display:flex;align-items:center;gap:10px}.brand-min .logo{width:34px;height:34px;border-radius:10px;font-size:16px}.brand-min .bt{font-size:15px}.brand-min .rl{font-size:11px;letter-spacing:.06em;text-transform:none}.tabs{display:flex;gap:4px;margin-left:auto}.tabs a{text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:14px;padding:9px 14px;border-radius:9px}.tabs a:hover{background:var(--pine-soft);color:var(--pine-d)}.tabs a.active{background:var(--pine);color:#fff}.right{display:flex;align-items:center;gap:8px}.lang-sel{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;background:#fff;color:var(--ink-soft)}.btn-out{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.btn-out:hover{border-color:var(--danger);color:var(--danger)}.main{flex:1;padding:20px 16px 40px;max-width:760px;width:100%;margin:0 auto}.ident{font-size:14px;color:var(--ink-soft);margin-bottom:14px}.ident .qui{font-weight:600;color:var(--ink)}.ident .app{color:var(--ink-mute)}.head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}h1{font-size:21px;margin:0;letter-spacing:-.01em}.intro{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0 0 16px}.ctrls{display:flex;gap:8px;align-items:center}.ctrls select{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:14px;background:#fff}.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}.seg-b{border:0;background:none;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.seg-b.active{background:var(--pine);color:#fff}.carte{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}.carte-t{font-size:13px;font-weight:700;color:var(--pine-d);margin-bottom:12px}.total-carte{display:flex;align-items:baseline;justify-content:space-between}.total-carte .k{font-size:13px;color:var(--ink-mute);font-weight:600}.total-carte .v{font-size:26px;font-weight:700;color:var(--pine-d)}.graph{display:flex;align-items:flex-end;gap:4px;height:150px}.col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.bar-zone{flex:1;width:100%;display:flex;align-items:flex-end}.bar{width:100%;background:var(--pine);border-radius:4px 4px 0 0;min-height:2px;transition:height .25s ease}.col .m{font-size:10px;color:var(--ink-mute);font-weight:600}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th,.tbl td{padding:10px 6px;text-align:left;border-bottom:1px solid var(--line)}.tbl th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);font-weight:700}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl tr:last-child td{border-bottom:0}.tbl .tot td{font-weight:700;color:var(--pine-d);border-top:2px solid var(--line)}.tbl.compact td{padding:8px 6px;color:var(--ink-soft)}.tbl.compact .num{color:var(--ink);font-weight:600}.part{text-align:center;padding:6px 0 14px}.part-v{font-size:32px;font-weight:700;color:var(--pine-d);letter-spacing:-.02em}.part-k{font-size:12.5px;color:var(--ink-mute);font-weight:600}.jauge{height:8px;background:var(--pine-soft);border-radius:99px;overflow:hidden;margin-bottom:16px}.jauge-in{height:100%;background:var(--pine);border-radius:99px;transition:width .3s ease}.badges{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.badges li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.num-badge{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.badges .sub{font-size:12.5px;color:var(--ink-mute)}.tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--line);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.tag.ko{background:var(--danger-soft);color:var(--danger)}.vide{background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:30px 20px;text-align:center;color:var(--ink-mute);font-size:14px}.vide.plein{min-height:100dvh;display:grid;place-items:center;border:0;background:var(--canvas)}@media (max-width: 560px){.topbar{padding:10px 12px;gap:10px}.tabs{order:3;width:100%;margin-left:0}.tabs a{flex:1;text-align:center}.right{margin-left:auto}.main{padding:16px 12px 32px}h1{font-size:19px}.head{gap:10px}.ctrls{width:100%}.ctrls .seg,.seg-b{flex:1}.graph{height:120px;gap:3px}.col .m{font-size:9px}.part-v{font-size:28px}}.bloc-part{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.bloc-part .bloc-t{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pine-d);margin-bottom:4px}.bloc-part .part{padding:4px 0 12px}.bloc-part .part-k{font-size:12px;line-height:1.5;padding:0 8px}
