@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/FiraCode-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/FiraCode-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/FiraCode-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/FiraCode-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/FiraCode-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/FiraCode-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/FiraSans-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/FiraSans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/FiraSans-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/FiraSans-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/FiraSans-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/FiraSans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/FiraSans-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/FiraSans-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui:"Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg-page:#f7f8fa;--bg-surface:#fff;--bg-muted:#f1f3f6;--bg-hover:#eef1f5;--bg-input:#fff;--bg-overlay:#0f172a73;--text-primary:#0f172a;--text-secondary:#5b6472;--text-muted:#6b7483;--text-inverse:#fff;--border-default:#e5e8ec;--border-strong:#d7dce3;--shadow-sm:0 1px 2px #1018280d;--shadow-lg:0 12px 32px #10182824;--ring:0 0 0 3px #2563eb47;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-light:#eaf0fe;--ok:#0a7d57;--ok-light:#e6f6f0;--warn:#92400e;--warn-light:#fbf1e6;--err:#b91c1c;--err-light:#fdecec;--neutral:#5b6472;--neutral-light:#f1f3f6;--radius:10px;--radius-sm:6px;--radius-lg:14px}:root[data-theme=dark]{--bg-page:#0b0e14;--bg-surface:#121722;--bg-muted:#1a2130;--bg-hover:#1f2635;--bg-input:#1a2130;--bg-overlay:#0009;--text-primary:#e7eaf0;--text-secondary:#a4acb9;--text-muted:#8b94a3;--text-inverse:#0b0e14;--border-default:#232a38;--border-strong:#2e3648;--shadow-sm:0 1px 2px #00000059;--shadow-lg:0 12px 32px #0009;--ring:0 0 0 3px #4c8dff66;--accent:#4c8dff;--accent-strong:#93b8ff;--accent-light:#14233a;--ok:#6ee7b7;--ok-light:#0c2a22;--warn:#fcd34d;--warn-light:#3a2a0a;--err:#fca5a5;--err-light:#3a1414;--neutral:#a4acb9;--neutral-light:#1a2130}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-page);color:var(--text-primary);font:400 15px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{box-shadow:var(--ring);outline:none}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13.5px}.muted{color:var(--text-muted)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn svg{flex:none;width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{color:var(--err)}.btn-danger:hover:not(:disabled){background:var(--err-light)}.btn-lg{height:46px;padding:0 22px;font-size:16px}.btn-icon{width:34px;height:34px;color:var(--text-secondary);padding:0}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-secondary);font-size:13.5px;font-weight:500}.input{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;height:40px;padding:0 12px}.input:focus{border-color:var(--accent)}.hint{color:var(--text-muted);font-size:13px}.error-text{color:var(--err);font-size:14px}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.badge svg{width:15px;height:15px}.badge.ok{background:var(--ok-light);color:var(--ok)}.badge.warn{background:var(--warn-light);color:var(--warn)}.badge.err{background:var(--err-light);color:var(--err)}.badge.neutral{background:var(--neutral-light);color:var(--neutral)}.badge.info{background:var(--accent-light);color:var(--accent)}.overlay{z-index:50;background:var(--bg-overlay);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-surface);border-radius:var(--radius-lg);width:min(460px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:18px;padding:24px;display:flex}.modal h2{font-size:19px;font-weight:600}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.table{border-collapse:separate;border-spacing:0;width:100%}.table th{z-index:1;background:var(--bg-muted);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-default);white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:600;position:sticky;top:0}.table td{border-bottom:1px solid var(--border-default);vertical-align:middle;padding:10px 14px}.table tr:last-child td{border-bottom:none}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.marque{white-space:nowrap;align-items:baseline;gap:10px;display:inline-flex}.marque-mot{letter-spacing:.02em;color:var(--text-primary);font-size:20px;font-weight:700}.marque-point{color:var(--accent)}.marque-metier{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.marque-grande .marque-mot{font-size:30px}.marque-grande .marque-metier{font-size:13px}.ecran-centre{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100%;padding:24px 16px;display:flex}.pub-carte{width:min(400px,100%);box-shadow:var(--shadow-sm);flex-direction:column;gap:18px;padding:32px 28px;display:flex}.pub-logo{justify-content:center;min-height:36px;display:flex}.pub-titre{text-align:center;font-size:20px;font-weight:600}.pub-note{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:13px;display:flex}.pub-note svg{flex:none;margin-top:2px}.pub-info{border-radius:var(--radius-sm);background:var(--warn-light);color:var(--text-primary);margin:0;padding:10px 12px;font-size:14px;line-height:1.45}
