.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--bg: #f5f6fa;--bg-card: #ffffff;--bg-hover: #eef0f5;--text: #2c3e50;--text-muted: #7f8c8d;--accent: #00a888;--accent-dim: #008f73;--danger: #e74c3c;--warning: #f39c12;--success: #27ae60;--border: #dcdfe6;--radius: 8px;--sourdine: #7c5cd6}[data-theme=dark]{--bg: #0f0f1a;--bg-card: #1a1a2e;--bg-hover: #252540;--text: #e0e0e0;--text-muted: #888;--accent: #00d4aa;--accent-dim: #00a888;--danger: #ff4757;--warning: #ffa502;--success: #2ed573;--border: #2a2a4a;--sourdine: #a48cf0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}.container{max-width:1200px;margin:0 auto;padding:0 16px}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar__header{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.sidebar__logo{font-size:1.1rem;font-weight:700;color:var(--text)!important;text-decoration:none!important;display:flex;align-items:center;gap:8px}.sidebar__nav{flex:1;overflow-y:auto;padding:8px 0}.sidebar__section{margin-bottom:2px}.sidebar__section-title{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-left:3px solid var(--accent);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 16px;cursor:pointer;transition:all .2s ease;background:color-mix(in srgb,var(--accent) 6%,transparent)}.sidebar__section-title:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.sidebar__section--expanded .sidebar__section-title{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.sidebar__section-arrow{font-size:.9rem;font-weight:400}.sidebar__menu{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;transition:max-height .25s ease}.sidebar__section--expanded .sidebar__menu{max-height:300px}.sidebar__link{display:flex;align-items:center;gap:8px;padding:7px 16px 7px 22px;color:var(--text-muted)!important;text-decoration:none!important;font-size:.85rem;transition:all .15s ease;border-left:3px solid transparent}.sidebar__link:hover{background:var(--bg-hover);color:var(--text)!important}.sidebar__badge{background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;margin-left:auto}.sidebar__link--active{background:var(--bg-hover);color:var(--accent)!important;border-left-color:var(--accent)}.sidebar__footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.sidebar__theme-btn{width:100%;padding:6px 12px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:all .15s}.sidebar__theme-btn:hover{background:var(--border);color:var(--text)}.sidebar__account-link{display:block;padding:6px 12px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius);color:var(--accent)!important;text-decoration:none!important;font-size:.8rem;text-align:center;transition:all .15s}.sidebar__account-link:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.sidebar__logout-btn{width:100%;padding:6px 12px;background:none;border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);cursor:pointer;font-size:.8rem;transition:all .15s}.sidebar__logout-btn:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.sidebar__version{font-size:.7rem;color:var(--text-muted);text-align:center;padding-top:4px;opacity:.6}.app-content{flex:1;min-width:0;margin-left:220px;padding:20px 0 40px;min-height:100vh}.table-defilante{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-header,.mobile-overlay{display:none}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:.9rem;cursor:pointer;transition:background .2s}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:var(--accent-dim)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.badge-online{background:#2ed57326;color:var(--success)}.badge-offline{background:#ff475726;color:var(--danger)}.gauge{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:4px}.gauge-fill{height:100%;border-radius:3px;transition:width .3s}.gauge-ok{background:var(--success)}.gauge-warn{background:var(--warning)}.gauge-crit{background:var(--danger)}.metric-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.metric-label{font-size:.8rem;color:var(--text-muted)}.metric-value{font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.time-range{display:flex;gap:4px;margin:16px 0}.time-range button{padding:4px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-size:.8rem}.time-range button.active{background:var(--accent);color:#000;border-color:var(--accent)}input,select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:8px 12px;font-size:.9rem}input:focus,select:focus{outline:none;border-color:var(--accent)}.token-display{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-family:monospace;font-size:.85rem;word-break:break-all;margin:8px 0}.page-title{font-size:1.4rem;margin:24px 0 8px}.page-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:16px}.loading{text-align:center;padding:40px;color:var(--text-muted)}.chart-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.chart-title{font-size:.9rem;color:var(--text-muted);margin-bottom:12px}.disk-squares{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.disk-square{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:#fff;position:relative;cursor:default}.disk-square.disk-ok{background:var(--success)}.disk-square.disk-warn{background:var(--warning)}.disk-square.disk-crit{background:var(--danger)}.disk-square-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:.7rem;white-space:nowrap;z-index:10;color:var(--text);box-shadow:0 2px 8px #00000026;margin-bottom:4px}.disk-square:hover .disk-square-tooltip{display:block}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0006;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h3{margin-bottom:12px;font-size:1rem}.disk-config-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.85rem}.disk-config-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);padding:0}.disk-config-row .disk-mount{flex:1;font-family:monospace;font-size:.8rem}.disk-config-row .disk-pct{font-weight:600;font-variant-numeric:tabular-nums}.disk-settings-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:4px;transition:color .2s}.disk-settings-btn:hover{color:var(--accent)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:380px}.login-card h1{text-align:center;font-size:1.4rem;margin-bottom:24px}.login-card h1 span{color:var(--accent)}.tag-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:600;border:1px solid transparent;cursor:default;transition:opacity .15s,border-color .15s}.tag-badge.tag-badge-clickable{cursor:pointer}.tag-badge.tag-badge-clickable:hover{opacity:.85}.tag-badge.tag-badge-active{border-color:currentColor}.tag-badge .tag-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:.8rem;padding:0;line-height:1;opacity:.7}.tag-badge .tag-remove:hover{opacity:1}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{text-align:left;padding:8px;color:var(--text-muted);border-bottom:2px solid var(--border);font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th:hover{color:var(--accent)}.data-table th .sort-indicator{margin-left:4px;font-size:.65rem}.data-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr.clickable{cursor:pointer}.filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.search-input{flex:0 1 260px;min-width:160px}.filter-tags{display:flex;gap:4px;flex-wrap:wrap}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.view-toggle button{padding:5px 14px;background:var(--bg-card);border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:background .15s,color .15s}.view-toggle button:not(:last-child){border-right:1px solid var(--border)}.view-toggle button.active{background:var(--accent);color:#000}.bulk-bar{position:sticky;bottom:0;background:var(--bg-card);border-top:2px solid var(--accent);padding:10px 16px;display:flex;align-items:center;gap:12px;z-index:50;box-shadow:0 -2px 8px #0000001a}.bulk-bar .bulk-count{font-size:.85rem;font-weight:600;color:var(--accent);white-space:nowrap}.bulk-bar .btn{padding:6px 12px;font-size:.8rem}.bulk-bar .btn-deselect{background:none;border:1px solid var(--border);color:var(--text-muted)}.bulk-bar .btn-deselect:hover{border-color:var(--text);color:var(--text)}.data-table td.checkbox-cell,.data-table th.checkbox-cell{width:32px;text-align:center;cursor:pointer}.data-table th.checkbox-cell:hover{color:var(--text-muted)}.data-table .checkbox-cell input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;padding:0}.data-table tbody tr.selected{background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.data-table tbody tr.selected:hover{background:color-mix(in srgb,var(--accent) 14%,var(--bg))}.bulk-tag-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.bulk-tag-panel .tag-badge{cursor:pointer}.form-group{margin-bottom:14px}.form-label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.form-input{width:100%}.form-error{color:var(--danger);font-size:.85rem;text-align:center;margin-bottom:12px}.commands-section{margin-top:32px;padding:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px}.commands-title{margin:0 0 16px;font-size:1rem;font-weight:600}.commands-actions{display:flex;gap:8px;margin-bottom:12px}.commands-shell-form{display:flex;gap:8px;margin-bottom:16px}.commands-shell-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-family:monospace;font-size:.85rem}.commands-timeout-input{width:60px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-size:.85rem;text-align:center}.commands-list{display:flex;flex-direction:column;gap:6px}.command-item{padding:8px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .15s}.command-item:hover{background:var(--hover)}.command-header{display:flex;align-items:center;gap:8px;font-size:.85rem}.command-status-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase}.command-type{font-weight:500;color:var(--text)}.command-time{color:var(--text-muted);font-size:.75rem;margin-left:auto}.command-exit{font-family:monospace;font-size:.75rem;padding:1px 6px;border-radius:4px}.exit-ok{color:#00d4aa;background:#00d4aa1a}.exit-err{color:#ff4757;background:#ff47571a}.command-preview{margin-top:4px;font-family:monospace;font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-output{margin-top:8px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-family:monospace;font-size:.8rem;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;color:var(--text)}.btn-sm{padding:5px 12px;font-size:.8rem}.expanded-row td{padding:0!important;border-bottom:2px solid var(--accent)}.expanded-content{padding:16px 20px;background:color-mix(in srgb,var(--accent) 3%,var(--bg-card))}.tab-bar{display:flex;gap:0;margin:16px 0;border-bottom:2px solid var(--border)}.tab-bar button{padding:8px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.tab-bar button:hover{color:var(--text)}.tab-bar button.active{color:var(--accent);border-bottom-color:var(--accent)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:16px}.load-avg-display{display:flex;gap:24px}.load-avg-item{display:flex;flex-direction:column;align-items:center}.load-avg-label{font-size:.7rem;text-transform:uppercase;opacity:.7;margin-bottom:2px}.load-avg-value{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.cert-expiry{white-space:nowrap}@media(max-width:768px){.mobile-header{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:52px;background:var(--bg-card);border-bottom:1px solid var(--border);padding:0 16px;z-index:150}.mobile-header__title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:6px}.mobile-header__toggle{background:none;border:none;color:var(--text);font-size:1.4rem;padding:6px;cursor:pointer;line-height:1}.sidebar{left:-220px;width:220px;transition:left .3s ease;z-index:200}.app-layout--mobile-open .sidebar{left:0}.app-content{margin-left:0;margin-top:52px;padding:12px 0 40px;min-height:calc(100vh - 52px)}.container{padding:0 10px}.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:190}.app-layout--mobile-open .mobile-overlay{display:block}.filter-bar{flex-direction:column;align-items:stretch}.search-input{flex:1 1 auto}.hide-mobile{display:none}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:6px 4px}.expanded-content{padding:12px}.chart-grid,.card-grid{grid-template-columns:1fr}.page-title{font-size:1.2rem;margin:16px 0 4px}.bulk-bar{flex-wrap:wrap;gap:8px;padding:8px 10px}.bulk-bar .btn{padding:5px 10px;font-size:.75rem}.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-bar button{padding:8px 14px;font-size:.8rem;white-space:nowrap}.login-card{padding:24px 20px;margin:0 12px}.websites-header{flex-direction:column;align-items:flex-start!important;gap:8px}.websites-actions{width:100%;flex-wrap:wrap}.websites-table{table-layout:auto!important;min-width:0!important}.app-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-content input,.app-content select,.app-content textarea{max-width:100%}.ligne-formulaire{flex-direction:column;align-items:stretch!important}.ligne-formulaire>*{flex:1 1 auto!important;min-width:0}.formulaire-regle input,.formulaire-regle select,.formulaire-regle>div>div{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}.time-range--onglets{flex-wrap:wrap}.app-content pre,.app-content code{white-space:pre-wrap;word-break:break-word}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.indicateur-sourdine{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:var(--sourdine)!important;background:color-mix(in srgb,var(--sourdine) 14%,transparent);border:1px solid color-mix(in srgb,var(--sourdine) 40%,transparent);text-decoration:none!important;white-space:nowrap}.indicateur-sourdine--vide{color:var(--text-muted)!important;background:transparent;border-color:var(--border);font-weight:500}.sidebar__header{flex-direction:column;align-items:flex-start}.btn-sourdine{background:color-mix(in srgb,var(--sourdine) 12%,transparent);color:var(--sourdine);border:1px solid color-mix(in srgb,var(--sourdine) 35%,transparent)}.btn-sourdine:hover{background:color-mix(in srgb,var(--sourdine) 22%,transparent)}.btn-sourdine-active{background:var(--sourdine);color:#fff;border:1px solid var(--sourdine)}.btn-sourdine:disabled,.btn-sourdine-active:disabled{opacity:.6;cursor:default}.sourdine-libelle-court{display:none}@media(max-width:480px){.sourdine-libelle-long{display:none}.sourdine-libelle-court{display:inline}}.sourdine-ancre{position:relative;display:inline-block}.sourdine-panneau{position:absolute;right:0;top:calc(100% + 4px);z-index:200;width:300px;max-width:calc(100vw - 32px);padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 24px #0000002e;text-align:left;white-space:normal;font-size:.85rem;color:var(--text);cursor:default}.sourdine-panneau__titre{font-weight:700;margin-bottom:8px}.sourdine-panneau__cible{margin-bottom:8px;color:var(--text-muted)}.sourdine-panneau__portees{border:none;margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.sourdine-panneau__portees legend{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.sourdine-panneau__portees label{display:flex;align-items:center;gap:6px;cursor:pointer}.sourdine-panneau__champ{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:.75rem;color:var(--text-muted)}.sourdine-panneau__champ select,.sourdine-panneau__champ input{width:100%;font-size:.85rem}.sourdine-panneau__aide{font-size:.75rem;color:var(--text-muted);margin-bottom:8px}.sourdine-panneau__erreur{color:var(--danger);font-size:.8rem;margin-bottom:8px}.sourdine-panneau__actions{display:flex;gap:8px}.sourdine-panneau__actions .btn{padding:6px 12px;font-size:.8rem}.segment-sourdine{background:repeating-linear-gradient(-45deg,var(--sourdine) 0 4px,color-mix(in srgb,var(--sourdine) 35%,transparent) 4px 8px)!important}.badge-sourdine{background:color-mix(in srgb,var(--sourdine) 16%,transparent);color:var(--sourdine)}.mobile-header .indicateur-sourdine{margin-top:0}.websites-table td{overflow:hidden;overflow-wrap:anywhere}.websites-table td.websites-table__actions{overflow:visible}.websites-table .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;padding:2px 6px}.badge-plafond{background:var(--bg-hover);color:var(--text-muted);font-size:.65rem;font-weight:500;margin-top:2px}.site-aide{margin-top:8px;font-size:.78rem;color:var(--text-muted);max-width:70ch}.surv{display:flex;flex-direction:column;gap:12px;min-width:0}.surv-muet{color:var(--text-muted);font-size:.8rem}.surv-erreur{color:var(--danger);font-size:.85rem}.surv-pastille{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.surv-pastille__point{flex:0 0 auto;width:7px;height:7px;border-radius:50%}.surv-synthese{display:flex;flex-direction:column;gap:10px}.surv-synthese__phrase{font-size:1rem;line-height:1.6}.surv-synthese__morceau{white-space:nowrap}.surv-greffons{display:flex;flex-wrap:wrap;gap:6px}.surv-aide{font-size:.85rem;padding:0 4px}.surv-aide summary{cursor:pointer;color:var(--accent);font-weight:600}.surv-aide ul{margin:8px 0 6px;padding-left:20px;display:flex;flex-direction:column;gap:4px}.surv-categorie{min-width:0}.surv-categorie__entete{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}.surv-categorie__titre{margin:0;font-size:1rem}.surv-absente{border-left:3px solid var(--warning);padding:6px 10px;font-size:.85rem;display:flex;flex-direction:column;gap:6px}.surv-absente--sans-objet{border-left-color:var(--border);color:var(--text-muted)}.surv-absente p{margin:0}.surv-commande{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.surv-commande code{flex:1 1 260px;min-width:0;padding:6px 8px;border-radius:6px;background:var(--bg-hover);font-size:.78rem;overflow-wrap:anywhere;word-break:break-all}.surv-note{margin:0 0 6px;font-size:.82rem;color:var(--text-muted)}.surv-liste{container-type:inline-size;font-size:.85rem}.surv-ligne{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(110px,.9fr) minmax(170px,1.5fr) minmax(150px,1.2fr) minmax(120px,1fr);gap:8px;align-items:start;padding:8px 4px;border-bottom:1px solid var(--border)}.surv-ligne:not(:has(.surv-cellule--actions)):not(.surv-entete),.surv-liste:not(:has(.surv-cellule--actions)) .surv-entete{grid-template-columns:minmax(130px,1.1fr) minmax(110px,.9fr) minmax(170px,1.5fr) minmax(150px,1.2fr)}.surv-entete{font-size:.75rem;color:var(--text-muted);font-weight:600;padding-top:0}.surv-ligne--en_alerte{background:color-mix(in srgb,var(--danger) 7%,transparent)}.surv-ligne--non_surveille .surv-nom{color:var(--text-muted)}.surv-ligne--visee{outline:2px solid var(--accent);outline-offset:-2px}.surv-cellule{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.surv-nom{font-family:monospace;font-weight:600;overflow-wrap:anywhere}.surv-detail,.surv-raison{color:var(--text-muted);font-size:.75rem;overflow-wrap:anywhere}.surv-regles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:.78rem}.surv-regle__severite{font-weight:700;white-space:nowrap}.surv-cellule--actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center}.surv-libelle-mobile{display:none}.surv-bandeau{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:16px}.surv-bandeau__texte{display:flex;flex-direction:column;gap:2px;min-width:0}.surv-bandeau__titre{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.surv-details-techniques{margin-top:4px}.surv-details-techniques>summary{cursor:pointer;font-weight:600;font-size:.9rem}.surv-details-techniques{min-width:0;overflow:hidden}@container (max-width: 860px){.surv-ligne.surv-entete{display:none}.surv-ligne,.surv-ligne:not(:has(.surv-cellule--actions)):not(.surv-entete){display:flex;flex-direction:column;gap:6px;padding:10px 8px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px}.surv-cellule--etat,.surv-cellule--statut,.surv-cellule--regle{flex-direction:row;flex-wrap:wrap;align-items:center}.surv-libelle-mobile{display:inline;flex:0 0 auto;min-width:92px;font-size:.72rem;color:var(--text-muted)}.surv-cellule--statut .surv-raison{flex-basis:100%}.surv-cellule--actions{justify-content:flex-start;padding-top:6px;border-top:1px dashed var(--border);width:100%}}.surv-decouverts{container-type:inline-size}.surv-decouverts__recherche{width:100%;max-width:420px;margin:2px 0 8px;box-sizing:border-box}.surv-decouverts__liste{list-style:none;margin:0;padding:0;font-size:.85rem}.surv-decouverte{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--border)}.surv-decouverte:not(.surv-decouverte--surveillee) .surv-nom{color:var(--text-muted);font-weight:500}.surv-decouverte__nom{min-width:0;display:flex;flex-direction:column;gap:2px}.surv-decouverte__marques{display:flex;flex-wrap:wrap;gap:0 8px}.surv-decouverte__etat{min-width:0}.surv-decouverte__action{display:flex;justify-content:flex-end}.surv-decouverts__plus{margin-top:8px}@container (max-width: 560px){.surv-decouverte{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nom action" "etat action"}.surv-decouverte__nom{grid-area:nom}.surv-decouverte__etat{grid-area:etat}.surv-decouverte__action{grid-area:action;align-self:center}}@media(max-width:768px){.surv-decouverts .btn-sm{min-height:40px;padding-top:8px;padding-bottom:8px}}.parc{min-width:0}.parc-vues{flex-wrap:wrap;margin:8px 0 12px}.parc-filtres{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;margin-bottom:12px;padding:12px}.parc-filtre{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-muted);min-width:0}.parc-filtre--recherche{flex:1 1 200px}.parc-filtre input[type=search],.parc-filtre select{width:100%;min-width:0}.parc-filtre--case{flex-direction:row;align-items:center;gap:6px;font-size:.85rem;color:var(--text);padding-bottom:6px}.parc-liste{container-type:inline-size;font-size:.85rem}.parc-ligne{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(4,minmax(70px,.55fr)) minmax(200px,2fr);gap:8px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--border);cursor:pointer}.parc-ligne:hover:not(.parc-entete){background:var(--bg-hover)}.parc-entete{cursor:default;font-size:.75rem;font-weight:600;color:var(--text-muted)}.parc-ligne--alerte{background:color-mix(in srgb,var(--danger) 6%,transparent)}.parc-cellule{min-width:0}.parc-cellule--nom{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;overflow-wrap:anywhere}.parc-cellule--greffons{display:flex;flex-wrap:wrap;gap:4px}.parc-compteur{font-size:1rem}.parc-compteur__libelle{display:none}.parc-revoir{display:flex;flex-direction:column;gap:8px}.parc-revoir__carte{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none;padding:12px;min-width:0}.parc-revoir__carte:hover{background:var(--bg-hover)}.parc-revoir__tete{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.parc-revoir__machine{font-weight:700}.parc-revoir__nom{font-family:monospace;overflow-wrap:anywhere}.parc-revoir__statut{display:flex;flex-wrap:wrap;gap:6px}@container (max-width: 760px){.parc-ligne.parc-entete{display:none}.parc-ligne{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px 10px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px}.parc-cellule--nom,.parc-cellule--greffons{flex:1 1 100%}.parc-compteur{display:inline-flex;flex-direction:column;align-items:flex-start}.parc-compteur__libelle{display:inline;font-size:.7rem;color:var(--text-muted)}}.tableau-cartes-cadre{container-type:inline-size}@container (max-width: 860px){table.tableau-cartes{display:block;overflow:visible;width:100%}table.tableau-cartes thead{display:none}table.tableau-cartes tbody{display:flex;flex-direction:column;gap:8px}table.tableau-cartes tr{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px 12px;padding:10px;border:1px solid var(--border)!important;border-radius:8px}table.tableau-cartes td{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:0!important;text-align:left!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere}table.tableau-cartes td[data-label]:before{content:attr(data-label);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.7rem;font-weight:400;color:var(--text-muted)}table.tableau-cartes td.tableau-cartes__titre{grid-column:1 / -1;display:block;font-weight:600}table.tableau-cartes td.tableau-cartes__actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}table.tableau-cartes td.tableau-cartes__actions>div,table.tableau-cartes td.tableau-cartes__actions>span{justify-content:flex-start!important}table.tableau-cartes td.tableau-cartes__actions--debut{padding-top:8px!important;border-top:1px dashed var(--border)}}.rafraich{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;max-width:100%;font-size:.8rem;color:var(--text-muted)}.rafraich__etat{flex:0 1 auto;width:44ch;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-variant-numeric:tabular-nums}.rafraich__pause{color:var(--warning);font-weight:600}.rafraich__echec{color:var(--danger)}.rafraich .btn-sm{flex:none;padding:4px 10px}@media(max-width:600px){.barre-page .rafraich{flex-basis:100%;margin-left:0}.rafraich__etat{flex:1 1 0;width:auto;text-align:left}}.barre-page{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.barre-page .rafraich{margin-left:auto}.rafraich--sous-titre{margin-top:6px}.rafraich--sous-titre .rafraich__etat{text-align:left}.tuiles-surveillance{margin:0 0 16px}.tuiles-surveillance__erreur{color:var(--danger);font-size:.85rem;margin-bottom:8px}.tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.tuile{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;color:inherit;text-decoration:none;border-left:4px solid var(--border);transition:background .15s}.tuile--active{border-left-color:var(--tuile)}.tuile:hover,.tuile:focus-visible{background:var(--bg-hover)}.tuile__nombre{font-size:1.9rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.tuile__libelle{font-size:.85rem;font-weight:600}.tuile__detail{font-size:.75rem;color:var(--text-muted);overflow-wrap:anywhere}@media(max-width:600px){.tuiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tuile{padding:10px 12px}.tuile__nombre{font-size:1.6rem}}.vue-etat{min-width:0}.etat-filtres-etats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.etat-puce{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text);font-size:.85rem;cursor:pointer}.etat-puce strong{color:var(--etat);font-variant-numeric:tabular-nums}.etat-puce--active{border-color:var(--etat);background:color-mix(in srgb,var(--etat) 14%,var(--bg-card))}.etat-filtres-actifs{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 10px}.etat-filtre-machine{max-width:100%;overflow-wrap:anywhere;text-align:left;font-weight:600}.etat-resume{margin:4px 0 8px}.etat-liste{container-type:inline-size;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.85rem}.etat-objet{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"machine etat" "objet objet" "message message" "depuis liens";gap:6px 10px;align-items:center;padding:10px 12px;min-width:0;border-left:4px solid var(--etat, var(--border))}.etat-machine{grid-template-areas:"machine etat" "message message" "depuis liens"}.etat-objet>div{min-width:0}.etat-objet__machine{grid-area:machine;font-weight:700;overflow-wrap:anywhere}.etat-objet__objet{grid-area:objet;display:flex;flex-direction:column;gap:2px}.etat-objet__type{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.etat-objet__nom{font-family:monospace;overflow-wrap:anywhere}.etat-objet__etat{grid-area:etat;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.etat-objet__depuis{grid-area:depuis;color:var(--text-muted);font-size:.8rem}.etat-objet__message{grid-area:message;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.etat-objet__liens{grid-area:liens;display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.etat-objet__liens .btn-sm{min-height:36px}.etat-objet--entete{display:none}@container (min-width: 820px){.etat-objet{grid-template-columns:minmax(110px,1fr) minmax(150px,1.5fr) minmax(120px,1fr) minmax(90px,.7fr) minmax(160px,2fr) minmax(130px,auto);grid-template-areas:"machine objet etat depuis message liens"}.etat-machine{grid-template-columns:minmax(140px,1.2fr) minmax(150px,1.2fr) minmax(90px,.7fr) minmax(200px,2fr) minmax(160px,auto);grid-template-areas:"machine etat depuis message liens"}.etat-objet__etat{justify-content:flex-start}.etat-objet__liens .btn-sm{min-height:0}.etat-objet--entete{display:grid;padding:0 12px 0 16px;border-left:0;font-size:.75rem;font-weight:600;color:var(--text-muted)}.etat-objet--entete>div:nth-child(1){grid-area:machine}.etat-objet--entete>div:nth-child(2){grid-area:objet}.etat-objet--entete>div:nth-child(3){grid-area:etat}.etat-objet--entete>div:nth-child(4){grid-area:depuis}.etat-objet--entete>div:nth-child(5){grid-area:message}.etat-objet--entete>div:nth-child(6){grid-area:liens}.etat-machine.etat-objet--entete>div:nth-child(2){grid-area:etat}.etat-machine.etat-objet--entete>div:nth-child(3){grid-area:depuis}.etat-machine.etat-objet--entete>div:nth-child(4){grid-area:message}.etat-machine.etat-objet--entete>div:nth-child(5){grid-area:liens}}
