:root{--bg-app: #E9EAEE;--bg-surface: #FFFFFF;--bg-subtle: #F4F5F7;--bg-hover: #EDEEF1;--text-primary: #1C1C1E;--text-secondary: #5F6368;--text-muted: #6B7280;--text-faint: #9AA0A6;--accent-900: #0B6B3A;--accent-700: #0F8A4D;--accent-600: #12A05C;--accent-400: #6FC49A;--accent-200: #A9D6C0;--accent-100: #D6F3E4;--accent-050: #EDFAF3;--ok: #16A34A;--warn: #D97706;--crit: #DC2626;--warn-soft: #FEF3C7;--warn-ink: #B45309;--crit-soft: #FEE2E2;--crit-ink: #B91C1C;--ok-soft: #D6F3E4;--ok-ink: #0F8A4D;--info-soft: #DCE9FD;--info-ink: #1E6FD9;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .05);--shadow-raised: 0 8px 20px rgba(18, 160, 92, .28);--shadow-pop: 0 2px 6px rgba(16, 24, 40, .06), 0 14px 34px rgba(16, 24, 40, .16);--shadow-nav: 0 -1px 0 rgba(16, 24, 40, .07), 0 -10px 30px rgba(16, 24, 40, .06);--r-card: 24px;--r-inner: 16px;--line: rgba(0, 0, 0, .055);--line-strong: rgba(0, 0, 0, .1);--line-stronger: rgba(0, 0, 0, .16);--scrim: rgba(20, 28, 24, .42);--ring-white: #FFFFFF;--bg-input: #FFFFFF;--bg-surface-hover: #FBFBFC;--bg-glass: rgba(255, 255, 255, .94);--net-bg: #F4F6F5;--geo-bg: #EDF2F0;--geo-land: #E8EEEA;--geo-sea: #DCE8EE;--geo-coast: #B6C6CC;--geo-grid: #CFD8D4;--brand-ink: #0B6B3A;--badge-ink: #12A05C;--kpi-green: #0F8A4D;--kpi-teal: #0D7C8C;--kpi-blue: #1E6FD9;--kpi-amber: #B45309;--kpi-red: #DC2626;--kpi-ink: var(--text-primary);--font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar-w: 248px;--topbar-h: 60px;--radius-sm: 8px;--radius-md: var(--r-inner);--radius-lg: var(--r-card);--radius-full: 999px;--accent: var(--accent-600);--accent-active: var(--accent-700);--accent-ink: #ffffff;--accent-text: var(--accent-700);--accent-soft: color-mix(in srgb, var(--accent-600) 12%, transparent);--canvas: var(--bg-app);--card: var(--bg-surface);--card-elevated: var(--bg-subtle);--hairline: var(--line);--hairline-strong: var(--line-stronger);--text-strong: var(--text-primary);--text-body: var(--text-secondary);--up: var(--ok);--down: var(--crit);--info: var(--info-ink);--warning: var(--warn);--up-soft: var(--ok-soft);--down-soft: var(--crit-soft);--primary: var(--accent-text);--primary-dark: var(--accent-active);--secondary: var(--text-muted);--tertiary: #0d9488;--success: var(--up);--danger: var(--down);--background: var(--canvas);--surface: var(--card);--surface-elevated: var(--card-elevated);--surface-border: var(--hairline);--separator: var(--hairline);--heading: var(--text-strong);--body: var(--text-body);--body-variant: var(--text-muted);--radius: var(--radius-md);--accent-fill: var(--accent);--accent-fill-active: var(--accent-active);--shadow: var(--shadow-card)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-app: #131719;--bg-surface: #1B2024;--bg-subtle: #242A2E;--bg-hover: #2C3338;--text-primary: #E9EDF0;--text-secondary: #A9B2B9;--text-muted: #8D97A0;--text-faint: #6D777F;--accent-900: #0E5C34;--accent-700: #1EA063;--accent-600: #23B36D;--accent-400: #59C998;--accent-200: #2E6B50;--accent-100: #1B4030;--accent-050: #142621;--ok: #3DD68C;--warn: #F0A23C;--crit: #F2626C;--warn-soft: rgba(240, 162, 60, .16);--warn-ink: #F0A23C;--crit-soft: rgba(242, 98, 108, .16);--crit-ink: #F2626C;--ok-soft: rgba(61, 214, 140, .15);--ok-ink: #3DD68C;--info-soft: rgba(122, 165, 255, .16);--info-ink: #7AA5FF;--shadow-card: 0 0 0 1px rgba(255, 255, 255, .05), 0 10px 28px rgba(0, 0, 0, .42);--shadow-raised: 0 8px 22px rgba(35, 179, 109, .3);--shadow-pop: 0 0 0 1px rgba(255, 255, 255, .07), 0 18px 44px rgba(0, 0, 0, .58);--shadow-nav: 0 -1px 0 rgba(255, 255, 255, .06), 0 -12px 34px rgba(0, 0, 0, .45);--line: rgba(255, 255, 255, .075);--line-strong: rgba(255, 255, 255, .13);--line-stronger: rgba(255, 255, 255, .2);--scrim: rgba(0, 0, 0, .62);--ring-white: #1B2024;--bg-input: #20272B;--bg-surface-hover: #232A2E;--bg-glass: rgba(23, 28, 32, .92);--net-bg: #171C1F;--geo-bg: #141A1D;--geo-land: #1A2124;--geo-sea: #16222A;--geo-coast: #2E3E46;--geo-grid: #252E32;--brand-ink: #7FD9AC;--badge-ink: #6FE0AC;--kpi-green: #35C98A;--kpi-teal: #3FC6D8;--kpi-blue: #7AA5FF;--kpi-amber: #F0A23C;--kpi-red: #F2626C}}:root[data-theme=dark]{--bg-app: #131719;--bg-surface: #1B2024;--bg-subtle: #242A2E;--bg-hover: #2C3338;--text-primary: #E9EDF0;--text-secondary: #A9B2B9;--text-muted: #8D97A0;--text-faint: #6D777F;--accent-900: #0E5C34;--accent-700: #1EA063;--accent-600: #23B36D;--accent-400: #59C998;--accent-200: #2E6B50;--accent-100: #1B4030;--accent-050: #142621;--ok: #3DD68C;--warn: #F0A23C;--crit: #F2626C;--warn-soft: rgba(240, 162, 60, .16);--warn-ink: #F0A23C;--crit-soft: rgba(242, 98, 108, .16);--crit-ink: #F2626C;--ok-soft: rgba(61, 214, 140, .15);--ok-ink: #3DD68C;--info-soft: rgba(122, 165, 255, .16);--info-ink: #7AA5FF;--shadow-card: 0 0 0 1px rgba(255, 255, 255, .05), 0 10px 28px rgba(0, 0, 0, .42);--shadow-raised: 0 8px 22px rgba(35, 179, 109, .3);--shadow-pop: 0 0 0 1px rgba(255, 255, 255, .07), 0 18px 44px rgba(0, 0, 0, .58);--shadow-nav: 0 -1px 0 rgba(255, 255, 255, .06), 0 -12px 34px rgba(0, 0, 0, .45);--line: rgba(255, 255, 255, .075);--line-strong: rgba(255, 255, 255, .13);--line-stronger: rgba(255, 255, 255, .2);--scrim: rgba(0, 0, 0, .62);--ring-white: #1B2024;--bg-input: #20272B;--bg-surface-hover: #232A2E;--bg-glass: rgba(23, 28, 32, .92);--net-bg: #171C1F;--geo-bg: #141A1D;--geo-land: #1A2124;--geo-sea: #16222A;--geo-coast: #2E3E46;--geo-grid: #252E32;--brand-ink: #7FD9AC;--badge-ink: #6FE0AC;--kpi-green: #35C98A;--kpi-teal: #3FC6D8;--kpi-blue: #7AA5FF;--kpi-amber: #F0A23C;--kpi-red: #F2626C}:root[data-theme=light]{--bg-app: #E9EAEE;--bg-surface: #FFFFFF;--bg-subtle: #F4F5F7;--bg-hover: #EDEEF1;--text-primary: #1C1C1E;--text-secondary: #5F6368;--text-muted: #6B7280;--text-faint: #9AA0A6;--accent-900: #0B6B3A;--accent-700: #0F8A4D;--accent-600: #12A05C;--accent-400: #6FC49A;--accent-200: #A9D6C0;--accent-100: #D6F3E4;--accent-050: #EDFAF3;--ok: #16A34A;--warn: #D97706;--crit: #DC2626;--warn-soft: #FEF3C7;--warn-ink: #B45309;--crit-soft: #FEE2E2;--crit-ink: #B91C1C;--ok-soft: #D6F3E4;--ok-ink: #0F8A4D;--info-soft: #DCE9FD;--info-ink: #1E6FD9;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .05);--shadow-raised: 0 8px 20px rgba(18, 160, 92, .28);--shadow-pop: 0 2px 6px rgba(16, 24, 40, .06), 0 14px 34px rgba(16, 24, 40, .16);--shadow-nav: 0 -1px 0 rgba(16, 24, 40, .07), 0 -10px 30px rgba(16, 24, 40, .06);--line: rgba(0, 0, 0, .055);--line-strong: rgba(0, 0, 0, .1);--line-stronger: rgba(0, 0, 0, .16);--scrim: rgba(20, 28, 24, .42);--ring-white: #FFFFFF;--bg-input: #FFFFFF;--bg-surface-hover: #FBFBFC;--bg-glass: rgba(255, 255, 255, .94);--net-bg: #F4F6F5;--geo-bg: #EDF2F0;--geo-land: #E8EEEA;--geo-sea: #DCE8EE;--geo-coast: #B6C6CC;--geo-grid: #CFD8D4;--brand-ink: #0B6B3A;--badge-ink: #12A05C;--kpi-green: #0F8A4D;--kpi-teal: #0D7C8C;--kpi-blue: #1E6FD9;--kpi-amber: #B45309;--kpi-red: #DC2626}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-ui);color:var(--text-body);background:var(--canvas);line-height:1.6}a{color:inherit}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}:focus-visible{outline:2px solid var(--accent-600);outline-offset:2px;border-radius:8px}.mono,.font-mono{font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:13px;border-radius:var(--radius-full);padding:9px 16px;height:36px;transition:background-color .15s ease,opacity .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-raised)}.btn-primary:hover:not(:disabled){background:var(--accent-active)}.btn-ghost{background:var(--card);color:var(--text-strong);box-shadow:var(--shadow-card)}.btn-ghost:hover:not(:disabled){background:var(--card-elevated)}.btn-sm{height:28px;padding:4px 12px;font-size:12px}.icon-btn{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:15px;position:relative}.icon-btn:hover{background:var(--card-elevated);color:var(--text-strong)}button.icon-btn{border:none;background:transparent;font-family:var(--font-ui);cursor:pointer}button.icon-btn:focus-visible{outline:2px solid var(--info);outline-offset:1px}.icon-btn .dot{position:absolute;top:6px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--down)}.panel,.card{background:var(--card);box-shadow:var(--shadow-card);border-radius:var(--radius-lg)}.card{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--hairline);gap:12px;flex-wrap:wrap}.panel-head h2{font-size:15px;font-weight:600;color:var(--text-strong);margin:0}.panel-head .link{font-size:12px;color:var(--accent-text);text-decoration:none;font-weight:600}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;row-gap:10px}.card-title{display:flex;align-items:center;gap:10px;min-width:0}.card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);flex:none}.card-title h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.card-title p{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.expand{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s}.expand:hover{background:var(--bg-hover)}.split{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}.split-2-1{grid-template-columns:1fr 2fr}.page-head,.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h1,.page-header h1{font-size:22px;font-weight:700;color:var(--text-strong);margin:0 0 4px;letter-spacing:-.2px}.page-head .subtitle,.page-header p{font-size:13px;color:var(--text-muted);margin:0}.page-head .status{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.status .pulse{width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 0 3px #0ecb812e}.content>*:not(router-outlet){display:contents}.content>router-outlet{display:none}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi-grid-2{grid-template-columns:repeat(2,1fr)}.kpi-grid-3{grid-template-columns:repeat(3,1fr)}.stat{display:flex;flex-direction:column}.stat-v{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-top:2px}.stat-v .kpi-unit{font-size:16px;font-weight:500;margin-left:1px}.stat-l{font-size:12px;color:var(--text-muted)}.stat-note{font-size:11px;color:var(--text-muted);margin-top:4px}.stat-v.k-green{color:var(--kpi-green)}.stat-v.k-teal{color:var(--kpi-teal)}.stat-v.k-blue{color:var(--kpi-blue)}.stat-v.k-amber{color:var(--kpi-amber)}.stat-v.k-red{color:var(--kpi-red)}.stat-v .kpi-unit{color:inherit;opacity:.62}.kpi-card{background:var(--card);box-shadow:var(--shadow-card);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:10px}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:12px;color:var(--text-muted)}.kpi-delta{font-family:var(--font-mono);font-size:12px;font-weight:600;display:flex;align-items:center;gap:3px}.kpi-delta.up{color:var(--up)}.kpi-delta.down{color:var(--down)}.kpi-value{font-size:28px;font-weight:600;color:var(--text-strong);letter-spacing:-.02em}.kpi-value .accent,.k-green{color:var(--kpi-green)}.k-teal{color:var(--kpi-teal)}.k-blue{color:var(--kpi-blue)}.k-amber{color:var(--kpi-amber)}.k-red{color:var(--kpi-red)}.k-ink{color:var(--kpi-ink)}.kpi-sub{font-size:12px;color:var(--text-muted)}.table-scroll{overflow-x:auto}.table-scroll table.is-wide{min-width:1060px}.table-scroll table.is-xwide{min-width:1200px}@media (max-width: 880px){.table-scroll table.card-collapse{display:block}.table-scroll table.card-collapse thead{display:none}.table-scroll table.card-collapse tbody,.table-scroll table.card-collapse tr{display:block;width:100%}.table-scroll table.card-collapse tr{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:4px 16px;margin-bottom:12px}.table-scroll table.card-collapse tr:hover{background:var(--card)}.table-scroll table.card-collapse td{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:11px 0;border-bottom:1px solid var(--hairline);text-align:right}.table-scroll table.card-collapse tr:last-child td:last-child,.table-scroll table.card-collapse td:last-child{border-bottom:none}.table-scroll table.card-collapse td:before{content:attr(data-label);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:left;flex:none;margin-right:auto}.table-scroll table.card-collapse td.num,.table-scroll table.card-collapse td[data-label]{text-align:right}.table-scroll table.card-collapse .row-actions{justify-content:flex-end;width:100%}.table-scroll table.card-collapse td.full-row{display:block;text-align:left}.table-scroll table.card-collapse td.full-row:before{content:none}}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;padding:10px 20px;border-bottom:1px solid var(--hairline)}th.num,td.num{text-align:right}td{padding:13px 20px;border-bottom:1px solid var(--hairline);font-size:13px;color:var(--text-body)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--card-elevated)}.row-name{color:var(--text-strong);font-weight:600}.row-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.num-mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:-.01em}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--accent-100);color:var(--badge-ink);font-size:11px;font-weight:600}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:var(--radius-full)}.pill .dot2{width:6px;height:6px;border-radius:50%}.pill.up,.pastille-actif{background:var(--up-soft);color:var(--up)}.pill.up .dot2{background:var(--up)}.pill.down,.pastille-suspendu{background:var(--down-soft);color:var(--down)}.pill.down .dot2{background:var(--down)}.pastille{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.tag{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;background:var(--card-elevated);color:var(--text-strong)}.form-card{display:none}.form-card.open{display:block}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px}.filtre-grid{align-items:end}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.form-field.full,.form-grid>.full{grid-column:1 / -1}.form-field label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.form-field input,.form-field select{background:var(--card-elevated);border:1px solid transparent;border-radius:var(--radius-md);padding:9px 12px;font-size:13px;color:var(--text-strong);font-family:var(--font-ui)}.form-field input:focus,.form-field select:focus{outline:2px solid var(--info);outline-offset:0}.form-field.invalid input,.form-field.invalid select{border-color:var(--danger)}.field-error{color:var(--danger);font-size:12px}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.password-field{position:relative;display:flex}.password-field input{width:100%;padding-right:36px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);line-height:0}.password-toggle .material-symbols-outlined{font-size:18px}.password-toggle:hover{color:var(--text-strong)}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.error-text{color:var(--down);font-size:13px;margin-top:4px}.type-toggle{display:flex;gap:10px;padding:20px 20px 0}.type-option{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-body);cursor:pointer;padding:9px 16px;border:1px solid var(--hairline-strong);border-radius:var(--radius-md)}.type-option input{accent-color:var(--accent)}.type-option.selected{border-color:var(--accent);color:var(--text-strong);background:var(--accent-soft)}.actions-list{display:flex;flex-direction:column;padding:12px;gap:6px}.action-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-body);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--font-ui)}.action-row:hover{background:var(--card-elevated)}.action-ic{width:34px;height:34px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.action-title{font-size:13px;color:var(--text-strong);font-weight:600}.action-sub{font-size:12px;color:var(--text-muted)}.health-strip{padding:16px 20px 20px;border-top:1px solid var(--hairline)}.health-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:8px}.health-row .v{font-family:var(--font-mono);color:var(--text-strong)}.bar{height:5px;border-radius:3px;background:var(--card-elevated);overflow:hidden;margin-bottom:14px}.bar>span{display:block;height:100%;background:var(--accent);border-radius:3px}.event-cell{display:flex;align-items:center;gap:10px}.event-ic{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.event-ic.up{background:var(--up-soft);color:var(--up)}.event-ic.info{background:#3b82f61f;color:var(--info)}.event-ic.down{background:var(--down-soft);color:var(--down)}.event-ic.accent{background:var(--accent-soft);color:var(--accent-text)}.status-text{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.status-text.up{color:var(--up)}.status-text.info{color:var(--info)}.status-text.down{color:var(--down)}.status-text.muted{color:var(--text-muted)}.voucher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding:20px}.voucher-card{display:flex;gap:12px;align-items:center;border:1px dashed var(--hairline-strong);border-radius:var(--radius-lg);padding:14px;background:var(--card-elevated)}.voucher-qr{width:52px;height:52px;border-radius:4px;flex-shrink:0;background:repeating-linear-gradient(0deg,var(--text-strong) 0 3px,transparent 3px 7px),repeating-linear-gradient(90deg,var(--text-strong) 0 3px,transparent 3px 7px);background-blend-mode:multiply;opacity:.8}.voucher-code{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--text-strong)}.voucher-meta{font-size:11px;color:var(--text-muted);margin-top:4px}.voucher-price{font-family:var(--font-mono);font-size:12px;color:var(--accent-text);font-weight:700;margin-top:3px}.bars{display:flex;align-items:flex-end;gap:10px;height:170px;padding:20px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.bar-fill{width:100%;border-radius:4px 4px 0 0;background:var(--accent);min-height:4px}.bar-col-label{font-size:11px;color:var(--text-muted)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.theme-toggle{font-size:15px}@media (max-width: 980px){.kpi-grid,.kpi-grid-2,.kpi-grid-3{grid-template-columns:repeat(2,1fr)}.split,.split-2-1{grid-template-columns:1fr}}@media (max-width: 560px){.kpi-grid,.kpi-grid-2,.kpi-grid-3{grid-template-columns:1fr}}.page{max-width:1360px;margin:0 auto;padding:28px 32px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px;padding:0 18px;background:var(--bg-surface);border-radius:20px;box-shadow:var(--shadow-card)}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--brand-ink)}.nav{display:flex;align-items:center;gap:2px;padding:4px;background:var(--bg-subtle);border-radius:999px;flex:0 1 auto;min-width:0}.nav a{flex:none;padding:8px 13px;border-radius:999px;font-size:13.5px;font-weight:500;white-space:nowrap;color:var(--text-secondary);text-decoration:none;transition:background .15s,color .15s}.nav a:hover{color:var(--text-primary)}.nav a[aria-current=page]{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 3px #10182814}.nav-group{flex:none}.nav-btn{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:500;white-space:nowrap;color:var(--text-secondary);transition:background .15s,color .15s}.nav-btn:hover{color:var(--text-primary)}.nav-btn>svg:first-child{color:var(--text-faint);flex:none;transition:color .15s}.nav-btn:hover>svg:first-child{color:var(--text-muted)}.nav-caret{flex:none;opacity:.6;transition:transform .18s}.nav-btn[aria-expanded=true] .nav-caret{transform:rotate(180deg)}.nav-btn[aria-expanded=true]{background:var(--bg-hover);color:var(--text-primary)}.nav-btn[aria-current=page]{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 3px #10182814}.nav-btn[aria-current=page]>svg:first-child{color:var(--accent-600)}.topbar-actions{display:flex;align-items:center;gap:10px}.circle-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);transition:background .15s;position:relative}.circle-btn:hover{background:var(--bg-hover)}.circle-btn .notif-dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--crit);box-shadow:0 0 0 2px var(--bg-surface)}.avatar-me{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:var(--accent-900);color:#fff;font-size:13px;font-weight:600;box-shadow:0 0 0 2px var(--ring-white);cursor:pointer;border:0;transition:box-shadow .15s}.avatar-me[aria-expanded=true]{box-shadow:0 0 0 2px var(--ring-white),0 0 0 4px var(--accent-200)}@media (max-width: 1180px){.nav{gap:1px}.nav a,.nav-btn{padding:8px 11px;font-size:13px}.topbar{gap:14px}}@media (max-width: 1024px){.nav a,.nav-btn{padding:7px 9px;font-size:12.5px;gap:6px}.nav-btn>svg:first-child{display:none}.topbar{gap:10px}}.menu-wrap{position:relative;flex:none}.chart-menu{position:absolute;top:36px;right:0;z-index:30;min-width:196px;max-width:calc(100vw - 32px);padding:6px;background:var(--bg-surface);border-radius:16px;box-shadow:var(--shadow-pop)}.chart-menu.is-left{right:0;left:auto}.chart-menu.is-nav{top:46px;left:0;right:auto;min-width:258px}.chart-menu.is-wide{min-width:236px}.chart-menu.is-lang{min-width:210px;max-height:min(70vh,420px);overflow-y:auto}.chart-menu.is-acct{min-width:262px}.chart-menu.is-more{min-width:230px}.chart-menu-title{margin:6px 10px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.chart-menu-title.is-sep{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}.chart-menu button:hover{background:var(--bg-subtle);color:var(--text-primary)}.chart-menu button span{flex:1}.chart-menu button em{display:block;font-style:normal;font-size:11px;font-weight:400;color:var(--text-muted);margin-top:2px}.chart-menu button .check{opacity:0;flex:none;color:var(--accent-600)}.chart-menu button.is-danger{color:var(--crit)}.chart-menu button.is-danger:hover{background:var(--crit-soft);color:var(--crit-ink)}.acct-count{margin-inline-start:auto;font-style:normal;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg-subtle);color:var(--text-muted)}.acct-head{display:flex;align-items:center;gap:12px;padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}.acct-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;flex:none;background:var(--accent-900);color:#fff;font-size:14px;font-weight:600}.acct-id{display:flex;flex-direction:column;gap:2px;min-width:0}.acct-id strong{font-size:14px;font-weight:600;color:var(--text-primary)}.acct-id .mono{font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.acct-role{align-self:flex-start;margin-top:3px;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--accent-050);color:var(--accent-700)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:30px 0 22px;padding-left:4px}.welcome{margin:0;font-size:38px;line-height:1.15;font-weight:600;letter-spacing:-.025em;text-wrap:balance}.welcome span{font-weight:300;color:var(--text-faint)}.toolbar-right{display:flex;gap:12px;flex-wrap:wrap}.pill-btn{display:flex;align-items:center;gap:9px;height:44px;padding:0 18px;border-radius:999px;background:var(--bg-surface);box-shadow:var(--shadow-card);font-size:14px;font-weight:500;color:var(--text-primary);transition:background .15s}.pill-btn:hover{background:var(--bg-surface-hover)}.pill-btn svg{color:var(--text-muted);flex:none}.pill-btn.is-primary{background:var(--accent-600);color:#fff;box-shadow:var(--shadow-raised)}.pill-btn.is-primary:hover{background:var(--accent-700)}.pill-btn.is-primary svg{color:#fff}.body-row{display:flex;gap:20px;align-items:flex-start}.rail{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;width:64px;padding:14px 0;background:var(--bg-surface);border-radius:24px;box-shadow:var(--shadow-card);min-height:660px}.rail-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--text-faint);transition:background .15s,color .15s}.rail-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.rail-btn.is-active{background:var(--accent-600);color:#fff;box-shadow:var(--shadow-raised)}.rail-gap{margin-top:22px}.rail-bottom{margin-top:auto}.view{flex:1;min-width:0}.page-stack{display:flex;flex-direction:column;gap:20px}.cols-2{display:grid;grid-template-columns:5fr 3fr;gap:20px;align-items:start}.cols-even{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.cols-vd{display:grid;grid-template-columns:7fr 5fr;gap:20px;align-items:start}@media (max-width: 1024px){.cols-2,.cols-even,.cols-vd{grid-template-columns:1fr}}@media (max-width: 880px){.nav,.rail{display:none}.topbar{height:60px;padding:0 14px;border-radius:18px}.brand-name{font-size:18px}.body-row{gap:0}.page{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}}.subnav{display:flex;gap:4px;padding:5px;background:var(--bg-surface);border-radius:999px;box-shadow:var(--shadow-card);width:fit-content;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}.subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}.subnav button:hover{background:var(--bg-subtle);color:var(--text-primary)}.subnav button em{font-style:normal;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg-subtle);color:var(--text-muted);font-variant-numeric:tabular-nums}.subnav button[aria-selected=true]{background:var(--accent-600);color:#fff}.subnav button[aria-selected=true]:hover{background:var(--accent-700)}.subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}@media (max-width: 880px){.subnav{width:100%;justify-content:flex-start}}.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--scrim)}.modal-panel{width:100%;max-width:580px;max-height:88vh;overflow:auto;background:var(--bg-surface);border-radius:var(--r-card);padding:24px;box-shadow:var(--shadow-pop)}.modal-panel.is-narrow{max-width:440px}.modal-panel.is-lg{max-width:720px}.modal-panel.is-wide{max-width:1000px;padding:0;overflow:hidden;display:flex;flex-direction:column}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:2px}.modal-head h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-.015em}.modal-head p{margin:3px 0 0;font-size:12.5px;color:var(--text-muted)}.modal-head-title{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.modal-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-100);color:var(--accent-700);flex:none}.modal-actions{display:flex;align-items:center;gap:10px;margin-top:20px}.mobilenav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg-surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-nav)}.mobilenav button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border-radius:14px;color:var(--text-faint);font-size:10.5px;font-weight:500;line-height:1.2;transition:color .15s,background .15s}.mobilenav button span{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.mobilenav button.is-active{color:var(--accent-600);background:var(--accent-050)}@media (max-width: 880px){.mobilenav{display:flex}}@media (max-width: 430px){.mobilenav{padding-left:4px;padding-right:4px}}@media (max-width: 400px){.mobilenav{padding-left:2px;padding-right:2px}}@media (max-width: 380px){.mobilenav{padding:8px 2px calc(8px + env(safe-area-inset-bottom))}}.nav-more-wrap{flex:1 1 0;min-width:0;display:flex;position:static}.nav-more-wrap>button{width:100%}@media (max-width: 640px){.chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}.chart-menu:after{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:999px;background:var(--line-stronger)}body.has-sheet:after{content:"";position:fixed;inset:0;z-index:60;background:var(--scrim)}.chart-menu-title{margin:10px 12px 8px;font-size:11px}.chart-menu button{padding:14px 12px;font-size:15px;gap:12px}.chart-menu button svg:first-child{width:18px;height:18px}}.device{position:relative;overflow:hidden;margin-top:16px;padding:18px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#1ba463,#12a05c 45%,#0b7a44);box-shadow:var(--shadow-raised)}.device.is-off{background:linear-gradient(135deg,#7a8794,#5b6673,#414a55);box-shadow:0 8px 20px #414a553d}.device-glow{position:absolute;right:-44px;top:-64px;width:160px;height:160px;border-radius:999px;background:#ffffff1a}.device-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between}.device-brand{font-size:17px;font-weight:700;letter-spacing:-.02em}.device-model{position:relative;margin:2px 0 0;font-size:11px;color:#ffffffb8}.device-ident{position:relative;margin:16px 0 0;font-size:25px;font-weight:600;letter-spacing:-.02em}.device-meta{position:relative;display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px;justify-content:space-between;align-items:flex-end;margin-top:16px;font-size:11px;color:#ffffffd1}.device-meta>span{white-space:nowrap}.gauges{position:relative;display:flex;gap:14px;margin-top:16px}.gauge{flex:1}.gauge-label{display:flex;justify-content:space-between;font-size:10px;color:#ffffffbf;margin-bottom:5px}.gauge-track{height:4px;border-radius:999px;background:#ffffff3d;overflow:hidden}.gauge-fill{height:100%;border-radius:999px;background:#fff}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;white-space:nowrap}.dot{width:7px;height:7px;border-radius:999px;flex:none}.s-ok{color:var(--text-secondary)}.s-ok .dot{background:var(--ok)}.s-warn{color:var(--warn)}.s-warn .dot{background:var(--warn)}.s-crit{color:var(--crit)}.s-crit .dot{background:var(--crit)}.s-idle{color:var(--text-secondary)}.s-idle .dot{background:var(--text-faint)}.router-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.router-foot{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.router-foot div{display:flex;flex-direction:column}.router-foot span{font-size:15px;font-weight:600}.router-foot em{font-style:normal;font-size:11px;color:var(--text-muted);margin-top:1px}.chat-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 290px;gap:20px;align-items:stretch}.chat-side,.chat-ctx{display:flex;flex-direction:column;min-width:0}.chat-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-side-head h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.chat-threads{display:flex;flex-direction:column;gap:2px;margin-top:14px;overflow:auto}.chat-thread{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;text-align:left;transition:background .15s}.chat-thread:hover{background:var(--bg-subtle)}.chat-thread.is-on{background:var(--accent-050)}.chat-thread strong{font-size:13px;font-weight:600;color:var(--text-primary)}.chat-thread.is-on strong{color:var(--accent-700)}.chat-thread em{font-style:normal;font-size:11px;color:var(--text-muted)}.chat-side-foot{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--text-faint)}.chat-main{display:flex;flex-direction:column;padding:0;min-height:560px}.chat-log{flex:1;min-height:0;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.chat-msg{display:flex;gap:11px;align-items:flex-start}.chat-msg.is-me{flex-direction:row-reverse}.chat-av{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;flex:none;background:var(--accent-050);color:var(--accent-700)}.chat-msg.is-me .chat-av{background:var(--accent-900);color:#fff}.chat-bubble{max-width:min(640px,86%);padding:12px 15px;border-radius:18px;background:var(--bg-subtle);font-size:13.5px;line-height:1.55;color:var(--text-primary)}.chat-msg.is-me .chat-bubble{background:var(--accent-600);color:#fff}.chat-bubble p{margin:0}.chat-sugg{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px}.chat-chip{padding:7px 13px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:12.5px;transition:background .15s,color .15s}.chat-chip:hover{background:var(--accent-050);color:var(--accent-700)}.chat-composer{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}.chat-composer input{flex:1;min-width:0;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-subtle);font:inherit;font-size:14px;color:var(--text-primary);outline:none;transition:border-color .15s,background .15s}.chat-composer input:focus{border-color:var(--accent-600);background:var(--bg-input)}.chat-composer input:disabled{opacity:.6}.chat-send{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;flex:none;background:var(--accent-600);color:#fff;box-shadow:var(--shadow-raised);transition:background .15s}.chat-send:hover{background:var(--accent-700)}.chat-note{margin:0;padding:0 20px calc(16px + env(safe-area-inset-bottom));font-size:11px;line-height:1.5;color:var(--text-faint)}.chat-ctx-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}.chat-ctx-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 8px;border-radius:10px;font-size:12.5px;color:var(--text-secondary)}.chat-ctx-list li+li{border-top:1px solid var(--line)}.chat-ctx-list em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}@media (max-width: 1180px){.chat-shell{grid-template-columns:220px minmax(0,1fr)}.chat-ctx{grid-column:1 / -1}}@media (max-width: 880px){.chat-shell{grid-template-columns:1fr}.chat-side{order:2}.chat-threads{flex-direction:row;overflow-x:auto}.chat-thread{flex:none;min-width:190px}.chat-side-foot{display:none}.chat-ctx{order:3}.chat-main{min-height:480px}.chat-bubble{max-width:92%}}.sec-label{margin:20px 0 0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.sec-label:first-of-type{margin-top:16px}.term-card{padding:0;overflow:hidden;background:#21252b}.term-head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1b1f24;border-bottom:1px solid rgba(255,255,255,.07)}.term-dots{display:flex;gap:6px;flex:none}.term-dots i{width:10px;height:10px;border-radius:999px;background:#3a4149;display:block}.term-dots i:first-child{background:#e06c75}.term-dots i:nth-child(2){background:#e5c07b}.term-dots i:nth-child(3){background:#98c379}.term-title{flex:1;min-width:0;font-size:12.5px;color:#8b93a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term-title b{color:#d7dce4;font-weight:600}.term-actions{display:flex;gap:8px;flex:none}.term-btn{padding:6px 12px;border-radius:999px;background:#ffffff12;color:#c6ccd6;font-size:12px;font-weight:500;transition:background .15s}.term-btn:hover{background:#ffffff24}.term-body{padding:14px 16px 16px;height:min(52vh,430px);overflow-y:auto;cursor:text;font-family:var(--font-mono);font-size:12.5px;line-height:1.65}.term-out{margin:0;white-space:pre-wrap;word-break:break-word;color:#abb2bf;font:inherit}.term-out .t-err{color:#e06c75}.term-out .t-ok{color:#98c379}.term-line{display:flex;align-items:baseline;gap:8px;margin-top:2px}.term-prompt{flex:none;color:#98c379;white-space:nowrap}.term-line input{flex:1;min-width:0;background:none;border:0;outline:none;padding:0;color:#e6e9ef;font:inherit;caret-color:#98c379}.term-line input:disabled{opacity:.5}.term-hint{margin:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#1b1f24;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:#6f7885}.term-hint code{padding:1px 5px;border-radius:5px;background:#ffffff14;color:#e5c07b;font-family:inherit}.cmd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cmd-chip{padding:7px 12px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);font-family:var(--font-mono);font-size:11.5px;transition:background .15s,color .15s}.cmd-chip:hover{background:var(--accent-050);color:var(--accent-700)}.client{display:flex;align-items:center;gap:11px}.client-name,.client-sub{display:block}.client-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;flex:none}.client-name{font-size:13px;font-weight:500;line-height:1.3}.client-sub{font-size:11px;color:var(--text-muted)}.two-line{display:flex;flex-direction:column;line-height:1.25}.two-line strong{font-size:13px;font-weight:600}.two-line em{font-style:normal;font-size:11.5px;color:var(--text-muted);white-space:nowrap}.vtype{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.vtype.is-pre{background:var(--accent-100);color:var(--badge-ink)}.vtype.is-post{background:var(--warn-soft);color:var(--warn-ink)}.sr-only{position:absolute;width:1px;min-width:0;max-width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.dues{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}.dues li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 8px;border-radius:12px;transition:background .15s}.dues li:hover{background:var(--bg-subtle)}.dues li+li{border-top:1px solid var(--line)}.due-name{display:flex;flex-direction:column;font-size:13px;font-weight:500}.due-name em{font-style:normal;font-size:11px;font-weight:400;color:var(--text-muted);margin-top:2px}.due-right{display:flex;flex-direction:column;align-items:flex-end}.due-right strong{font-size:13px;font-weight:600}.due-when{font-size:11px;color:var(--text-muted);margin-top:2px}.due-when.late{color:var(--crit);font-weight:500}.due-when.soon{color:var(--warn);font-weight:500}.alerts{display:flex;flex-direction:column;gap:2px;margin-top:12px}.alert{display:flex;align-items:flex-start;gap:11px;padding:10px 8px;border-radius:12px;transition:background .15s}.alert:hover{background:var(--bg-subtle)}.alert+.alert{border-top:1px solid var(--line)}.alert-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;flex:none}.alert-icon.is-warn{background:var(--warn-soft);color:var(--warn-ink)}.alert-icon.is-crit{background:var(--crit-soft);color:var(--crit-ink)}.alert-icon.is-ok{background:var(--ok-soft);color:var(--ok-ink)}.alert-body strong{display:block;font-size:13px;font-weight:500}.alert-body span{font-size:11px;color:var(--text-muted)}.chart-wrap{position:relative;margin-top:18px}svg.bars{display:block;width:100%;height:auto;padding:0}.bar-rect{cursor:pointer}.card{background:var(--bg-surface);border-radius:var(--r-card);padding:20px}.balance-card{position:relative;padding-bottom:76px}.spark{display:block;width:calc(100% + 40px);margin:12px -20px 0;height:auto}.kpi-row{display:flex;align-items:baseline;gap:10px;margin-top:6px;flex-wrap:wrap}.kpi-big{font-size:34px;font-weight:600;letter-spacing:-.025em}.balance-actions{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:8px}[hidden]{display:none!important}:root{--axis: #6B7280;--bar-a: #A9D6C0;--bar-a-line: rgba(255,255,255,.55);--bar-b: #0F8A4D;--bar-b-line: rgba(255,255,255,.22);--grid: #E5E7EB}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--axis: #8D97A0;--bar-a: #2E6B50;--bar-a-line: rgba(255,255,255,.12);--bar-b: #23B36D;--bar-b-line: rgba(255,255,255,.16);--grid: #333A40}}:root[data-theme=dark]{--axis: #8D97A0;--bar-a: #2E6B50;--bar-a-line: rgba(255,255,255,.12);--bar-b: #23B36D;--bar-b-line: rgba(255,255,255,.16);--grid: #333A40}.mono{font-family:JetBrains Mono,ui-monospace,monospace}[dir=rtl] .chart-menu.is-nav{left:auto;right:0}.chart-menu.is-nav button[aria-current=page]{background:var(--accent-050);color:var(--accent-700)}.chart-menu.is-nav button[aria-current=page] svg:first-child{color:var(--accent-600)}.grid{flex:1;display:grid;grid-template-columns:3fr 5fr 3.4fr;gap:20px;align-items:stretch}.stack{display:flex;flex-direction:column;gap:20px;height:100%}.stack>.card:last-child:not(.chart-card):not(.balance-card){flex:1;display:flex;flex-direction:column}.stack>.card:last-child>.dues{margin-bottom:8px}.stack>.card:last-child>.alerts{margin-bottom:8px}.stack>.card:last-child>.pays{margin-bottom:8px}.col-c{grid-row:span 2}.span-ab{grid-column:span 2}.chart-card{display:flex;flex-direction:column}.kpi-label{margin:0}.kpi-value{font-size:26px}.kpi-value .dec{font-weight:400;color:var(--text-faint)}.kpi-unit{font-size:13px;font-weight:500;color:var(--text-muted)}.segmented{display:flex;gap:2px;padding:4px;background:var(--bg-subtle);border-radius:999px}.segmented button{padding:7px 13px;border-radius:999px;font-size:13px;font-weight:500;color:var(--text-secondary);transition:background .15s,color .15s}.segmented button[aria-pressed=true]{background:var(--accent-600);color:#fff}.tip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;padding:4px 10px;border-radius:999px;background:var(--accent-700);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #0b6b3a59}tbody td.num{white-space:nowrap}.pays{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column}.pays li{display:grid;grid-template-columns:minmax(58px,auto) 1fr auto;align-items:center;gap:12px;padding:9px 8px;border-radius:12px;transition:background .15s}.pays li:hover{background:var(--bg-subtle)}.pays li+li{border-top:1px solid var(--line)}.pay-name{font-size:12px;font-weight:500;color:var(--text-secondary)}.pay-val{font-size:12px;font-weight:600;white-space:nowrap}.vouchers{display:flex;gap:10px;margin-top:16px}.vouchers div{flex:1;display:flex;flex-direction:column;padding:12px;border-radius:14px;background:var(--bg-subtle)}.vouchers span{font-size:20px;font-weight:600;letter-spacing:-.01em}.vouchers em{font-style:normal;font-size:11px;color:var(--text-muted);margin-top:2px}.split-hero{display:flex;align-items:baseline;gap:10px;padding-right:26px;border-right:1px solid var(--line)}.split-stats{display:flex;gap:26px;flex-wrap:wrap}.split-stats div{display:flex;flex-direction:column}.split-stats span{font-size:17px;font-weight:600;letter-spacing:-.01em}.split-stats em{font-style:normal;font-size:11px;color:var(--text-muted);margin-top:1px}.ifaces{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}.ifaces li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 12px;padding:11px 8px;border-radius:12px;transition:background .15s}.ifaces .if-name{grid-row:1;grid-column:1}.ifaces .if-val{grid-row:1;grid-column:2;justify-self:end}.ifaces .if-bar{grid-row:2;grid-column:1 / -1;margin-top:9px}.ifaces li:hover{background:var(--bg-subtle)}.ifaces li+li{border-top:1px solid var(--line)}.if-name{display:flex;flex-direction:column;font-size:12px;font-weight:500;color:var(--text-primary)}.if-name em{font-family:Outfit,sans-serif;font-style:normal;font-size:11px;font-weight:400;color:var(--text-muted);margin-top:2px}.if-bar{display:block;height:6px;border-radius:999px;background:var(--bg-subtle);overflow:hidden}.if-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent-400)}.if-val{font-size:13px;font-weight:600;white-space:nowrap}.if-val small{font-size:11px;font-weight:400;color:var(--text-muted)}.chart-head-tools{display:flex;align-items:center;gap:8px;flex:none}.chart-type{position:relative;flex:none}.chart-type-btn[aria-expanded=true]{background:var(--accent-100);color:var(--accent-700)}.chart-menu button b{font-weight:600;color:var(--text-primary)}.chart-menu.is-lang button{justify-content:space-between}.chart-menu.is-lang button[aria-checked=true]{background:var(--accent-050);color:var(--accent-700)}[dir=rtl] .chart-menu{right:auto;left:0}[dir=rtl] .chart-menu.is-left{left:auto;right:0}[dir=rtl] .chart-menu button{text-align:right}[dir=rtl] .chart-wrap,[dir=rtl] .spark{direction:ltr}[dir=rtl] .kpi-big{text-align:right}.chart-menu button[aria-checked=true]{color:var(--accent-700)}.chart-menu button[aria-checked=true] .check{opacity:1}.cols-even>.card{height:100%;display:flex;flex-direction:column}.cols-even .split-hero{padding-right:0;border-right:0}.cols-even .split-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;width:100%}.cols-even .dues{margin-top:auto}.kpi-value.k-green,.kpi-big.k-green{color:var(--kpi-green)}.kpi-value.k-teal,.kpi-big.k-teal{color:var(--kpi-teal)}.kpi-value.k-blue,.kpi-big.k-blue{color:var(--kpi-blue)}.kpi-value.k-amber,.kpi-big.k-amber{color:var(--kpi-amber)}.kpi-value.k-red,.kpi-big.k-red{color:var(--kpi-red)}.kpi-value .kpi-unit,.kpi-big .kpi-unit{color:inherit;opacity:.62}.hatch-a-bg{fill:var(--bar-a)}.hatch-a-line{stroke:var(--bar-a-line)}.hatch-b-bg{fill:var(--bar-b)}.hatch-b-line{stroke:var(--bar-b-line)}.c-grid{stroke:var(--grid)}.c-axis{fill:var(--axis)}.c-val{fill:var(--text-primary)}.c-peak{fill:var(--ring-white);stroke:var(--accent-700)}.c-slice{stroke:var(--ring-white)}.c-line{stroke:var(--accent-600)}#sparkFill stop{stop-color:var(--accent-600)}#areaFill stop{stop-color:var(--accent-600)}#sparkLine{stroke:var(--accent-600)}.chart-menu.is-more button svg{flex:none}.pill-btn.is-sm{height:36px;padding:0 14px;font-size:13px}@media (max-width:1280px){.welcome{font-size:32px}}@media (max-width:1024px){.grid{grid-template-columns:1fr 1fr}.col-c{grid-row:auto;grid-column:span 2;display:grid;grid-template-columns:repeat(2,1fr);align-items:start}.span-ab{grid-column:span 2}.cols-even{grid-template-columns:1fr}}@media (max-width:880px){.toolbar{margin:20px 0 16px;gap:14px}.welcome{font-size:27px}.toolbar-right{width:100%;gap:10px}.toolbar-right .pill-btn{flex:1 1 auto;justify-content:center}.grid{grid-template-columns:1fr;gap:16px}.col-c,.span-ab{grid-column:auto;grid-template-columns:1fr}.stack{gap:16px}.card{padding:16px;border-radius:20px}.card-head{row-gap:12px}.kpi-big{font-size:30px}}@media (max-width:640px){.chart-menu.is-acct{min-width:0}.chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}.chart-menu:after{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:999px;background:var(--line-stronger)}.chart-menu-title{margin:10px 12px 8px;font-size:11px}.chart-menu button{padding:14px 12px;font-size:15px;gap:12px}.chart-menu button svg:first-child{width:18px;height:18px}.welcome{font-size:24px;letter-spacing:-.02em}.toolbar-right .pill-btn{flex:1 1 100%}.split-hero{padding-right:0;border-right:0;width:100%}.split-stats{gap:18px}.balance-card{padding-bottom:72px}}@media (max-width:1280px){.page{padding:22px 20px 32px}}@media (max-width:640px){.page{padding:12px 12px calc(96px + env(safe-area-inset-bottom))}}@media (max-width:380px){.welcome{font-size:22px}}@media (hover:none){.expand{width:34px;height:34px}}:where(.view[data-view=dashboard]) .bars{display:block;width:100%;height:auto}:where(.view[data-view=dashboard]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=dashboard]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=dashboard]) .btn-ghost{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;color:var(--text-secondary);font-size:14px;font-weight:500;transition:background .15s}:where(.view[data-view=dashboard]) .btn-ghost:hover{background:var(--bg-subtle)}:where(.view[data-view=dashboard]) .table-scroll{overflow-x:auto;margin-top:16px}:where(.view[data-view=dashboard]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=dashboard]) .split{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:14px}:where(.view[data-view=dashboard]) .cols-even .split{flex-direction:column;align-items:flex-start;gap:14px}@media (max-width:640px){:where(.view[data-view=dashboard]) .split{gap:16px}:where(.view[data-view=dashboard]) .table-scroll{overflow:visible}:where(.view[data-view=dashboard]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=dashboard]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=dashboard]) .table-scroll table.is-xwide{min-width:0;width:100%}:where(.view[data-view=dashboard]) .table-scroll table.is-vd{min-width:0;width:100%}:where(.view[data-view=dashboard]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=dashboard]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=dashboard]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=dashboard]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=dashboard]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=dashboard]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=dashboard]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=dashboard]) .table-scroll tbody td:first-child:before{display:none}}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) table{width:100%;min-width:720px;border-collapse:collapse}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) thead th{padding:0 10px 12px;text-align:left;font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap;text-transform:none;letter-spacing:normal;border-bottom:0}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) thead th:first-child{padding-left:6px}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) thead th:last-child{text-align:right;padding-right:6px}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) tbody tr{border-top:1px solid var(--line)}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) tbody td{padding:11px 10px;font-size:13px;font-weight:500;vertical-align:middle;border-bottom:0;color:inherit}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) tbody td:first-child{padding-left:6px}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) tbody td:last-child{text-align:right;padding-right:6px}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) tbody tr:hover{background:var(--bg-subtle)}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) th.num,:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=parametres]) td.num{text-align:start}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) button.icon-btn{background:var(--bg-subtle)}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.mini-select{height:38px;padding:0 32px 0 14px;border-radius:999px;border:1px solid var(--line-strong);background-color:var(--bg-subtle);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font:inherit;font-size:13px;font-weight:500;color:var(--text-secondary);-webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s,background-color .15s}.mini-select:hover{background-color:var(--bg-hover)}.mini-select:focus{border-color:var(--accent-600);background-color:var(--bg-input);outline:none}.row-btn{height:32px;padding:0 13px;white-space:nowrap;border-radius:999px;background:var(--bg-subtle);font-size:12.5px;font-weight:500;color:var(--text-secondary);transition:background .15s}.row-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.per-page{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.per-page .mini-select{height:32px;padding:0 30px 0 12px;font-size:12.5px}.btn-ghost-outline{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px 18px;border-radius:999px;border:1px solid rgba(0,0,0,.1);font-size:14px;font-weight:500;color:var(--text-secondary);transition:background .15s,border-color .15s}.btn-ghost-outline:hover{background:var(--bg-subtle);border-color:var(--line-stronger)}.form-note{margin:14px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-muted)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:18px;padding:26px 20px;border-radius:18px;border:1.5px dashed var(--line-stronger);background:var(--bg-subtle);color:var(--text-muted);text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent-600);background:var(--accent-050)}.dz-title{font-size:14px;font-weight:600;color:var(--text-primary)}.dz-hint{font-size:11.5px;line-height:1.5;max-width:420px}.cl-part[hidden]{display:none!important}.switch-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:var(--bg-subtle);cursor:pointer}.switch-txt{flex:1;display:flex;flex-direction:column;gap:3px}.switch-txt strong{font-size:13.5px;font-weight:600}.switch-txt em{font-style:normal;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.switch{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.switch-ui{position:relative;flex:none;width:44px;height:26px;border-radius:999px;background:var(--line-stronger);transition:background .18s}.switch-ui:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.switch:checked+.switch-ui{background:var(--accent-600)}.switch:checked+.switch-ui:after{transform:translate(18px)}.switch:focus-visible+.switch-ui{outline:2px solid var(--accent-600);outline-offset:2px}.modal-actions .btn-ghost-outline{width:auto;padding:11px 22px}.row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}[dir=rtl] .switch:checked+.switch-ui:after{transform:translate(-18px)}[dir=rtl] .switch-txt,[dir=rtl] .filter-search input,[dir=rtl] .stat-v{text-align:right}.filters{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}.filter-search{display:flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-subtle);flex:1 1 230px;min-width:180px;max-width:320px;transition:border-color .15s,background .15s}.filter-search:focus-within{border-color:var(--accent-600);background:var(--bg-input)}.filter-search svg{color:var(--text-muted);flex:none}.filter-search input{width:100%;border:0;outline:none;background:none;font:inherit;font-size:13px;color:var(--text-primary)}.filter-search input::placeholder{color:var(--text-faint)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--text-muted)}.pager{display:flex;gap:6px}.pager button{min-width:34px;height:34px;padding:0 11px;border-radius:10px;font-size:13px;font-weight:500;color:var(--text-secondary);transition:background .15s}.pager button:hover{background:var(--bg-subtle)}.pager button[aria-current=page]{background:var(--accent-600);color:#fff}.pager button[disabled]{opacity:.4;cursor:default}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1 / -1}.field label{font-size:12px;color:var(--text-muted)}.field input,.field select{height:42px;padding:0 13px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg-subtle);font:inherit;font-size:14px;color:var(--text-primary);outline:none;transition:border-color .15s,background .15s}.field input:focus{border-color:var(--accent-600);background:var(--bg-input)}.field select:focus{border-color:var(--accent-600);background:var(--bg-input)}.row-actions .chart-menu{top:38px}:root[data-theme=dark] .mini-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238D97A0' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.mini-select.is-lg{height:44px;padding:0 34px 0 16px;font-size:14px;max-width:260px}.auth-chip{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;background:var(--accent-050);color:var(--accent-700);font-size:13px;font-weight:500;transition:background .15s}.auth-chip:hover{background:var(--accent-100)}.auth-chip svg{flex:none;color:var(--accent-600)}.auth-chip b{font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mini-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238D97A0' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}}@media (max-width:880px){.page-stack{gap:16px}}@media (max-width:640px){.stat-v{font-size:25px}.filter-bar{gap:8px}.filter-search{flex:1 1 100%;max-width:none}.mini-select{flex:1 1 calc(50% - 4px)}.filter-bar .row-btn{flex:1 1 100%}.pagination{flex-direction:column;align-items:stretch;gap:12px}.pager{justify-content:center;flex-wrap:wrap}.field input,.field select,.filter-search input{font-size:16px}.row-actions{justify-content:flex-end}.modal{padding:0;align-items:flex-end}.modal-panel{width:100%;max-width:none;max-height:92dvh;border-radius:24px 24px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.modal-panel.is-wide{padding:0;max-height:96dvh}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions .btn-ghost-outline{width:100%}.auth-chip{height:38px;font-size:12px;padding:0 13px}.mini-select.is-lg{max-width:none;flex:1 1 100%}}@media (hover:none){.pager button{min-width:40px;height:40px}.row-btn{height:36px}}:where(.view[data-view=clients]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=clients]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=clients]) .table-scroll{overflow-x:auto;margin-top:16px}:where(.view[data-view=clients]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=clients]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=clients]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=clients]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=clients]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=clients]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=clients]) .form-grid>.full{grid-column:1 / -1}:where(.view[data-view=clients]) .icon-btn.is-danger:hover{background:var(--crit-soft);color:var(--crit)}@media (max-width:1024px){:where(.view[data-view=clients]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){:where(.view[data-view=clients]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=clients]) .table-scroll{overflow:visible}:where(.view[data-view=clients]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=clients]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=clients]) .table-scroll table.is-xwide{min-width:0;width:100%}:where(.view[data-view=clients]) .table-scroll table.is-vd{min-width:0;width:100%}:where(.view[data-view=clients]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=clients]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=clients]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=clients]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=clients]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=clients]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=clients]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=clients]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=clients]) .form-grid{grid-template-columns:1fr}}@media (hover:none){:where(.view[data-view=clients]) .icon-btn{width:34px;height:34px}}body.is-locked{overflow:hidden}.page{font-size:14px;line-height:1.45;color:var(--text-primary);-webkit-font-smoothing:antialiased}.when{display:flex;flex-direction:column;font-size:13px;font-weight:500;white-space:nowrap}.when em{font-style:normal;font-size:11px;font-weight:400;color:var(--text-muted);margin-top:1px}.usage{display:flex;align-items:center;gap:10px;min-width:120px}.usage-bar{flex:1;height:6px;border-radius:999px;background:var(--bg-subtle);overflow:hidden}.usage-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent-400)}.usage strong{font-size:12.5px;font-weight:600;white-space:nowrap}.lbl-hint{color:var(--text-faint);font-weight:400}.help{margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--bg-subtle);font-size:12px;color:var(--text-secondary)}.help summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-primary);list-style:none}.help summary::-webkit-details-marker{display:none}.help summary:before{content:"\25b8";color:var(--accent-600)}.help[open] summary:before{content:"\25be"}.help p{margin:10px 0 0;line-height:1.55}.help ul{margin:8px 0 0;padding-left:18px;line-height:1.55}.help li{margin-bottom:5px}.help code{padding:1px 6px;border-radius:6px;background:var(--bg-surface);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--accent-600)}.help-fmt{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}[dir=rtl] .tpl-editor{direction:ltr;text-align:left}[dir=rtl] .when{text-align:right}.tpl-namebar{display:flex;gap:12px;flex-wrap:wrap;padding:14px 18px 0}.tpl-namefield{flex:1 1 260px;display:flex;flex-direction:column;gap:6px}.tpl-namefield.is-narrow{flex:0 1 150px}.tpl-namefield span{font-size:11.5px;color:#8b93a1}.tpl-namefield input{height:38px;padding:0 13px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#2c313a;color:#e6e9ef;font:inherit;font-size:14px;outline:none;transition:border-color .15s}.tpl-namefield input:focus{border-color:var(--accent-600)}.tpl-btn.is-ghost[aria-pressed=true]{background:var(--accent-600);color:#fff}.tpl-split{display:flex;align-items:stretch;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.tpl-split .tpl-body{flex:1;min-width:0;border-top:0;border-bottom:0}.tpl-preview{flex:0 0 268px;display:flex;flex-direction:column;gap:12px;padding:16px;background:#1b1f24;border-left:1px solid rgba(255,255,255,.07);max-height:min(56vh,460px);overflow:auto}.tpl-preview-title{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8b93a1}.tpl-paper{padding:14px;border-radius:6px;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.35;box-shadow:0 6px 20px #00000073;overflow-x:auto}.tpl-paper table{width:auto;min-width:0;border-collapse:collapse}.tpl-paper td,.tpl-paper th{padding:2px 4px;font-size:inherit;color:#000;text-align:inherit;display:table-cell}.tpl-paper tr{display:table-row;border:0;background:none;margin:0}.tpl-paper td:before{content:none}.tpl-preview-note{margin:0;font-size:10.5px;line-height:1.5;color:#6f7885}.tpl-preview-note code{color:#e06c75;font-family:JetBrains Mono,ui-monospace,monospace}.tpl-editor{background:#21252b;color:#abb2bf}.tpl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:#1b1f24;border-bottom:1px solid rgba(255,255,255,.07)}.tpl-head-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;color:#e6e9ef}.tpl-close{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#8b93a1;transition:background .15s,color .15s}.tpl-close:hover{background:#ffffff14;color:#fff}.tpl-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 18px;background:#21252b}.tpl-toolbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.tpl-btn{display:flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.tpl-btn.is-save{background:var(--accent-600);color:#fff}.tpl-btn.is-save:hover{background:var(--accent-700)}.tpl-btn.is-ghost{background:#2c313a;color:#abb2bf}.tpl-btn.is-ghost:hover{background:#353b45;color:#e6e9ef}.tpl-label{display:grid;place-items:center;height:36px;padding:0 16px;border-radius:9px;background:#2c313a;font-size:13px;font-weight:500;color:#8b93a1}.tpl-select{height:36px;padding:0 30px 0 12px;border-radius:9px;border:1px solid rgba(255,255,255,.1);background-color:#2c313a;color:#d7dce5;font:inherit;font-size:13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b93a1' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;-webkit-appearance:none;appearance:none;cursor:pointer}.tpl-select:focus{outline:none;border-color:var(--accent-600)}.tpl-body{display:flex;align-items:stretch;max-height:min(56vh,460px);overflow:auto;background:#282c34;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.tpl-gutter{position:sticky;left:0;z-index:2;flex:none;padding:14px 12px 14px 16px;text-align:right;background:#21252b;color:#4b5263;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.7;-webkit-user-select:none;user-select:none}.tpl-gutter span{display:block}.tpl-code{position:relative;min-width:100%;width:max-content}.tpl-code pre,.tpl-code textarea{margin:0;padding:14px 20px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.7;white-space:pre;tab-size:2}.tpl-code textarea::selection{background:#61afef4d}.tpl-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 18px;background:#1b1f24;font-size:11.5px;color:#8b93a1}.tpl-vars code{padding:2px 6px;margin-right:3px;border-radius:6px;background:#2c313a;color:#e06c75;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.tpl-status{color:var(--accent-400);font-weight:600;white-space:nowrap}.code{display:inline-block;padding:4px 10px;border-radius:9px;background:var(--bg-subtle);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;font-weight:500;letter-spacing:.06em}@media (max-width:900px){.tpl-split{flex-direction:column}.tpl-preview{flex:none;border-left:0;border-top:1px solid rgba(255,255,255,.07);max-height:none}}@media (max-width:880px){.subnav{width:100%;justify-content:flex-start}}@media (max-width:640px){.usage{min-width:0;flex:1}.when{align-items:flex-end}.tpl-body{max-height:46dvh}.tpl-toolbar{padding:12px 14px;gap:6px}.tpl-toolbar-right{width:100%;margin-left:0}.tpl-label{display:none}.tpl-select{flex:1 1 40%}.tpl-head{padding:13px 14px}.tpl-head-title{font-size:14px}.tpl-foot{padding:10px 14px;flex-direction:column;align-items:flex-start;gap:8px}.tpl-vars{width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tpl-vars::-webkit-scrollbar{display:none}}@media (max-width:380px){.subnav button{padding:9px 13px;font-size:13px}}:where(.view[data-view=hotspot]) .bars{display:block;width:100%;height:auto}:where(.view[data-view=hotspot]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=hotspot]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=hotspot]) .table-scroll{overflow-x:auto;margin-top:16px}:where(.view[data-view=hotspot]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=hotspot]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=hotspot]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=hotspot]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=hotspot]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=hotspot]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=hotspot]) .form-grid>.full{grid-column:1 / -1}:where(.view[data-view=hotspot]) .icon-btn.is-danger:hover{background:var(--crit-soft);color:var(--crit)}@media (max-width:1024px){:where(.view[data-view=hotspot]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){:where(.view[data-view=hotspot]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=hotspot]) .table-scroll{overflow:visible}:where(.view[data-view=hotspot]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=hotspot]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=hotspot]) .table-scroll table.is-xwide{min-width:0;width:100%}:where(.view[data-view=hotspot]) .table-scroll table.is-vd{min-width:0;width:100%}:where(.view[data-view=hotspot]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=hotspot]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=hotspot]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=hotspot]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=hotspot]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=hotspot]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=hotspot]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=hotspot]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=hotspot]) .form-grid{grid-template-columns:1fr}}@media (hover:none){:where(.view[data-view=hotspot]) .icon-btn{width:34px;height:34px}}.tpl-code pre{color:#abb2bf;pointer-events:none}.tpl-code textarea{position:absolute;inset:0;width:100%;height:100%;border:0;outline:none;resize:none;overflow:hidden;background:transparent;color:transparent;caret-color:#61dafb}.t-tag{color:#e06c75}.t-attr{color:#d19a66}.t-str{color:#98c379}.t-com{color:#5c6370;font-style:italic}.t-php{color:#c678dd}.t-var{color:#e06c75}.t-kw{color:#c678dd}.t-num{color:#d19a66}:where(.view[data-view=dashboard],.view[data-view=clients],.view[data-view=hotspot],.view[data-view=vendeurs],.view[data-view=topologie],.view[data-view=systeme],.view[data-view=journal],.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs],.view[data-view=parametres]) .table-scroll{-webkit-overflow-scrolling:touch}@media (max-width:640px){.mini-select{font-size:16px}}:where(.view[data-view=dashboard]) .bars{align-items:unset;gap:unset;padding:unset}:where(.view[data-view=dashboard]) .btn-ghost{background:unset;box-shadow:unset}:where(.view[data-view=dashboard]) .tag{font-family:unset}:where(.view[data-view=dashboard]) .split{grid-template-columns:unset}:where(.view[data-view=clients]) .tag{font-family:unset}:where(.view[data-view=clients]) .icon-btn{justify-content:unset;font-size:unset;position:unset}:where(.view[data-view=clients]) .form-grid{padding:unset}:where(.view[data-view=hotspot]) .bars{align-items:unset;gap:unset;padding:unset}:where(.view[data-view=hotspot]) .tag{font-family:unset}:where(.view[data-view=hotspot]) .icon-btn{justify-content:unset;font-size:unset;position:unset}:where(.view[data-view=hotspot]) .form-grid{padding:unset}.tpl-namefield select{width:100%;min-width:0;height:38px;padding:0 13px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#2c313a;color:#e6e9ef;font:inherit;font-size:14px;outline:none}.tpl-namefield select:focus{border-color:var(--accent-600)}.tpl-namefield input{width:100%;min-width:0}.photo-row{display:flex;align-items:center;gap:16px;margin-top:18px;padding:14px;border-radius:16px;background:var(--bg-subtle)}.photo-preview{display:grid;place-items:center;width:68px;height:68px;flex:none;border-radius:18px;background:var(--bg-surface);color:var(--text-faint);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-actions{flex:1;min-width:0}.photo-label{margin:0;font-size:13.5px;font-weight:600}.photo-hint{margin:3px 0 0;font-size:11.5px;color:var(--text-muted)}.photo-btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.radio-card{position:relative;display:block;padding:12px 14px;border-radius:14px;background:var(--bg-subtle);border:1.5px solid transparent;cursor:pointer;transition:border-color .15s,background .15s}.radio-card input{position:absolute;opacity:0;width:0;height:0}.radio-body{display:flex;flex-direction:column;gap:3px}.radio-body strong{font-size:13.5px;font-weight:600}.radio-body em{font-style:normal;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.radio-card:has(input:checked){border-color:var(--accent-600);background:var(--accent-050)}.radio-card:has(input:focus-visible){outline:2px solid var(--accent-600);outline-offset:2px}.btn-danger{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:999px;background:var(--crit);color:#fff;font-size:14px;font-weight:500;transition:background .15s}.btn-danger:hover{background:#b91c1c}.alerts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px;margin-top:8px}:where(.view[data-view=vendeurs]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=vendeurs]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=vendeurs]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=vendeurs]) table.is-vd{min-width:840px}:where(.view[data-view=vendeurs]) .cols-vd{align-items:stretch;display:grid;grid-template-columns:7fr 5fr;gap:20px}:where(.view[data-view=vendeurs]) .cols-vd>.card{height:auto;display:flex;flex-direction:column}:where(.view[data-view=vendeurs]) .photo-btns .row-btn{display:inline-flex;align-items:center;cursor:pointer}:where(.view[data-view=vendeurs]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=vendeurs]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=vendeurs]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=vendeurs]) .alerts-grid .alert+.alert{border-top:1px solid var(--line)}:where(.view[data-view=vendeurs]) .alerts-grid .alert:nth-child(2){border-top:0}:where(.view[data-view=vendeurs]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=vendeurs]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=vendeurs]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=vendeurs]) .icon-btn{justify-content:unset;font-size:unset;position:unset}:where(.view[data-view=vendeurs]) .form-grid{padding:unset}@media (max-width:1024px){.alerts-grid{grid-template-columns:1fr}:where(.view[data-view=vendeurs]) .cols-vd{grid-template-columns:1fr}:where(.view[data-view=vendeurs]) .alerts-grid .alert:nth-child(2){border-top:1px solid var(--line)}:where(.view[data-view=vendeurs]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.radio-cards{grid-template-columns:1fr}:where(.view[data-view=vendeurs]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=vendeurs]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=vendeurs]) .table-scroll{overflow:visible}:where(.view[data-view=vendeurs]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=vendeurs]) .table-scroll table.is-vd{min-width:0;width:100%}:where(.view[data-view=vendeurs]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=vendeurs]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=vendeurs]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=vendeurs]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=vendeurs]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=vendeurs]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=vendeurs]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=vendeurs]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=vendeurs]) .form-grid{grid-template-columns:1fr}}@media (hover:none){:where(.view[data-view=vendeurs]) .icon-btn{width:34px;height:34px}}.actor{display:flex;flex-direction:column;gap:1px;min-width:0}.actor strong{font-size:13.5px;font-weight:500}.actor span{font-size:11.5px;color:var(--text-muted)}.net-card{overflow:visible}.net-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.net-stage{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:16px;margin-top:16px}.net-canvas{position:relative;border-radius:18px;background:var(--net-bg);overflow:hidden;min-height:360px;touch-action:none;cursor:grab}.net-canvas.is-grabbing{cursor:grabbing}.net-canvas.is-picking{cursor:crosshair}.net-canvas svg{display:block;width:100%;height:auto}.net-canvas.is-map{background:var(--geo-bg)}.net-zoom{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:3}.net-zoom button{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--bg-surface);color:var(--text-secondary);font-size:16px;font-weight:600;box-shadow:var(--shadow-card);transition:background .15s,color .15s}.net-zoom button:hover{background:var(--bg-hover);color:var(--text-primary)}.net-hint{position:absolute;left:12px;top:12px;margin:0;font-size:10.5px;color:var(--text-faint);background:var(--bg-glass);padding:4px 9px;border-radius:8px;pointer-events:none}.geo-coords{position:absolute;inset:auto 12px 10px auto;margin:0;font-size:10.5px;color:var(--text-faint);background:var(--bg-glass);padding:4px 9px;border-radius:8px;pointer-events:none}.geo-attr{position:absolute;right:12px;top:12px;margin:0;font-size:9.5px;color:var(--text-muted);background:var(--bg-glass);padding:3px 8px;border-radius:7px;pointer-events:none;max-width:60%;text-align:right;line-height:1.4}.geo-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;max-width:340px;padding:15px 17px;border-radius:16px;background:var(--bg-surface);box-shadow:var(--shadow-pop);font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.geo-note strong{display:block;font-size:13.5px;color:var(--text-primary);margin-bottom:5px}.geo-scale{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--text-muted);background:var(--bg-glass);padding:4px 9px;border-radius:8px}.geo-bar{display:block;width:54px;height:5px;border-radius:2px;border:1px solid var(--text-faint);border-top:0}.geo-scale em{font-style:normal;font-variant-numeric:tabular-nums}.net-side{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:var(--bg-subtle);min-height:360px}.net-side .ns-empty{margin:auto;text-align:center;font-size:12.5px;color:var(--text-muted);line-height:1.6}.ns-head{display:flex;align-items:center;gap:11px}.ns-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;flex:none;background:var(--bg-surface);color:var(--accent-600)}.ns-title{display:flex;flex-direction:column;gap:2px;min-width:0}.ns-title strong{font-size:14.5px;font-weight:600}.ns-title span{font-size:11.5px;color:var(--text-muted)}.ns-rows{display:flex;flex-direction:column;gap:1px;margin-top:4px}.ns-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}.ns-row:last-child{border-bottom:0}.ns-row span{color:var(--text-muted)}.ns-row b{font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.ns-act{margin-top:auto;display:flex;gap:8px}.net-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:11.5px;color:var(--text-secondary)}.lg{display:inline-flex;align-items:center;gap:7px}.lg-dot{width:9px;height:9px;border-radius:999px;display:block;flex:none}.lg-line{width:22px;height:0;border-top:2.5px solid var(--text-faint);display:block;flex:none}.lg-line.is-fibre{border-top-style:solid;border-top-color:var(--accent-600)}.lg-line.is-wifi{border-top-style:dashed;border-top-color:var(--kpi-teal)}.lg-line.is-down{border-top-style:dotted;border-top-color:var(--crit)}.nl{stroke-linecap:round;fill:none}.nl-flow{stroke-linecap:round;fill:none;stroke:var(--accent-600);stroke-dasharray:10 16;opacity:.85}.nl-hit{stroke:transparent;stroke-width:18;fill:none;cursor:pointer}.nn{cursor:grab}.nn.is-drag{cursor:grabbing}.nn-body{fill:var(--bg-surface);stroke:var(--line-stronger);stroke-width:1.5}.nn.is-sel .nn-body{stroke:var(--accent-600);stroke-width:2.5}.nn-ico{fill:var(--text-secondary)}.nn.is-gw .nn-ico{fill:var(--accent-700)}.nn-lab{fill:var(--text-primary);font-size:12.5px;font-weight:600;text-anchor:middle}.nn-sub{fill:var(--text-muted);font-size:10.5px;text-anchor:middle}.nn-ring{fill:none;stroke-width:2.5}.nn-pulse{fill:none;stroke-width:2}.geo-sea{fill:var(--geo-sea)}.geo-land{fill:var(--geo-land)}.geo-coast{fill:none;stroke:var(--geo-coast);stroke-width:1.5}.geo-g{stroke:var(--geo-grid);stroke-width:1;stroke-dasharray:3 6}.geo-gt{fill:var(--text-faint);font-size:9.5px}.gm{cursor:pointer}.gm-halo{opacity:.22}.gm-pin{stroke:#fff;stroke-width:2}.gm-lab{fill:var(--text-primary);font-size:11px;font-weight:600;text-anchor:middle}.gl{fill:none;stroke-linecap:round}.flux-wrap{position:relative;margin-top:16px}.flux-wrap svg{display:block;width:100%;height:auto}.fx-band{opacity:.42;transition:opacity .15s}.fx-band:hover{opacity:.8}.fx-col{rx:5}.fx-lab{fill:var(--text-primary);font-size:11.5px;font-weight:600}.fx-sub{fill:var(--text-muted);font-size:10px}.flux-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bar-mini{width:100%;min-width:64px;height:6px;border-radius:999px;background:var(--bg-subtle);overflow:hidden}.bar-mini i{display:block;height:100%;border-radius:999px;background:var(--accent-600)}.sparkline{vertical-align:middle}.sparkline.sp-ok{color:var(--accent-600)}.sparkline.sp-warn{color:var(--warn)}.sparkline.sp-crit{color:var(--crit)}table.is-link{min-width:1020px}table.is-equip{min-width:1000px}table.is-liaison{min-width:780px}table.is-equip thead th:last-child{text-align:left}table.is-equip tbody td:last-child{text-align:left}table.is-liaison thead th:last-child{text-align:left}table.is-liaison tbody td:last-child{text-align:left}table.is-talk{min-width:520px}table.is-proto{min-width:460px}table.is-link thead th:last-child{text-align:right}table.is-link tbody td:last-child{text-align:right}table.is-talk thead th:last-child{text-align:right}table.is-talk tbody td:last-child{text-align:right}:where(.view[data-view=topologie]) .bars{display:block;width:100%;height:auto}:where(.view[data-view=topologie]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=topologie]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=topologie]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=topologie]) table.is-wide{min-width:1060px}:where(.view[data-view=topologie]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=topologie]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=topologie]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=topologie]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=topologie]) .subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}:where(.view[data-view=topologie]) .subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}:where(.view[data-view=topologie]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=topologie]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=topologie]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=topologie]) .geo-note .row-btn{display:block;width:100%;margin-top:12px;text-align:center}:where(.view[data-view=topologie]) .ns-act .row-btn{flex:1;justify-content:center}:where(.view[data-view=topologie]) .lg-dot.s-ok{background:var(--ok)}:where(.view[data-view=topologie]) .lg-dot.s-warn{background:var(--warn)}:where(.view[data-view=topologie]) .lg-dot.s-crit{background:var(--crit)}:where(.view[data-view=topologie]) .nl.is-ok{stroke:var(--accent-400)}:where(.view[data-view=topologie]) .nl.is-warn{stroke:var(--warn)}:where(.view[data-view=topologie]) .nl.is-crit{stroke:var(--crit);stroke-dasharray:2 7}:where(.view[data-view=topologie]) .nl-flow.is-warn{stroke:var(--warn)}:where(.view[data-view=topologie]) .nn-ring.s-ok{stroke:var(--ok)}:where(.view[data-view=topologie]) .nn-ring.s-warn{stroke:var(--warn)}:where(.view[data-view=topologie]) .nn-ring.s-crit{stroke:var(--crit)}:where(.view[data-view=topologie]) .nn-pulse.s-warn{stroke:var(--warn)}:where(.view[data-view=topologie]) .nn-pulse.s-crit{stroke:var(--crit)}:where(.view[data-view=topologie]) .gm-halo.s-ok{fill:var(--ok)}:where(.view[data-view=topologie]) .gm-halo.s-warn{fill:var(--warn)}:where(.view[data-view=topologie]) .gm-halo.s-crit{fill:var(--crit)}:where(.view[data-view=topologie]) .gm-pin.s-ok{fill:var(--ok)}:where(.view[data-view=topologie]) .gm-pin.s-warn{fill:var(--warn)}:where(.view[data-view=topologie]) .gm-pin.s-crit{fill:var(--crit)}:where(.view[data-view=topologie]) .gl.is-ok{stroke:var(--accent-600);stroke-width:2.5;opacity:.75}:where(.view[data-view=topologie]) .gl.is-warn{stroke:var(--warn);stroke-width:2.5;opacity:.8}:where(.view[data-view=topologie]) .gl.is-crit{stroke:var(--crit);stroke-width:2;stroke-dasharray:3 6}:where(.view[data-view=topologie]) .bars{align-items:unset;gap:unset;padding:unset}:where(.view[data-view=topologie]) .tag{font-family:unset}:where(.view[data-view=topologie]) .icon-btn{justify-content:unset;font-size:unset;position:unset}:where(.view[data-view=topologie]) .form-grid{padding:unset}@media (max-width:1024px){:where(.view[data-view=topologie]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:980px){.net-stage{grid-template-columns:1fr}.net-side{min-height:0}.flux-grid{grid-template-columns:1fr}}@media (max-width:640px){.net-canvas{min-height:280px}.net-tools{width:100%}.net-hint{display:none}:where(.view[data-view=topologie]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=topologie]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=topologie]) .table-scroll{overflow:visible}:where(.view[data-view=topologie]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=topologie]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=topologie]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=topologie]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=topologie]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=topologie]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=topologie]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=topologie]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=topologie]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=topologie]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=topologie]) .form-grid{grid-template-columns:1fr}:where(.view[data-view=topologie]) .net-tools .segmented{flex:1}:where(.view[data-view=topologie]) .chart-menu button{padding:14px 12px;font-size:15px;gap:12px}}@media (max-width:380px){:where(.view[data-view=topologie]) .subnav button{padding:9px 13px;font-size:13px}}@media (hover:none){:where(.view[data-view=topologie]) .icon-btn{width:34px;height:34px}}:where(.view[data-view=topologie]) .nl.is-inconnu{stroke:var(--text-faint);stroke-dasharray:4 6}:where(.view[data-view=topologie]) .gl.is-inconnu{stroke:var(--text-faint);stroke-width:2;stroke-dasharray:4 6;opacity:.7}:where(.view[data-view=topologie]) .gm-halo.s-inconnu{fill:var(--text-faint)}:where(.view[data-view=topologie]) .gm-pin.s-inconnu{fill:var(--text-faint)}:where(.view[data-view=topologie]) .geo-note{pointer-events:none}:where(.view[data-view=topologie]) .geo-note .row-btn{pointer-events:auto}@media (max-width:880px){.toolbar-right #topoLive{flex:0 0 auto;padding:0 16px}}@media (max-width:640px){.toolbar-right #topoLive{flex:0 0 auto;padding:0 16px}}table.is-ros{min-width:820px}table.is-ros td{font-size:13px}table.is-ros thead th:last-child{text-align:left;padding-right:14px}table.is-ros tbody td:last-child{text-align:left;padding-right:14px}.ros-idx{display:inline-block;min-width:20px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ros-flag{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--bg-subtle);color:var(--text-faint);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:600}.ros-flag.is-dyn{background:var(--info-soft);color:var(--info-ink)}.wf-card{padding:0;overflow:hidden;background:#eceef1;color:#1f2933}.wf-chrome{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#2b3138;border-bottom:1px solid rgba(0,0,0,.28)}.wf-dots{display:flex;gap:6px;flex:none}.wf-dots i{width:10px;height:10px;border-radius:999px;background:#3a4149;display:block}.wf-dots i:first-child{background:#e06c75}.wf-dots i:nth-child(2){background:#e5c07b}.wf-dots i:nth-child(3){background:#98c379}.wf-nav,.wf-chrome-acts{display:flex;gap:4px;flex:none}.wf-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:transparent;color:#9aa3b0;transition:background .15s,color .15s}.wf-icon:hover{background:#ffffff1f;color:#e6e9ef}.wf-url{flex:1;min-width:0;display:flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;background:#1d2227;color:#8b93a1}.wf-url .wf-lock{flex:none;color:#98c379}.wf-url input{flex:1;min-width:0;background:none;border:0;outline:none;color:#d7dce4;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.wf-app{display:flex;min-height:460px;background:#eceef1}.wf-side{flex:none;width:186px;display:flex;flex-direction:column;background:#3a4149;border-right:1px solid rgba(0,0,0,.25)}.wf-brand{margin:0;padding:12px 14px;font-size:13px;font-weight:700;color:#f0f2f5;border-bottom:1px solid rgba(255,255,255,.08)}.wf-brand em{font-style:normal;font-weight:400;font-size:11px;color:#98a2ae}.wf-menu{display:flex;flex-direction:column;padding:8px;gap:2px;overflow:auto}.wf-menu button{text-align:left;padding:7px 10px;border-radius:7px;font-size:12.5px;color:#c7ced7;white-space:nowrap;transition:background .13s,color .13s}.wf-menu button:hover{background:#ffffff17;color:#fff}.wf-side-foot{margin:auto 0 0;padding:10px 14px;font-size:10.5px;color:#8a94a0;border-top:1px solid rgba(255,255,255,.08)}.wf-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#f6f7f9}.wf-top{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#e2e6ea;border-bottom:1px solid #cfd5db}.wf-crumb{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:#242c34}.wf-who{font-size:11.5px;color:#5d6873}.wf-who b{color:#2c343c}.wf-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:9px 14px;background:#eef0f3;border-bottom:1px solid #d7dde3}.wf-btn{padding:5px 11px;border-radius:6px;background:#fff;border:1px solid #c3ccd4;font-size:11.5px;font-weight:600;color:#3a444e;transition:background .13s,border-color .13s}.wf-btn:hover{background:#dfe5ea}.wf-grow{flex:1}.wf-find{width:150px;max-width:100%;height:28px;padding:0 10px;border-radius:6px;border:1px solid #c3ccd4;background:#fff;font-size:12px;color:#2c343c;outline:none}.wf-find:focus{border-color:#12a05c;box-shadow:0 0 0 3px #12a05c29}.wf-content{flex:1;min-height:0;overflow:auto;background:#fff}.wf-table{width:100%;border-collapse:collapse;font-size:12px}.wf-table th{position:sticky;top:0;z-index:1;text-align:left;white-space:nowrap;padding:8px 12px;background:#dfe4e9;color:#333c45;font-weight:700;font-size:11px;letter-spacing:.02em;text-transform:uppercase;border-bottom:1px solid #c6cdd4}.wf-table td{padding:7px 12px;border-bottom:1px solid #eef1f4;color:#2f3841;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}.wf-table tbody tr:nth-child(2n){background:#fafbfc}.wf-table tbody tr:hover{background:#e7f5ed}.wf-table .wf-i{width:34px;color:#96a1ab}.wf-table .wf-f{width:44px}.wf-flag{display:inline-block;min-width:20px;padding:1px 5px;border-radius:5px;text-align:center;background:#e3e8ec;color:#5d6873;font-size:10.5px;font-weight:700}.wf-flag.is-dyn{background:#e0ecfb;color:#2f6aad}.wf-empty{padding:30px 16px;text-align:center;font-size:12.5px;color:#7b858f}.wf-status{margin:0;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:#e2e6ea;border-top:1px solid #cfd5db;font-size:11px;color:#5d6873}.wf-notes{display:grid;gap:10px;margin-top:6px;font-size:13px;color:var(--text-secondary);line-height:1.55}.wf-notes p{margin:0}:where(.view[data-view=systeme]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=systeme]) table.is-wide{min-width:1060px}:where(.view[data-view=systeme]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=systeme]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=systeme]) .subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}:where(.view[data-view=systeme]) .subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}:where(.view[data-view=systeme]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=systeme]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=systeme]) .term-head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1b1f24;border-bottom:1px solid rgba(255,255,255,.07)}:where(.view[data-view=systeme]) .term-btn{padding:6px 12px;border-radius:999px;background:#ffffff12;color:#c6ccd6;font-size:12px;font-weight:500;transition:background .15s}:where(.view[data-view=systeme]) .term-btn:hover{background:#ffffff24}:where(.view[data-view=systeme]) .term-body{padding:14px 16px 16px;height:min(52vh,430px);overflow-y:auto;cursor:text;font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-size:12.5px;line-height:1.65}:where(.view[data-view=systeme]) .term-body:focus{outline:none}:where(.view[data-view=systeme]) .term-out .t-cmd{color:#e6e9ef}:where(.view[data-view=systeme]) .term-out .t-pr{color:#98c379}:where(.view[data-view=systeme]) .term-out .t-key{color:#61afef}:where(.view[data-view=systeme]) .term-out .t-dim{color:#6b7380}:where(.view[data-view=systeme]) .term-out .t-hi{color:#e5c07b}:where(.view[data-view=systeme]) .term-hint{margin:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#1b1f24;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:#6f7885}:where(.view[data-view=systeme]) .term-hint code{padding:1px 5px;border-radius:5px;background:#ffffff14;color:#e5c07b;font-family:inherit}:where(.view[data-view=systeme]) .cmd-chip{padding:7px 12px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;transition:background .15s,color .15s}:where(.view[data-view=systeme]) table.is-ros.is-wide{min-width:940px}:where(.view[data-view=systeme]) .ros-flag.is-off{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=systeme]) .ros-flag.is-on{background:var(--ok-soft);color:var(--ok-ink)}:where(.view[data-view=systeme]) .wf-menu button.is-on{background:#12a05c;color:#fff;font-weight:600}:where(.view[data-view=systeme]) .wf-btn.is-primary{background:#12a05c;border-color:#0e8b4f;color:#fff}:where(.view[data-view=systeme]) .wf-btn.is-primary:hover{background:#0e8b4f}:where(.view[data-view=systeme]) .wf-btn.is-danger{color:#c0392b}:where(.view[data-view=systeme]) .wf-btn.is-danger:hover{background:#fbe3e0;border-color:#e3b3ad}:where(.view[data-view=systeme]) .wf-table tbody tr.is-off{color:#98a2ac}:where(.view[data-view=systeme]) .wf-table tbody tr.is-off td{color:#98a2ac}:where(.view[data-view=systeme]) .wf-flag.is-off{background:#fbe3e0;color:#b1392a}:where(.view[data-view=systeme]) .wf-flag.is-on{background:#ddf3e7;color:#0e7a47}:where(.view[data-view=systeme]) .tag{font-family:unset}:where(.view[data-view=systeme]) .form-grid{padding:unset}@media (max-width:1024px){:where(.view[data-view=systeme]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.wf-app{flex-direction:column;min-height:0}.wf-side{width:auto;border-right:0;border-bottom:1px solid rgba(0,0,0,.25)}.wf-menu{flex-direction:row;overflow-x:auto;padding:8px 10px;scrollbar-width:none}.wf-menu::-webkit-scrollbar{display:none}.wf-menu button{flex:none}.wf-side-foot{display:none}.wf-content{max-height:52vh}}@media (max-width:640px){.wf-chrome{flex-wrap:wrap;gap:8px;padding:10px}.wf-url{order:3;flex:1 1 100%}.wf-chrome-acts{margin-left:auto}.wf-brand{padding:10px 12px;font-size:12.5px}.wf-tools{padding:8px 10px}.wf-find{width:100%;order:9}.wf-table th,.wf-table td{padding:7px 10px}:where(.view[data-view=systeme]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=systeme]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=systeme]) .table-scroll{overflow:visible}:where(.view[data-view=systeme]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=systeme]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=systeme]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=systeme]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=systeme]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=systeme]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=systeme]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=systeme]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=systeme]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=systeme]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=systeme]) .form-grid{grid-template-columns:1fr}:where(.view[data-view=systeme]) .term-body{height:min(58vh,380px);font-size:12px}:where(.view[data-view=systeme]) .term-title{font-size:11.5px}:where(.view[data-view=systeme]) .chart-menu button{padding:14px 12px;font-size:15px;gap:12px}}@media (max-width:380px){:where(.view[data-view=systeme]) .subnav button{padding:9px 13px;font-size:13px}}:where(.view[data-view=systeme]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=systeme]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=systeme]) .btn-primary:disabled{opacity:.6;cursor:default}.wf-frame{flex:1;display:block;width:100%;min-height:571px;border:0;background:#fff}p.wf-frame{display:grid;place-items:center;margin:0}.card.term-card{padding:0;background:#21252b}@media (max-width:640px){.wf-frame{min-height:62vh}}.ev{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap}.ev i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;flex:none;background:var(--bg-subtle);color:var(--text-muted)}.ev.e-ok i{background:var(--ok-soft);color:var(--ok-ink)}.ev.e-warn i{background:var(--warn-soft);color:var(--warn-ink)}.ev.e-crit i{background:var(--crit-soft);color:var(--crit-ink)}.ev.e-info i{background:var(--info-soft);color:var(--info-ink)}.ev em{font-style:normal;font-size:11px;font-weight:400;color:var(--text-muted);display:block;margin-top:1px}.ev .ev-txt{display:block;white-space:normal}table.is-log{min-width:960px}table.is-log thead th:last-child{text-align:left;padding-right:14px}table.is-log tbody td:last-child{text-align:left;padding-right:14px}table.is-log tbody td{vertical-align:middle}:where(.view[data-view=journal]) .bars{display:block;width:100%;height:auto}:where(.view[data-view=journal]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=journal]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=journal]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=journal]) .subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}:where(.view[data-view=journal]) .subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}:where(.view[data-view=journal]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=journal]) .bars{align-items:unset;gap:unset;padding:unset}:where(.view[data-view=journal]) .tag{font-family:unset}@media (max-width:1024px){:where(.view[data-view=journal]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){:where(.view[data-view=journal]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=journal]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=journal]) .table-scroll{overflow:visible}:where(.view[data-view=journal]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=journal]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=journal]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=journal]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=journal]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=journal]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=journal]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=journal]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=journal]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=journal]) .chart-menu button{padding:14px 12px;font-size:15px;gap:12px}}@media (max-width:380px){:where(.view[data-view=journal]) .subnav button{padding:9px 13px;font-size:13px}}#jrLive[aria-pressed=true]{background:var(--accent-050);color:var(--accent-700)}#jrLive[aria-pressed=true] svg circle{animation:jrPulse 1.8s ease-in-out infinite}@keyframes jrPulse{0%,to{opacity:1}50%{opacity:.25}}@media (max-width:880px){.toolbar-right #jrLive{flex:0 0 auto;padding:0 16px}}@media (max-width:640px){.toolbar-right #jrWindow{flex:1 1 auto}.toolbar-right #jrLive{flex:0 0 auto;padding:0 16px}}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .bars{display:block;width:100%;height:auto}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .bars{align-items:unset;gap:unset;padding:unset}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{padding:unset}@media (max-width:1024px){:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll{overflow:visible}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=rapports],.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{grid-template-columns:1fr}}#rpPeriode>.pill-btn{width:100%}@media (max-width:880px){.toolbar-right>#rpPeriode{flex:1 1 auto}#rpPeriode>.pill-btn{justify-content:center}}@media (max-width:640px){.toolbar-right>#rpPeriode{flex:1 1 100%}}#slkPick{max-width:300px}.slk-quota{margin-top:20px}.slk-quota-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--text-primary)}.slk-quota-head em{font-style:normal;font-weight:400;color:var(--text-muted)}.slk-track{position:relative;height:16px;margin-top:10px;border-radius:999px;background:var(--bg-subtle);overflow:hidden;direction:ltr;unicode-bidi:isolate}.slk-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--accent-400),var(--accent-600));transition:width .5s ease}.slk-proj{position:absolute;top:0;bottom:0;border-radius:0 999px 999px 0;background:repeating-linear-gradient(45deg,var(--warn-soft),var(--warn-soft) 5px,transparent 5px,transparent 10px);box-shadow:inset 0 0 0 1px var(--warn-soft)}.slk-marks{position:relative;height:30px;margin-top:2px;direction:ltr;unicode-bidi:isolate}.slk-marks .slk-mark b{unicode-bidi:plaintext}.slk-mark{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--text-faint);white-space:nowrap}.slk-mark i{display:block;width:1px;height:8px;background:var(--line-stronger)}.slk-mark.is-on{color:var(--accent-700);font-weight:600}.slk-mark.is-on i{background:var(--accent-600)}.slk-mark b{display:block;font-weight:inherit}@media (max-width:780px){.slk-mark b{display:none}}.slk-ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}.slk-step{display:flex;flex-direction:column;gap:4px;padding:12px 13px;border-radius:16px;background:var(--bg-subtle);border:1.5px solid transparent;transition:border-color .2s,background .2s}.slk-step strong{font-size:13px;font-weight:600}.slk-step em{font-style:normal;font-size:11px;color:var(--text-muted)}.slk-step .slk-rate{font-size:12.5px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.slk-step.is-passed{opacity:.55}.slk-step.is-now{border-color:var(--accent-600);background:var(--accent-050)}.slk-step.is-now strong{color:var(--accent-700)}.slk-step.t-warn.is-now{border-color:var(--warn);background:var(--warn-soft)}.slk-step.t-warn.is-now strong{color:var(--warn-ink)}.slk-step.t-crit.is-now{border-color:var(--crit);background:var(--crit-soft)}.slk-step.t-crit.is-now strong{color:var(--crit-ink)}.slk-now{display:grid;gap:10px;margin-top:16px}.slk-now-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:14px;background:var(--bg-subtle)}.slk-now-row span{font-size:12.5px;color:var(--text-muted)}.slk-now-row strong{font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.slk-cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.slk-cmp-col{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px}.slk-cmp-col>span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.slk-cmp-col strong{font-size:24px;font-weight:600;letter-spacing:-.02em;direction:ltr;unicode-bidi:isolate}.slk-cmp-col strong em{font-style:normal;font-size:14px;font-weight:500;opacity:.7}.slk-cmp-col p{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-secondary)}.slk-cmp-col.is-bad{background:var(--crit-soft)}.slk-cmp-col.is-bad>span,.slk-cmp-col.is-bad strong{color:var(--crit-ink)}.slk-cmp-col.is-good{background:var(--ok-soft)}.slk-cmp-col.is-good>span,.slk-cmp-col.is-good strong{color:var(--ok-ink)}.slk-day{display:flex;gap:2px;margin-top:18px;height:34px;border-radius:12px;overflow:hidden;direction:ltr;unicode-bidi:isolate}.slk-seg{flex:1;display:grid;place-items:center;font-size:10.5px;font-weight:600;color:var(--text-secondary);background:var(--bg-subtle);white-space:nowrap;overflow:hidden}.slk-seg.is-low{background:var(--ok-soft);color:var(--ok-ink)}.slk-seg.is-high{background:var(--warn-soft);color:var(--warn-ink)}@media (max-width:900px){.slk-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.slk-cmp{grid-template-columns:1fr}}@media (max-width:520px){.slk-ladder{grid-template-columns:1fr}.slk-mark{font-size:9.5px}.slk-seg{font-size:9px}}.perm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.perm{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:14px;background:var(--bg-subtle)}.perm svg{flex:none;color:var(--accent-600)}.perm-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.perm-txt strong{font-size:13px;font-weight:500;color:var(--text-primary)}.perm-txt em{font-style:normal;font-size:11px;color:var(--text-muted)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .bars{display:block;width:100%;height:auto}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) table.is-wide{min-width:1060px}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .bars{align-items:unset;gap:unset;padding:unset}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .tag{font-family:unset}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn{justify-content:unset;font-size:unset;position:unset}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{padding:unset}@media (max-width:1024px){:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.perm-grid{grid-template-columns:1fr}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll{overflow:visible}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{grid-template-columns:1fr}:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .chart-menu button{padding:14px 12px;font-size:15px;gap:12px}}@media (max-width:380px){:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .subnav button{padding:9px 13px;font-size:13px}}@media (hover:none){:where(.view[data-view=starlink],.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn{width:34px;height:34px}}.rd-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.rd-mode-head{display:flex;align-items:center;gap:9px}.rd-mode-head svg{flex:none;color:var(--text-muted)}.rd-mode-head strong{font-size:14.5px;font-weight:600}.rd-mode-foot{margin-top:4px;padding-top:9px;border-top:1px solid var(--line);font-size:11px;color:var(--text-faint);line-height:1.45}.rd-test{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--ok-soft);color:var(--ok-ink);font-size:12.5px;font-weight:600}.rd-notice{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:18px;background:var(--warn-soft);color:var(--warn-ink);font-size:13px;line-height:1.5}.rd-notice svg{flex:none;margin-top:1px}.rd-steps{list-style:none;counter-reset:rd;margin:16px 0 0;padding:0;display:flex;flex-direction:column}.rd-steps li{position:relative;padding:12px 8px 12px 42px;border-radius:12px;transition:background .15s}.rd-steps li:hover{background:var(--bg-subtle)}.rd-steps li+li{border-top:1px solid var(--line)}.rd-steps li:before{counter-increment:rd;content:counter(rd);position:absolute;inset-inline-start:6px;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--accent-050);color:var(--accent-700);font-size:12px;font-weight:700}.rd-steps strong{display:block;font-size:13.5px;font-weight:600}.rd-steps em{display:block;font-style:normal;font-size:11.5px;color:var(--text-muted);margin-top:2px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) table.is-wide{min-width:1060px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) table.is-xwide{min-width:1200px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .rd-modes .radio-card{padding:16px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .radio-card:has(input:checked) .rd-mode-head svg{color:var(--accent-600)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .tag{font-family:unset}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn{justify-content:unset;font-size:unset;position:unset}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{padding:unset}@media (max-width:1024px){:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.rd-modes{grid-template-columns:1fr}}@media (max-width:640px){:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll{overflow:visible}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll table.is-xwide{min-width:0;width:100%}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .form-grid{grid-template-columns:1fr}:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .chart-menu button{padding:14px 12px;font-size:15px;gap:12px}}@media (max-width:380px){:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .subnav button{padding:9px 13px;font-size:13px}}@media (hover:none){:where(.view[data-view=radius],.view[data-view=routeurs],.view[data-view=compte],.view[data-view=fournisseurs]) .icon-btn{width:34px;height:34px}}#rdApply{flex:0 0 auto;padding:11px 24px}:where(.view[data-view=routeurs]) .device{position:relative;overflow:hidden;margin-top:16px;padding:18px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#1ba463,#12a05c 45%,#0b7a44);box-shadow:var(--shadow-raised)}:where(.view[data-view=routeurs]) .device-glow{position:absolute;right:-44px;top:-64px;width:160px;height:160px;border-radius:999px;background:#ffffff1a}:where(.view[data-view=routeurs]) .device-model{position:relative;margin:2px 0 0;font-size:11px;color:#ffffffb8}:where(.view[data-view=routeurs]) .device-meta{position:relative;display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px;justify-content:space-between;align-items:flex-end;margin-top:16px;font-size:11px;color:#ffffffd1}:where(.view[data-view=routeurs]) .gauge-label{display:flex;justify-content:space-between;font-size:10px;color:#ffffffbf;margin-bottom:5px}:where(.view[data-view=routeurs]) .gauge-track{height:4px;border-radius:999px;background:#ffffff3d;overflow:hidden}:where(.view[data-view=routeurs]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=routeurs]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=routeurs]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=routeurs]) table.is-wide{min-width:1060px}:where(.view[data-view=routeurs]) .chart-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;transition:background .13s,color .13s}:where(.view[data-view=routeurs]) .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}:where(.view[data-view=routeurs]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=routeurs]) .router-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}:where(.view[data-view=routeurs]) .device.is-off{background:linear-gradient(135deg,#7a8794,#5b6673,#414a55);box-shadow:0 8px 20px #414a553d}:where(.view[data-view=routeurs]) .form-grid{padding:unset}@media (max-width:1024px){:where(.view[data-view=routeurs]) .kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){:where(.view[data-view=routeurs]) .chart-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;min-width:0;z-index:70;padding:16px 10px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;box-shadow:var(--shadow-pop),0 -14px 44px #0000004d}:where(.view[data-view=routeurs]) .kpi-grid{grid-template-columns:1fr;gap:12px}:where(.view[data-view=routeurs]) .table-scroll{overflow:visible}:where(.view[data-view=routeurs]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=routeurs]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=routeurs]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=routeurs]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=routeurs]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=routeurs]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=routeurs]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=routeurs]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=routeurs]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=routeurs]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=routeurs]) .form-grid{grid-template-columns:1fr}:where(.view[data-view=routeurs]) .chart-menu button{padding:14px 12px;font-size:15px;gap:12px}}table.is-sess{min-width:620px}table.is-sess thead th:last-child{text-align:right}table.is-sess tbody td:last-child{text-align:right}.acl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px}.acl-tools{display:flex;gap:8px}.acl{margin-top:12px;max-height:min(46vh,380px);overflow:auto;border-radius:18px;background:var(--bg-subtle);padding:8px}.acl-grp+.acl-grp{margin-top:2px}.acl-row{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:12px;cursor:pointer;transition:background .13s}.acl-row:hover{background:var(--bg-surface)}.acl-row input{position:absolute;opacity:0;width:0;height:0}.acl-box{position:relative;flex:none;width:18px;height:18px;border-radius:6px;border:1.5px solid var(--line-stronger);background:var(--bg-surface);transition:background .13s,border-color .13s}.acl-box:after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg) scale(.4);opacity:0;transition:opacity .12s,transform .12s}.acl-row input:checked+.acl-box{background:var(--accent-600);border-color:var(--accent-600)}.acl-row input:checked+.acl-box:after{opacity:1;transform:rotate(42deg) scale(1)}.acl-row input:indeterminate+.acl-box{background:var(--accent-200);border-color:var(--accent-400)}.acl-row input:indeterminate+.acl-box:after{opacity:1;left:3.5px;top:7px;width:9px;height:0;border-width:0 0 2px 0;transform:none}.acl-row input:focus-visible+.acl-box{outline:2px solid var(--accent-600);outline-offset:2px}.acl-row.is-head{font-weight:600}.acl-row.is-head .acl-ic{display:grid;place-items:center;width:22px;height:22px;flex:none;color:var(--text-muted)}.acl-name{flex:1;min-width:0;font-size:13.5px}.acl-row:not(.is-head) .acl-name{font-size:12.5px;font-weight:400;color:var(--text-secondary)}.acl-count{font-style:normal;font-size:11px;font-weight:600;color:var(--text-faint);font-variant-numeric:tabular-nums}.acl-row input:checked~.acl-count{color:var(--accent-700)}.acl-row input:indeterminate~.acl-count{color:var(--accent-700)}.acl-caret{flex:none;color:var(--text-faint);transition:transform .18s}.acl-grp.is-open .acl-caret{transform:rotate(180deg)}.acl-kids{display:none;padding:2px 0 6px 30px}.acl-grp.is-open .acl-kids{display:block}.acl-sum{margin:12px 0 0;font-size:12px;color:var(--text-muted)}.acl-sum b{color:var(--accent-700);font-weight:600}:where(.view[data-view=parametres]) .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;background:var(--accent-600);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--shadow-raised);transition:background .15s}:where(.view[data-view=parametres]) .btn-primary:hover{background:var(--accent-700)}:where(.view[data-view=parametres]) .table-scroll{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}:where(.view[data-view=parametres]) table.is-wide{min-width:1060px}:where(.view[data-view=parametres]) .tag{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--bg-subtle);color:var(--text-secondary);font-size:11px;font-weight:500}:where(.view[data-view=parametres]) .photo-btns .row-btn{display:inline-flex;align-items:center;cursor:pointer}:where(.view[data-view=parametres]) .icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg-subtle);color:var(--text-secondary);flex:none;transition:background .15s,color .15s}:where(.view[data-view=parametres]) .icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.view[data-view=parametres]) .subnav button{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}:where(.view[data-view=parametres]) .subnav button[aria-selected=true] em{background:#ffffff38;color:#fff}:where(.view[data-view=parametres]) .icon-btn[aria-pressed=true]{background:var(--crit-soft);color:var(--crit-ink)}:where(.view[data-view=parametres]) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}:where(.view[data-view=parametres]) .tag{font-family:unset}:where(.view[data-view=parametres]) .form-grid{padding:unset}@media (max-width:640px){.acl{max-height:none}.acl-kids{padding-inline-start:22px}:where(.view[data-view=parametres]) .table-scroll{overflow:visible}:where(.view[data-view=parametres]) .table-scroll table{min-width:0;width:100%}:where(.view[data-view=parametres]) .table-scroll table.is-wide{min-width:0;width:100%}:where(.view[data-view=parametres]) .table-scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}:where(.view[data-view=parametres]) .table-scroll tbody tr{display:block;margin-bottom:12px;padding:4px 0;border-top:0;border:1px solid var(--line);border-radius:16px;background:var(--bg-surface)}:where(.view[data-view=parametres]) .table-scroll tbody tr:last-child{margin-bottom:0}:where(.view[data-view=parametres]) .table-scroll tbody tr:hover{background:var(--bg-surface)}:where(.view[data-view=parametres]) .table-scroll tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;text-align:right;font-size:13px}:where(.view[data-view=parametres]) .table-scroll tbody td:before{content:attr(data-label);flex:none;text-align:left;font-size:11.5px;font-weight:500;color:var(--text-muted)}:where(.view[data-view=parametres]) .table-scroll tbody td:first-child{display:block;text-align:left;padding:12px 14px 10px;border-bottom:1px solid var(--line);margin-bottom:2px}:where(.view[data-view=parametres]) .table-scroll tbody td:first-child:before{display:none}:where(.view[data-view=parametres]) .form-grid{grid-template-columns:1fr}}@media (max-width:380px){:where(.view[data-view=parametres]) .subnav button{padding:9px 13px;font-size:13px}}@media (hover:none){:where(.view[data-view=parametres]) .icon-btn{width:34px;height:34px}}:where(.view[data-view=parametres]) .pm-extra{margin-top:14px}:where(.view[data-view=parametres]) .photo-preview img{width:100%;height:100%;object-fit:contain;border-radius:inherit}:where(.view[data-view=parametres]) td button.icon-btn{font-size:inherit;line-height:inherit}.acct-wrap .avatar-me{cursor:pointer;border:0;transition:box-shadow .15s}.acct-wrap .avatar-me[aria-expanded=true]{box-shadow:0 0 0 2px var(--ring-white),0 0 0 4px var(--accent-200)}.acct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.acct-cell{padding:12px 14px;border-radius:14px;background:var(--bg-subtle);min-width:0}.acct-cell span{display:block;font-size:11px;color:var(--text-muted);margin-bottom:3px}.acct-cell strong{display:block;font-size:13.5px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-cell.full,.acct-grid .full{grid-column:1 / -1}@media (max-width:640px){.acct-grid{grid-template-columns:1fr}.chart-menu.is-acct{min-width:0}}.essai-bandeau{margin:0 0 16px;padding:10px 16px;border-radius:14px;background:var(--accent-050);color:var(--accent-700);font-size:13px}.essai-bandeau strong{font-weight:600}.essai-bandeau.is-fin{background:var(--crit-soft);color:var(--crit-ink)}
