.admin-page{box-sizing:border-box;width:min(1100px,94vw);margin:0 auto;padding:1.5rem 0 4rem}.admin-page h1{margin:0 0 .3rem;font-size:1.6rem}.admin-muted{color:var(--muted);margin:.3rem 0 .8rem;font-size:.9rem}.admin-banner{border-radius:8px;margin:.5rem 0;padding:.6rem .9rem;font-size:.9rem}.admin-banner--warn{color:#f5a623;background:#f5a62324}.admin-card{background:#0d1426;border:1px solid #1e2a4a;border-radius:12px;margin:1rem 0;padding:1rem 1.2rem}.admin-card summary{cursor:pointer;font-weight:700}.admin-card-head{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:.6rem;display:flex}.admin-card-head h2{margin:0;font-size:1.15rem}.admin-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.admin-inline{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.admin-create{margin:1rem 0}.admin-table{border-collapse:collapse;width:100%;margin-bottom:.8rem;font-size:.92rem}.admin-table th{text-align:left;color:var(--muted);padding:.3rem .5rem;font-size:.8rem;font-weight:600}.admin-table td{vertical-align:middle;border-top:1px solid #172038;padding:.35rem .5rem}.admin-probe-name{overflow-wrap:anywhere;margin-right:.5rem}.admin-badges{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.admin-badge{color:#aab3c8;background:#1a2440;border-radius:6px;padding:.12rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.admin-badge--pre{color:#60a5fa;background:#60a5fa26}.admin-status--1{color:#22c55e;background:#22c55e26}.admin-status--0{color:#ef4444;background:#ef44442e}.admin-status--2,.admin-status--missing{color:#f5a623;background:#f5a62329}.admin-status--3{color:#60a5fa;background:#60a5fa29}.admin-tile--ok{color:#22c55e;background:#22c55e26}.admin-tile--error{color:#ef4444;background:#ef44442e}.admin-tile--warning{color:#f5a623;background:#f5a62329}.admin-tile--maintenance{color:#60a5fa;background:#60a5fa29}.admin-picker{border:1px dashed #263459;border-radius:10px;margin-top:.8rem;padding:.8rem}.admin-picker-actions{flex-wrap:wrap;gap:.5rem;margin:.6rem 0;display:flex}.admin-picker-list{max-height:22rem;margin:.4rem 0;padding:0;list-style:none;overflow-y:auto}.admin-picker-list li{border-top:1px solid #172038;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .2rem;display:flex}.admin-picker-list label{color:var(--text);flex-direction:row;align-items:center;gap:.5rem;font-size:.92rem;display:inline-flex}button.secondary{color:var(--text);background:0 0;border:1px solid #263459}button.danger{background:#b91c1c}.admin-nav{border-bottom:1px solid #172038;flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.2rem;display:flex}.admin-nav a{color:#93c5fd}.admin-nav .admin-actions{align-items:center;margin-left:auto}.sw-root{--sw-bg:#0a0e1a;--sw-panel:#131a2c;--sw-header:#182240;--sw-border:#232c47;--sw-row:#171f36;--sw-text:#eef1f8;--sw-muted:#5b6580;--sw-tag:#8a93ac;--sw-danger:#ef4444;--sw-warning:#f5a623;--sw-ok-1:#16a34a;--sw-ok-2:#0f7a37;--sw-ok-3:#085c29;--sw-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;box-sizing:border-box;color:var(--sw-text);background:var(--sw-bg);border-radius:10px;font-family:inherit;line-height:1.4;overflow:hidden}.sw-root *,.sw-root :before,.sw-root :after{box-sizing:inherit}.sw-header{background:var(--sw-header);border-bottom:1px solid var(--sw-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.sw-title{align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:inline-flex}.sw-updated{color:var(--sw-muted);margin:0;font-size:.82rem}.sw-panels{flex-direction:column;gap:16px;padding:16px;display:flex}.sw-panel{border:1px solid var(--sw-border);background:var(--sw-panel);border-radius:10px;overflow:hidden}.sw-panel-head{background:var(--sw-header);justify-content:space-between;align-items:center;padding:.85rem 1.1rem;display:flex}.sw-panel-title{letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:inline-flex}.sw-dot{border-radius:9999px;width:9px;height:9px}.sw-dot--danger{background:var(--sw-danger);box-shadow:0 0 8px var(--sw-danger)}.sw-dot--warning{background:var(--sw-warning);box-shadow:0 0 8px var(--sw-warning)}.sw-count{font-size:1.4rem;font-weight:700}.sw-count--danger{color:var(--sw-danger)}.sw-count--warning{color:var(--sw-warning)}.sw-rows{flex-direction:column;gap:6px;padding:8px;display:flex}.sw-row{background:var(--sw-row);border-left:3px solid;border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.sw-row--danger{border-left-color:var(--sw-danger)}.sw-row--warning{border-left-color:var(--sw-warning)}.sw-row-main{flex:1;min-width:0}.sw-msg{text-overflow:ellipsis;white-space:nowrap;font-family:var(--sw-mono);color:var(--sw-text);margin:0;font-size:1rem;font-weight:500;overflow:hidden}.sw-date{color:var(--sw-muted);margin:2px 0 0;font-size:.75rem}.sw-row-side{color:var(--sw-tag);flex-shrink:0;align-items:center;gap:8px;display:flex}.sw-tag{background:var(--sw-border);letter-spacing:.04em;text-transform:uppercase;color:var(--sw-tag);border-radius:6px;padding:.28rem .55rem;font-size:.68rem;font-weight:600}.sw-picto{border-radius:9999px;flex-shrink:0}.sw-picto--initial{background:var(--sw-border);color:var(--sw-tag);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.sw-ok{text-align:center;color:#fff;background:radial-gradient(circle at 50% 30%, var(--sw-ok-1) 0%, var(--sw-ok-2) 65%, var(--sw-ok-3) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:28px 16px;display:flex;position:relative}.sw-ok-ring{pointer-events:none;border:2px solid #ffffff73;border-radius:9999px;animation:2.5s ease-out infinite sw-pulse;position:absolute;inset:0}.sw-ok-inner{z-index:1;position:relative}.sw-ok-icon{background:#ffffff26;border-radius:9999px;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 16px;display:flex;position:relative;box-shadow:0 0 0 8px #ffffff14}.sw-ok h2{margin:0 0 6px;font-size:1.6rem;font-weight:700}.sw-ok p{color:#ffffffe6;margin:0 0 12px}.sw-ok-badge{background:#fff3;border-radius:9999px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 14px;font-size:.85rem;display:inline-flex}.sw-ok-checked{color:#ffffffd9;font-size:.85rem}@keyframes sw-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.sw-state{text-align:center;color:#eef1f8a6;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:160px;padding:24px;font-size:.9rem;display:flex}.sw-state--error{color:var(--sw-warning)}.sw-retry{border:1px solid var(--sw-border);color:var(--sw-text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:.85rem}.sw-retry:hover{background:var(--sw-header)}.sw-stale{color:var(--sw-warning);background:#f5a62326;margin:0;padding:6px 20px;font-size:.8rem}@media (prefers-reduced-motion:reduce){.sw-ok-ring{opacity:.4;animation:none}}html.dash-tv{font-size:clamp(16px,.95vw,28px)}.dash{box-sizing:border-box;color:#f1f5f9;background:radial-gradient(70% 60% at 50% 15%,#0f1838 0%,#0a1024 40%,#040813 80%);flex-direction:column;gap:24px;height:100vh;padding:21px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;display:flex;overflow:hidden}.dash-grid{grid-template-columns:repeat(var(--cols,1), minmax(0, 1fr));flex:1;gap:24px;min-height:0;display:grid}.dash-panel{background:#0d1528;border:1px solid #1a2440;border-radius:16px;flex-direction:column;min-height:0;padding:26px 28px;display:flex}.dash-panel-head{border-bottom:1px solid #1d2742;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 18px;padding-bottom:16px;display:flex}.dash-panel-head h2{color:#fff;margin:0;font-size:1.1rem;font-weight:700}.dash-panel-meta{color:#7c88a6;margin:0;font-size:.85rem}.dash-panel-body{scrollbar-width:none;flex:1;min-height:0;overflow-y:auto}.dash-panel-body::-webkit-scrollbar{display:none}.dash-message{color:#94a3b8;margin:0;padding:12px 0;font-size:.95rem}.dash-message--error{color:#f5a623}.dash-panel .sw-root{--sw-bg:transparent;--sw-panel:#0b1326;--sw-header:#111b34;--sw-border:#1d2742;--sw-row:#131d36;--sw-muted:#7c88a6;--sw-tag:#aab3c8;border-radius:12px}.dash-panel .sw-header,.dash-panel .sw-ok{display:none}.dash-panel-body{flex-direction:column;display:flex}.dash-panel-body>*{flex-shrink:0}.dash-empty{color:#7c88a6;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:.8rem;display:flex}.dash-empty svg{color:#3fae6a}.dash-empty p{color:#cbd5e1;margin:0;font-size:2rem;font-weight:600}.dash-panel .sw-msg{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.dash-panel .sw-state{font-size:1.4rem}.dash-panel .sw-stale{font-size:1.05rem}.dash-tiles{grid-template-columns:repeat(var(--tile-cols,4), minmax(0, 1fr));flex:none;grid-auto-rows:1fr;gap:16px;display:grid}.dash-tiles-message{flex:none;padding:0}.dash-tile{border:1px solid;border-radius:12px;align-items:center;gap:.8rem;min-width:0;padding:1rem 1.3rem;display:flex}.dash-tile-dot{background:currentColor;border-radius:9999px;flex:none;width:.7rem;height:.7rem;box-shadow:0 0 10px}.dash-tile-name{overflow-wrap:anywhere;color:#fff;flex:1;min-width:0;font-weight:700}.dash-tile-label{text-align:right;flex:none;max-width:55%;font-weight:700}.dash-tile--ok{color:#22c55e;background:linear-gradient(135deg,#0e2a24,#12352f);border-color:#1f8a55}.dash-tile--error{color:#ef4444;background:linear-gradient(135deg,#2a1423,#3a1a28);border-color:#7f2a3a}.dash-tile--warning{color:#f5a623;background:linear-gradient(135deg,#2a2112,#38291a);border-color:#8a6a1f}.dash-tile--maintenance,.dash-tile--info{color:#60a5fa;background:linear-gradient(135deg,#10203a,#152a4a);border-color:#2b5aa8}.dash-tile--unknown{color:#94a3b8;background:linear-gradient(135deg,#171e30,#1d2539);border-color:#3a4566}[data-more-below]{-webkit-mask-image:linear-gradient(#000 calc(100% - 3rem),#0000);mask-image:linear-gradient(#000 calc(100% - 3rem),#0000)}[data-more-above]{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - 3rem),#0000);mask-image:linear-gradient(0deg,#000 calc(100% - 3rem),#0000)}[data-more-above][data-more-below]{-webkit-mask-image:linear-gradient(#0000,#000 3rem calc(100% - 3rem),#0000);mask-image:linear-gradient(#0000,#000 3rem calc(100% - 3rem),#0000)}.dash-panel-body[data-pinned]{overflow:hidden}.dash-panel-body[data-pinned]>.sw-root{flex-direction:column;flex:auto;min-height:0;display:flex}.dash-panel-body[data-pinned] .sw-panels{flex:auto;min-height:0}.dash-panel-body[data-pinned] .sw-panel{flex-direction:column;min-height:0;display:flex}.dash-panel-body[data-pinned] .sw-panel-head{flex:none}.dash-panel-body[data-pinned] .sw-rows{scrollbar-width:none;will-change:transform;min-height:0;overflow-y:auto}.dash-panel-body[data-pinned] .sw-rows::-webkit-scrollbar{display:none}.dash-panel-body[data-pinned] .sw-panel[data-severity=danger]{flex:0 auto;max-height:60%}.dash-panel-body[data-pinned] .sw-panel[data-severity=warning]{flex:1 1 0}.dash-panel-body[data-pinned] .sw-panel[data-alone=true]{flex:auto;max-height:none}.op-row{--op-color:var(--sw-tag);border-left-color:var(--op-color)}.op-row--finished{--op-color:#00a65a}.op-row--progress-out{--op-color:#3c8dbc}.op-row--progress-in{--op-color:#00c0ef}.op-row--info{--op-color:gold}.op-row--warning{--op-color:#f80}.op-row--danger{--op-color:#e72424}.op-status{background:var(--op-color);color:#0a0e1a;font-weight:800}.op-row--danger .op-status{color:#fff}.op-dot{background:#3c8dbc;box-shadow:0 0 8px #3c8dbc}.op-count{color:#3c8dbc}.op-channel-picto{background:var(--dash-picto-bg);width:40px;height:40px;box-shadow:inset 0 0 0 1.5px var(--dash-picto-ring);color:var(--op-color);border-radius:9999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.op-channel-picto svg{width:25px;height:25px}.op-icon-tag{align-items:center;padding:.15rem .4rem;display:inline-flex}.op-icon-tag svg{width:1.1em;height:1.1em}.op-time{font-variant-numeric:tabular-nums}.op-flag--manual{color:#22c55e}.op-row .sw-row-side{align-items:center}.dash-empty--warn p{color:#f5a623}.dash-panel{--dash-picto-bg:#0b1326;--dash-picto-ring:#2b3a66;--dash-picto-fg:#f1f5f9}.dash-panel .sw-picto--initial{background:var(--dash-picto-bg);color:var(--dash-picto-fg);box-shadow:inset 0 0 0 1.5px var(--dash-picto-ring)}.dash-panel .sw-picto--initial[title*=data i]{background:var(--dash-picto-bg) url(/assets/data-engineering-Dfob2YpU.png) center / cover no-repeat;color:#0000}.dash-panel .sw-picto--initial[title*=software i]{background:var(--dash-picto-bg) url(/assets/software-DufAVlYh.png) center / cover no-repeat;color:#0000}.dash-panel .sw-picto--initial[title*=support i]{background:var(--dash-picto-bg) url(/assets/support-CnFpimku.png) center / cover no-repeat;color:#0000}.dash-panel img.sw-picto{background:var(--dash-picto-bg);box-shadow:inset 0 0 0 1.5px var(--dash-picto-ring);filter:invert()}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070b18;--text:#f1f5f9;--muted:#94a3b8;--ok:#22c55e;--ko:#ef4444}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100%;display:flex}h1{margin:0;font-size:2rem}.muted{color:var(--muted);margin:0}.api{margin-top:1rem;font-size:.9rem}.api-ok{color:var(--ok)}.api-error{color:var(--ko)}.card{background:#0d1426;border:1px solid #1e2a4a;border-radius:12px;flex-direction:column;gap:.9rem;width:min(22rem,90vw);margin-top:1.2rem;padding:1.4rem;display:flex}label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}input{color:var(--text);background:#070b18;border:1px solid #263459;border-radius:8px;padding:.6rem .7rem;font-size:1rem}input:focus-visible,button:focus-visible,.button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}button,.button{color:#fff;text-align:center;cursor:pointer;background:#2563eb;border:0;border-radius:8px;padding:.65rem .9rem;font-size:1rem;text-decoration:none}button:disabled{opacity:.6;cursor:progress}.button.secondary{color:var(--text);background:0 0;border:1px solid #263459}.error{color:var(--ko);margin:0;font-size:.9rem}
