@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(../../../fonts/inclusive-sans-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inclusive Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(../../../fonts/inclusive-sans-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/inclusive-sans-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inclusive Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/inclusive-sans-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--or: #eb673a;--or-h: #d4562d;--or-l: #fef0eb;--or-xl: #fff7f4;--mode: #18543a;--mode-l: #e8f1ec;--sage: #a5af94;--terre: #a47148;--terre-h: #8a5d39;--gr: #16a34a;--gr-l: #f0fdf4;--gr-d: #15803d;--am: #f59e0b;--am-l: #fffbeb;--am-d: #b45309;--rd: #dc2626;--rd-l: #fef2f2;--rd-d: #991b1b;--sbl: #3b82f6;--sbl-l: #eff6ff;--sbl-d: #1d4ed8;--scy: #0891b2;--scy-l: #ecfeff;--scy-d: #0e7490;--bg: #fafaf7;--cd: #ffffff;--tx: #1c1917;--tx2: #44403c;--tx3: #78716c;--bd: #e7e5e4;--fd: "Inclusive Sans", sans-serif;--fb: "Inclusive Sans", sans-serif;--mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--term-bg: #1c1917;--term-tx: #e7e5e4;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.12);--shadow-lg: 0 8px 24px rgba(0,0,0,.12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{height:auto}body{min-height:100vh;font-family:var(--fb);font-size:14px;color:var(--tx);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{margin:0 0 16px;font-family:var(--fd);font-size:22px;font-weight:700;color:var(--tx)}h2{margin:24px 0 10px;font-family:var(--fd);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--mode)}h3{margin:16px 0 8px;font-family:var(--fd);font-size:15px;font-weight:600;color:var(--tx)}a{color:var(--mode);text-decoration:none}a:hover{color:var(--or)}button{font-family:inherit;cursor:pointer}code,pre{font-family:var(--mono)}input,select,textarea{font-family:inherit;width:100%;padding:8px 12px;background:#fff;border:1px solid var(--bd);border-radius:8px;font-size:14px;color:var(--tx);box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px #eb673a1f}input::placeholder,textarea::placeholder{color:var(--tx3)}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:auto}.card{background:var(--cd);border:1px solid var(--bd);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-sm)}.card.g{border-left:3px solid var(--gr)}.card.o{border-left:3px solid var(--am)}.card.r{border-left:3px solid var(--rd)}.lbl{font-family:var(--fd);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--tx3)}.val{font-size:24px;font-weight:700;color:var(--tx);margin:4px 0}.sub{font-size:11px;color:var(--tx3)}.muted{color:var(--tx3);font-style:italic}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.kpi{background:var(--cd);border:1px solid var(--bd);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow-sm)}.kpi-val{font-size:22px;font-weight:700;color:var(--tx)}.kpi-lbl{font-family:var(--fd);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--tx3);margin-top:2px}.kpi.ok{border-color:#bbf7d0;background:var(--gr-l)}.kpi.ok .kpi-val{color:var(--gr-d)}.kpi.ko{border-color:#fecaca;background:var(--rd-l)}.kpi.ko .kpi-val{color:var(--rd-d)}.tbl{width:100%;border-collapse:collapse;background:var(--cd);border:1px solid var(--bd);border-radius:12px;overflow:hidden;font-size:13px}.tbl th{background:var(--bg);color:var(--tx2);font-family:var(--fd);font-size:11px;font-weight:600;text-align:left;padding:10px 12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bd)}.tbl td{padding:10px 12px;border-top:1px solid var(--bd);color:var(--tx)}.tbl tbody tr:hover{background:var(--bg)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:4px}.dot.g{background:var(--gr)}.dot.o{background:var(--am)}.dot.r{background:var(--rd)}.badge{padding:3px 10px;border-radius:99px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.interne{background:var(--scy-l);color:var(--scy-d)}.badge.externe{background:var(--sbl-l);color:var(--sbl-d)}.b{background:var(--bg);border:1px solid var(--bd);color:var(--tx2);padding:4px 12px;border-radius:99px;font-size:12px}.b.g{background:var(--gr-l);color:var(--gr-d);border-color:#bbf7d0}.b.o{background:var(--am-l);color:var(--am-d);border-color:#fde68a}.b.r{background:var(--rd-l);color:var(--rd-d);border-color:#fecaca}.btn,.primary,.btn-add,.btn-refresh{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-family:var(--fd);font-size:13px;font-weight:600;cursor:pointer;background:var(--or);color:#fff;box-shadow:0 2px 8px #eb673a40;transition:background .15s,box-shadow .15s}.btn:hover,.primary:hover,.btn-add:hover,.btn-refresh:hover{background:var(--or-h)}.btn:disabled,.primary:disabled,.btn-add:disabled,.btn-refresh:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary,.ghost,.btn-doc{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--bd);border-radius:8px;background:#fff;color:var(--tx2);font-family:var(--fd);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.btn-secondary:hover,.ghost:hover,.btn-doc:hover{background:var(--bg);border-color:var(--tx3);color:var(--tx)}.mini{padding:4px 8px;border:none;border-radius:6px;background:var(--or);color:#fff;font-size:11px;font-weight:600;cursor:pointer}.mini:hover{background:var(--or-h)}.mini.ed{background:#fff;border:1px solid var(--bd);color:var(--tx2)}.mini.ed:hover{background:var(--bg)}.mini.dl{background:var(--terre)}.mini.dl:hover{background:var(--terre-h)}.err,.flash.err{background:var(--rd-l);color:var(--rd-d);border:1px solid #fecaca;padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:13px}.flash{padding:8px 14px;border-radius:8px;margin-bottom:12px;font-size:13px}.flash.ok{background:var(--gr-l);color:var(--gr-d);border:1px solid #bbf7d0}:not(pre)>code{background:var(--bg);border:1px solid var(--bd);color:var(--tx2);padding:1px 5px;border-radius:4px;font-size:11px}pre{background:var(--term-bg);color:var(--term-tx);padding:12px 14px;border-radius:8px;font-size:11px;overflow:auto;white-space:pre-wrap}pre code{background:none;border:none;padding:0;color:inherit}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.modal{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:20px 24px;width:520px;max-width:92vw;max-height:90vh;overflow-y:auto;color:var(--tx);box-shadow:var(--shadow-lg)}.modal h3{margin:0 0 14px;font-size:16px;font-weight:600;color:var(--tx)}.modal label{display:block;font-size:12px;font-weight:600;color:var(--tx2);margin-bottom:12px}.modal label.chk{display:flex;align-items:center;gap:8px;color:var(--tx2);font-size:13px;font-weight:500}.modal label.chk input{width:auto}.modal .row{display:flex;gap:10px}.modal .row label{flex:1}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.loading.svelte-p58nkp.svelte-p58nkp{padding:40px;text-align:center;color:var(--tx3)}.shell.svelte-p58nkp.svelte-p58nkp{display:flex;min-height:100vh}.sb.svelte-p58nkp.svelte-p58nkp{width:240px;flex-shrink:0;background:var(--cd) url(../../../topo-curves-languidic.svg) center / cover no-repeat;border-right:1px solid var(--bd);display:flex;flex-direction:column;position:relative;z-index:1}.sb-head.svelte-p58nkp.svelte-p58nkp{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#ffffffa6;border-bottom:1px solid var(--bd)}.sb-logo.svelte-p58nkp.svelte-p58nkp{height:40px;width:auto;filter:drop-shadow(0 1px 2px rgba(255,255,255,.9))}.sb-title.svelte-p58nkp.svelte-p58nkp{font-family:var(--fd);font-weight:700;font-size:15px;color:var(--tx)}.sb-sub.svelte-p58nkp.svelte-p58nkp{font-size:11px;color:var(--tx3)}.sb.svelte-p58nkp nav.svelte-p58nkp{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:8px}.sb.svelte-p58nkp nav a.svelte-p58nkp{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--cd);border:1px solid var(--bd);color:var(--tx2);font-size:13px;font-weight:500;box-shadow:0 1px 3px #00000014;transition:background .12s,color .12s,border-color .12s,box-shadow .12s,transform .1s}.sb.svelte-p58nkp nav a.svelte-p58nkp:hover{border-color:var(--mode);box-shadow:0 3px 10px #0000001f;transform:translateY(-1px)}.sb.svelte-p58nkp nav a.active.svelte-p58nkp{background:var(--mode);border-color:var(--mode);color:#fff;font-weight:600}.ic.svelte-p58nkp.svelte-p58nkp{display:inline-flex;align-items:center}.sb.svelte-p58nkp nav a .ic.svelte-p58nkp svg{width:17px;height:17px;flex-shrink:0}.sb-logout.svelte-p58nkp.svelte-p58nkp{margin:12px;padding:9px 12px;background:#fff;border:1px solid var(--bd);border-radius:8px;color:var(--tx2);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .12s,border-color .12s,color .12s}.sb-logout.svelte-p58nkp .ic.svelte-p58nkp svg{width:16px;height:16px}.sb-logout.svelte-p58nkp.svelte-p58nkp:hover{border-color:var(--rd);color:var(--rd);background:var(--rd-l)}.main.svelte-p58nkp.svelte-p58nkp{flex:1;padding:24px;background:var(--bg);min-height:100vh;overflow-x:auto}@media (max-width: 768px){.shell.svelte-p58nkp.svelte-p58nkp{flex-direction:column}.sb.svelte-p58nkp.svelte-p58nkp{width:100%}.sb.svelte-p58nkp nav.svelte-p58nkp{flex-direction:row;flex-wrap:wrap}.sb.svelte-p58nkp nav a.svelte-p58nkp{flex:1 1 auto}}
