:root{--accent:#3b4dee;--accent-2:#9ba8f5;--accent-strong:#2b3bc4;--bg:#0a0e14;--bg-1:#0f141c;--bg-2:#141a24;--bg-3:#1a2130;--bg-hover:#1e2636;--border:#222b3c;--border-strong:#2e3950;--border-subtle:#1a2130;--text:#e6edf7;--text-muted:#8a96ac;--text-dim:#5a657a;--ok:#22c55e;--ok-mid:#9cd2ae;--ok-bg:#22c55e1f;--warn:#f59e0b;--warn-mid:#ffcc7f;--warn-bg:#f59e0b1f;--err:#ef4444;--err-mid:#eb928c;--err-bg:#ef44441f;--info-bg:#3b4dee1f;--pending:#a78bfa;--pending-bg:#a78bfa24;--process:#8bc2ea;--process-bg:#8bc2ea1f;--alphalink-primary:#001e46;--alphalink-red:#e83a3a;--positive-dark:#1c8d4c;--negative-dark:#ff3f33;--highly-negative-dark:#bc3232;--warning-dark:#ffa900;--text-on-accent:#fff;--backdrop-bg:#05080c99;--topbar-bg:#0a0e14d9;--font-sans:Geist, Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-size-2xs:10px;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:22px;--font-size-2xl:26px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-base:1.5;--letter-spacing-tight:-.02em;--letter-spacing-snug:-.015em;--letter-spacing-normal:-.01em;--letter-spacing-wide:.04em;--letter-spacing-wider:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--density-pad-y-compact:6px;--density-pad-x-compact:10px;--row-height-compact:34px;--density-pad-y-default:10px;--density-pad-x-default:14px;--row-height-default:44px;--density-pad-y-cozy:14px;--density-pad-x-cozy:18px;--row-height-cozy:52px;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--duration-fast:.1s;--duration-base:.15s;--duration-enter:.2s;--duration-slow:.25s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-sm:0px 2px 8px 0px #0003;--shadow-md:0px 8px 24px 0px #0000004d;--shadow-lg:0px 24px 60px -20px #0009;--shadow-panel:-8px 0px 24px 0px #0000004d;--shadow-accent:0px 6px 18px -8px #3b4dee;--z-topbar:10;--z-panel-backdrop:90;--z-panel:95;--z-modal:100;--z-overlay:200;--z-toast:500}[data-theme=light]{--ok:#1c8d4c;--warn:#d97706;--err:#ef4444;--pending:#7c3aed;--bg:#f7f8fb;--bg-1:#fff;--bg-2:#fff;--bg-3:#f2f4f8;--bg-hover:#eef1f6;--border:#e4e7ee;--border-strong:#d0d6e0;--border-subtle:#eef1f6;--text:#0f172a;--text-muted:#64748b;--text-dim:#94a3b8;--ok-mid:#9cd2ae;--ok-bg:#22c55e1a;--warn-mid:#ffcc7f;--warn-bg:#f59e0b1f;--err-mid:#eb928c;--err-bg:#ef44441a;--info-bg:#3b4dee1a;--pending-bg:#a78bfa1f;--process:#3598db;--process-bg:#3598db1a;--text-on-accent:#fff;--backdrop-bg:#0f172a80;--topbar-bg:#f7f8fbe6}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}.layout{min-height:100vh;padding-left:64px}.main{background:var(--bg);flex-direction:column;min-width:0;display:flex}.page{width:100%;padding:28px 28px 80px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);color:var(--text);margin:0}.grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.mon-grid{grid-template-columns:1.6fr 1fr;gap:12px;display:grid}@media (width<=1400px){.mon-grid{grid-template-columns:1fr}.mon-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=1100px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.mon-grid-3{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.text-mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-accent{color:var(--accent)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-err{color:var(--err)}.divider{border:none;border-top:1px solid var(--border);margin:0}.field{flex-direction:column;gap:4px;display:flex}.field-label{font-size:var(--font-size-xs);color:var(--text-muted)}.field-label.optional:after{content:" (optionnel)";color:var(--text-dim)}.field-error{font-size:var(--font-size-xs);color:var(--err);align-items:center;gap:4px;margin-top:2px;display:flex}.kpi-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.kpi-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.kpi-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-items:center;gap:10px;margin:0;display:flex}.kpi-card-title svg,.kpi-card-title .svg-inline--fa{width:26px;height:26px;color:var(--accent);background:#4b8cff1a;border-radius:7px;flex-shrink:0;place-items:center;padding:5px;font-size:14px;display:inline-grid}.kpi-card-period{font-size:var(--font-size-xs);color:var(--text-muted)}.kpi-card-grid{grid-template-columns:repeat(4,1fr);display:grid}.kpi-card-grid .kpi-tile{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0}.kpi-card-grid .kpi-tile:last-child{border-right:0}@media (width<=1100px){.kpi-card-grid{grid-template-columns:1fr 1fr}.kpi-card-grid .kpi-tile:nth-child(2){border-right:0}.kpi-card-grid .kpi-tile:nth-child(3),.kpi-card-grid .kpi-tile:nth-child(4){border-top:1px solid var(--border)}}.tt-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:4px}.tt-row{font-size:var(--font-size-xs);justify-content:space-between;align-items:center;gap:10px;padding:2px 0;display:flex}.tt-row strong{font-weight:var(--font-weight-semibold)}.tt-hint{color:var(--text-dim);font-size:var(--font-size-2xs);border-top:1px dashed var(--border);margin-top:4px;padding-top:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ip-cell{color:var(--accent);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer}.ip-cell:hover{text-decoration:underline}.demo-app{background:var(--bg);min-height:100vh}.demo-page{flex-direction:column;gap:20px;padding:24px;display:flex}.mon-grid-2,.mon-main-grid{grid-template-columns:3fr 2fr;gap:16px;display:grid}.mon-main-left{flex-direction:column;gap:16px;display:flex}.mon-main-right{flex-direction:column;min-height:0;display:flex}.mon-main-right>*{flex:1;min-height:0}.mon-mid-grid{grid-template-columns:3fr 2fr;align-items:stretch;gap:16px;display:grid}.mon-mid-grid .bloc{flex-direction:column;display:flex}.mon-mid-grid .bloc .bloc-body{flex-direction:column;flex:1;display:flex}.mon-right-col{flex-direction:column;gap:16px;display:flex}.mon-kpis--2col{grid-template-columns:repeat(2,1fr)}.mon-kpi-cells{background:var(--border-subtle);grid-template-columns:1fr 1fr;gap:1px;display:grid}.mon-kpi-cell{background:var(--bg-1);flex-direction:column;gap:4px;padding:13px 16px;display:flex}.mon-kpi-cell.critical .mon-kpi-cell-value{color:var(--err)}.mon-kpi-cell--clickable{cursor:pointer;transition:background .1s}.mon-kpi-cell--clickable:hover{background:var(--bg-hover)}.mon-kpi-cell-label{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.mon-kpi-cell-value-row{align-items:baseline;gap:4px;display:flex}.mon-kpi-cell-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";letter-spacing:-.01em;line-height:1.2}.mon-kpi-cell-value.warn{color:var(--warn)}.mon-kpi-cell-unit{font-size:var(--font-size-xs);color:var(--text-muted)}.mon-kpi-cell-delta{font-size:var(--font-size-2xs);color:var(--text-dim)}.mon-kpi-cell-delta.up{color:var(--ok)}.mon-kpi-cell-delta.up.warn{color:var(--err)}.mon-kpi-cell-delta.down{color:var(--text-muted)}.mon-kpi-cell-delta.down.good{color:var(--ok)}.mon-kpi-cells--4col{grid-template-columns:repeat(4,1fr)}.mon-kpi-cell-frac{font-size:var(--font-size-sm);color:var(--text-dim);margin-left:1px;font-weight:400}.vmc-header{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--bg-2);grid-template-columns:1fr 52px 88px 44px;padding:6px 46px 6px 32px;display:grid}.vmc-list{flex-direction:column;display:flex}.vmc-item{border-bottom:1px solid var(--border-subtle)}.vmc-item:last-child{border-bottom:none}.vmc-trigger{cursor:pointer;text-align:left;width:100%;transition:background var(--duration-fast);background:0 0;border:none;grid-template-columns:8px 1fr 52px 88px 44px 28px;align-items:center;gap:10px;padding:9px 14px;font-family:inherit;display:grid}.vmc-trigger:hover{background:var(--bg-hover)}.vmc-trigger[data-state=open]{background:var(--bg-2)}.vmc-sev-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.vmc-name{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vmc-clients{font-size:var(--font-size-sm);color:var(--text-muted);font-feature-settings:"tnum";text-align:center;font-weight:600}.vmc-clients.high{color:var(--err)}.vmc-count{font-size:var(--font-size-xs);color:var(--text-muted);font-feature-settings:"tnum";text-align:right}.vmc-trend{justify-content:center;align-items:center;display:flex}.vmc-trend.up{color:var(--err)}.vmc-trend.down{color:var(--ok)}.vmc-trend.stable{color:var(--text-dim)}.vmc-chevron{color:var(--text-dim);transition:transform var(--duration-base);flex-shrink:0}.vmc-trigger[data-state=open] .vmc-chevron{transform:rotate(90deg)}.vmc-content{overflow:hidden}.vmc-content[data-state=open]{animation:vmcSlideDown var(--duration-enter) ease}.vmc-content[data-state=closed]{animation:vmcSlideUp var(--duration-fast) ease}@keyframes vmcSlideDown{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes vmcSlideUp{0%{height:var(--radix-accordion-content-height)}to{height:0}}.vmc-client-row{background:var(--bg-2);border-top:1px solid var(--border-subtle);transition:background var(--duration-fast);grid-template-columns:1fr 80px 32px;align-items:center;gap:10px;padding:7px 14px 7px 32px;display:grid}.vmc-client-row:hover{background:var(--bg-hover)}.vmc-client-name{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vmc-client-occ{font-size:var(--font-size-xs);color:var(--text-dim);font-feature-settings:"tnum";text-align:right}.vmc-client-link{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-dim);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.vmc-client-link:hover{background:var(--accent);color:#fff}.cex-header{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);border-bottom:1px solid var(--border);grid-template-columns:1fr 96px 40px;padding:6px 14px 6px 28px;display:grid}.cex-row{border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);grid-template-columns:8px 1fr 96px 40px;align-items:center;gap:6px;padding:8px 14px;display:grid}.cex-row:last-child{border-bottom:none}.cex-row:hover{background:var(--bg-hover)}.cex-sev-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cex-name{color:var(--text);font-weight:500}.cex-occ{font-feature-settings:"tnum";color:var(--text-muted);text-align:right}.cex-trend{color:var(--text-dim);justify-content:center;display:flex}.cex-trend.up{color:var(--err)}.cex-trend.down{color:var(--ok)}.cex-trend.stable{color:var(--text-dim)}@media (prefers-reduced-motion:reduce){.vmc-content{animation:none}.vmc-chevron{transition:none}}.vmc-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:9px;margin-top:auto;padding:12px 14px;display:flex}.vmc-footer-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-weight:500}.vmc-footer-bar{border-radius:var(--radius-full);background:var(--border-subtle);gap:1px;height:5px;display:flex;overflow:hidden}.vmc-footer-bar-seg{height:100%}.vmc-footer-legend{flex-wrap:wrap;gap:14px;display:flex}.vmc-footer-chip{font-size:var(--font-size-xs);color:var(--text-dim);align-items:center;gap:5px;display:flex}.vmc-footer-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.vmc-footer-chip-count{color:var(--text);font-feature-settings:"tnum";font-weight:600}.vmc-footer-stat{font-size:var(--font-size-xs);color:var(--text-dim);border-top:1px solid var(--border-subtle);align-items:center;gap:6px;padding-top:6px;display:flex}.vmc-footer-stat-name{color:var(--text-muted);font-weight:500}.vmc-footer-stat-count{font-feature-settings:"tnum";color:var(--text-dim);margin-left:auto}.vmc-sections{flex-direction:column;display:flex}.vmc-section{border-bottom:1px solid var(--border);padding:10px 14px 12px}.vmc-section:last-child{border-bottom:none}.vmc-section-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.vmc-section-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.vmc-section-count{font-size:var(--font-size-xs);color:var(--text-dim);margin-left:2px}.vmc-section-clients{flex-direction:column;gap:6px;display:flex}.vmc-client-card{background:var(--bg-1);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:background .12s;display:flex}.vmc-client-card:hover{background:var(--bg-hover)}.vmc-client-card-name{font-size:var(--font-size-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-weight:500;overflow:hidden}.vmc-client-card-meta{font-size:var(--font-size-xs);color:var(--text-dim);flex:1;align-items:center;gap:5px;display:flex}.vmc-client-card-sep{color:var(--border)}.vmc-client-card-arrow{color:var(--text-dim);flex-shrink:0;margin-left:auto;transition:color .12s}.vmc-client-card:hover .vmc-client-card-arrow{color:var(--text-muted)}.mon-status-bar{border-radius:var(--radius);font-size:var(--font-size-xs);color:var(--text-muted);border:1px solid;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;display:flex}.mon-status-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mon-status-right{flex-shrink:0}.mon-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.mon-status-state{font-weight:500}.mon-status-sep{background:var(--border);flex-shrink:0;width:1px;height:12px}.mon-status-item{align-items:center;gap:5px;display:flex}.mon-status-count{font-feature-settings:"tnum";font-weight:600}.mon-status-sync{color:var(--text-dim)}.mon-timeseries-compact .ts-svg{min-height:120px;max-height:160px}.activity-empty{color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.activity-empty-icon{opacity:.4}.activity-empty-text{font-size:var(--font-size-sm);color:var(--text-dim);text-align:center;max-width:320px;margin:0;line-height:1.5}.activity-country-bar{background:var(--bg-2);border-bottom:1px solid var(--border);font-size:var(--font-size-sm);align-items:center;gap:10px;padding:9px 16px;display:flex}.activity-country-flag{font-size:16px;line-height:1}.activity-country-name{color:var(--text);font-weight:500}.activity-country-stat{font-size:var(--font-size-xs);color:var(--text-muted);font-feature-settings:"tnum"}.col-filter-select{border:1px solid var(--border);background:var(--bg-3);color:var(--text-muted);cursor:pointer;box-sizing:border-box;appearance:none;border-radius:4px;outline:none;width:100%;min-width:0;padding:1.5px 5px;font-size:10.5px}.col-filter-select:focus{border-color:var(--accent)}.col-filter-select option{background:var(--bg-2);color:var(--text)}.col-filter-select.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg-3))}.top-list-colhdr{font-size:var(--font-size-xs);color:var(--text-dim);font-feature-settings:"tnum";border-bottom:1px solid var(--border-subtle);justify-content:flex-end;margin-bottom:2px;padding:0 14px 6px;display:flex}.worldmap-tooltip .tt-hint{color:#0000;font-size:0}.worldmap-tooltip .tt-hint:after{content:"Cliquer pour voir les logs";color:var(--text-dim);font-size:10.5px}.col-filter-input{border:1px solid var(--border);background:var(--bg-3);color:var(--text-muted);box-sizing:border-box;border-radius:4px;outline:none;width:100%;min-width:0;padding:1.5px 5px;font-family:inherit;font-size:10.5px}.col-filter-input:focus{border-color:var(--accent)}.col-filter-input::placeholder{color:var(--text-dim)}.col-filter-input.active{border-color:var(--accent);color:var(--text)}.activity-country-sep{background:var(--border);flex-shrink:0;width:1px;height:12px}.activity-country-clear{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-dim);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.activity-country-clear:hover{background:var(--bg-hover);color:var(--text)}.activity-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:14px;display:grid}.activity-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-fast);flex-direction:column;display:flex;overflow:hidden}.activity-card:hover{border-color:var(--border-strong)}.activity-card-accent{flex-shrink:0;height:3px}.activity-card-header{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:10px;padding:12px 14px 10px;display:flex}.activity-card-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.activity-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.activity-card-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.activity-card-desc{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.activity-card-total{border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:5px;padding:8px 14px 6px;display:flex}.activity-total-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";line-height:1}.activity-total-unit{font-size:var(--font-size-xs);color:var(--text-muted)}.activity-card-body{flex:1}.rules-tab-content{padding:0!important}.rules-table{flex-direction:column;display:flex}.rules-header,.rules-row{grid-template-columns:2fr 80px 130px 110px;align-items:center;gap:12px;padding:0 16px;display:grid}.rules-header{height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--bg-2)}.rules-row{border-bottom:1px solid var(--border-subtle);transition:background var(--duration-fast);padding-top:10px;padding-bottom:10px}.rules-row:last-child{border-bottom:none}.rules-row:hover{background:var(--bg-hover)}.rules-name-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.rules-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text);line-height:1.3}.rules-raw{font-family:var(--font-mono);font-size:var(--font-size-2xs);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rules-sev-cell{font-size:var(--font-size-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.rules-sev-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.rules-count-cell{align-items:center;gap:8px;display:flex}.rules-bar-wrap{background:var(--bg-3);border-radius:2px;flex-shrink:0;width:40px;height:3px;overflow:hidden}.rules-bar{border-radius:2px;min-width:2px;height:100%}.rules-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";white-space:nowrap}.tg-kpi-strip{background:var(--border-subtle);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.tg-kpi-cell{background:var(--bg-1);flex-direction:column;gap:3px;padding:12px 18px;display:flex}.tg-kpi-label{font-size:var(--font-size-xs);color:var(--text-dim)}.tg-kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";line-height:1.15}.tg-kpi-value.critical{color:var(--err)}.tg-kpi-value.warn{color:var(--warn)}.tg-kpi-unit{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-normal)}.tg-kpi-delta{font-size:var(--font-size-xs);color:var(--text-dim)}.tg-kpi-delta.up{color:var(--ok)}.tg-kpi-delta.down{color:var(--text-muted)}.tg-kpi-delta.up.critical{color:var(--err)}.tg-map{border-bottom:1px solid var(--border);flex-shrink:0;height:300px}.tg-map .worldmap-body{height:100%}.tg-chart{flex-shrink:0;height:190px}.tg-chart .ts-body{height:100%}.mon-analysis-grid{grid-template-columns:1fr 2fr;align-items:start;gap:16px;display:grid}.mon-opt1-grid{grid-template-columns:2fr 1fr 1fr;align-items:start;gap:16px;display:grid}.mon-opt2-top{grid-template-columns:3fr 1fr;align-items:stretch;gap:16px;display:grid}.mon-opt2-bottom{grid-template-columns:1fr 2fr;align-items:start;gap:16px;display:grid}.mon-opt2-side{flex-direction:column;gap:12px;display:flex}.mon-kpi-sidebar{background:var(--border-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:1px;display:flex;overflow:hidden}.mon-kpi-strip{background:var(--border-subtle);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:-4px;display:grid;overflow:hidden}.mon-opt3-grid{grid-template-columns:2fr 1fr;align-items:start;gap:16px;display:grid}.mon-opt3-side{flex-direction:column;gap:12px;display:flex}.mon-kpi-item{background:var(--bg-1);flex-direction:column;gap:3px;padding:12px 16px;display:flex}.mon-kpi-label{font-size:var(--font-size-xs);color:var(--text-dim)}.mon-kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";line-height:1.1}.mon-kpi-value.critical{color:var(--err)}.mon-kpi-value.warn{color:var(--warn)}.mon-kpi-unit{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-normal)}.mon-kpi-delta{font-size:var(--font-size-xs);color:var(--text-dim)}.mon-kpi-delta.up{color:var(--ok)}.mon-kpi-delta.down{color:var(--text-muted)}.mon-kpi-delta.up.critical{color:var(--err)}.mon-kpi-delta.up.warn{color:var(--warn)}.mon-kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.mon-toolbar{align-items:flex-start;gap:16px;display:flex}.mon-toolbar .mon-kpis{flex:1}.layout-switcher{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;display:flex}.layout-switcher-label{font-size:var(--font-size-xs);color:var(--text-dim)}.layout-seg{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;gap:1px;padding:2px;display:flex}.layout-seg-btn{cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--text-dim);transition:all var(--duration-fast);background:0 0;border:0;border-radius:4px;padding:3px 12px}.layout-seg-btn.active{background:var(--bg-1);color:var(--text);box-shadow:0 1px 2px #00000014}.mon-grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.mon-grid-4,.kpi-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.sev-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);align-items:center;gap:5px;display:inline-flex}.sev-badge-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.action-badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;padding:2px 7px;display:inline-block}.ip-mono{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted)}.flag-name{font-size:var(--font-size-xs);align-items:center;gap:4px;display:inline-flex}.log-type-chip{border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;display:inline-block}.log-type-chip.threat{background:var(--err-bg);color:var(--err)}.log-type-chip.traffic{background:var(--bg-3);color:var(--text-muted)}.log-bytes{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-dim);font-feature-settings:"tnum"}.ctw-list{flex-direction:column;display:flex}.ctw-list-header,.ctw-row-h{grid-template-columns:2fr 1fr 1fr 1.5fr 1fr;align-items:center;gap:8px;padding:7px 14px;display:grid}.ctw-list-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.ctw-row-h{font-size:var(--font-size-sm);border-bottom:1px solid var(--border-subtle);transition:background var(--duration-fast)}.ctw-row-h:last-child{border-bottom:none}.ctw-row-h:hover{background:var(--bg-hover)}.ctw-name{font-weight:var(--font-weight-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ctw-threats{font-weight:var(--font-weight-medium);color:var(--text);font-feature-settings:"tnum"}.ctw-threats.critical{color:var(--err)}.ctw-traffic{color:var(--text-muted);font-feature-settings:"tnum"}.ctw-country{color:var(--text-muted);align-items:center;gap:5px;display:flex}.ctw-delta{font-size:var(--font-size-xs);color:var(--text-dim)}.tops-tabs{flex-direction:column;display:flex}.tops-tab-list{border-bottom:1px solid var(--border);background:var(--bg-2);padding:0 8px;display:flex}.tops-tab{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-dim);cursor:pointer;transition:color var(--duration-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-family:inherit;display:flex}.tops-tab:hover{color:var(--text)}.tops-tab[data-state=active]{color:var(--text);border-bottom-color:var(--accent)}.tops-tab-icon{align-items:center;display:flex}.tops-tab-content{outline:none;padding:14px 16px}.tops-tab-summary{border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:6px;margin-bottom:12px;padding-bottom:10px;display:flex}.tops-tab-desc{font-size:var(--font-size-xs);color:var(--text-dim);margin-left:auto}.tops-total-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";line-height:1}.tops-total-unit{font-size:var(--font-size-sm);color:var(--text-muted)}.log-seg-group{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;gap:1px;padding:2px;display:flex}.log-seg-btn{cursor:pointer;color:var(--text-dim);transition:background var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast);white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:3px 9px;font-family:inherit;font-size:11.5px;font-weight:500;display:inline-flex}.log-seg-btn:hover{color:var(--text-muted);background:var(--bg-hover)}.log-seg-btn.active{background:var(--bg-1);color:var(--text);box-shadow:0 1px 2px #0000000f}.log-sev-btn.active{color:var(--sev-color,var(--text))}.log-sev-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.parc-search-bar{align-items:center;gap:10px;display:flex}.parc-search-bar .input{flex:1;max-width:320px}.parc-client-row{cursor:pointer;background:var(--bg-2)}.parc-client-row:hover{background:var(--bg-hover)}.parc-client-row td{border-top:1px solid var(--border-subtle);padding-top:10px;padding-bottom:10px}.parc-client-row:first-child td{border-top:none}.parc-site-row td{background:0 0;padding-top:7px;padding-bottom:7px}.parc-site-row:last-child td{border-bottom:1px solid var(--border-subtle)}.parc-expand-icon{color:var(--text-dim);justify-content:center;align-items:center;display:flex}.parc-prot-pill{font-feature-settings:"tnum";align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.parc-prot-pill.ok{color:var(--ok)}.parc-prot-pill.warn{color:var(--warn)}.parc-prot-pill.err{color:var(--err)}.parc-prot-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.parc-th-prot{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.parc-th-prot.ok{color:var(--ok)}.parc-th-prot.warn{color:var(--warn)}.parc-th-prot.err{color:var(--err)}.parc-count-cell{font-feature-settings:"tnum";font-size:15px;font-weight:600}.parc-count-cell.ok{color:var(--ok)}.parc-count-cell.warn{color:var(--warn)}.parc-count-cell.err{color:var(--err)}.parc-count-cell.dim{color:var(--text-dim)}.fw-status{font-size:var(--font-size-xs);align-items:center;gap:5px;display:inline-flex}.fw-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.fw-dot.active{background:var(--ok)}.fw-dot.partial{background:var(--warn)}.fw-dot.none{background:var(--err)}.fiche-page{flex-direction:column;gap:16px;padding:24px;display:flex}.sites-table-wrap{flex-direction:column;gap:12px;display:flex}.site-links-list{flex-direction:column;gap:2px;display:flex}.site-link-row{font-size:var(--font-size-xs);color:var(--text-muted);align-items:center;gap:8px;display:flex}.link-ip{font-family:var(--font-mono);background:var(--bg-3);border-radius:var(--radius-sm);color:var(--text-muted);padding:1px 5px;font-size:11px}.whitelist-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.payload-pre{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:200px;color:var(--text-muted);white-space:pre-wrap;word-break:break-all;margin:0;padding:10px 12px;font-size:11px;overflow:auto}.rules-layout{grid-template-columns:1fr 1fr;gap:16px;display:grid}.mon-section{flex-direction:column;gap:16px;display:flex}.log-sev-cell{align-items:center;gap:5px;display:flex}.commit-id{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted)}.stats-row{gap:12px;display:flex}.rule-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=1280px){.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.rule-card{background:radial-gradient(120% 60% at 50% -10%, color-mix(in oklab, var(--accent) 12%, transparent) 0%, transparent 60%), linear-gradient(180deg, #fff 0%, #f5f7fb 100%);text-align:left;border:0;border-radius:16px;flex-direction:column;align-items:stretch;padding:26px 20px 20px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9,0 0 0 1px #0f172a0a,0 1px 2px #0f172a0a,0 8px 24px -12px #0f172a14}.rule-card:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in oklab, var(--accent) 60%, var(--accent-2,#9ba8f5)));opacity:.85;height:3px;position:absolute;inset:0 0 auto}.rule-card.is-disabled{opacity:.85;background:repeating-linear-gradient(135deg,#0f172a05 0 8px,#0000 8px 16px),linear-gradient(#fff 0%,#f5f7fb 100%)}.rule-card.is-disabled:before{background:var(--text-dim);opacity:.3}.rule-info{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:#0f172a0a;border:0;border-radius:999px;place-items:center;transition:background .12s,color .12s;display:grid;position:absolute;top:12px;right:12px}.rule-info:hover{color:var(--text);background:#0f172a1a}.rule-icon-wrap{width:44px;height:44px;color:var(--text-muted);background:#0f172a0a;border-radius:10px;flex-shrink:0;place-items:center;margin-bottom:14px;display:grid;position:relative}.rule-icon-svg{place-items:center;display:grid}.rule-icon-shield{width:16px;height:16px;color:var(--ok);background:#fff;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:0 1px 2px #0f172a14}.is-disabled .rule-icon-wrap{background:linear-gradient(135deg,#f1f3f7 0%,#e8ecf2 100%)}.is-disabled .rule-icon-shield{color:var(--text-dim)}.rule-card-title{color:var(--text);letter-spacing:-.01em;margin:0 0 6px;font-size:15px;font-weight:600}.rule-card-subtitle{color:var(--text-muted);max-width:240px;margin:0 0 14px;font-size:11.5px;font-style:italic;line-height:1.45}.rule-list{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.rule-list-item{color:var(--text);background:#ffffff80;border:1px solid #0f172a0a;border-radius:8px;align-items:flex-start;gap:10px;padding:6px 8px;font-size:12.5px;line-height:1.45;display:flex}.rule-mark{flex-shrink:0;margin-top:2px}.rule-list-item.is-on .rule-mark{color:var(--ok)}.rule-list-item.is-off .rule-mark{color:var(--err);opacity:.7}.rule-list-item.is-off{color:var(--text-muted)}.rule-list-item.is-off span:not(.rule-mark){-webkit-text-decoration:line-through #0f172a26;text-decoration:line-through #0f172a26}.rule-card-footer{justify-content:center;width:100%;margin-top:auto;padding-top:16px;display:flex}.rule-grid.rule-grid-modal{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-xl:has(.rule-grid-modal){width:min(1340px,100vw - 32px)}.rule-edit-list{flex-direction:column;gap:8px;width:100%;display:flex}.rule-edit-list .checkbox-root,.rule-edit-list .radio-root{background:#ffffff80;border:1px solid #0f172a0a;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:6px 8px;font-size:12.5px;line-height:1.45;display:flex}.rule-edit-sublist{border-left:2px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;padding-left:14px;display:flex}.rule-edit-static{width:100%;color:var(--text);background:#ffffff80;border:1px solid #0f172a0a;border-radius:8px;align-items:flex-start;padding:6px 8px;font-size:12.5px;line-height:1.45;display:flex}.table-airy{border-collapse:separate;border-spacing:0 10px;width:100%;font-size:13px}.table-airy thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-2);border-bottom:0;padding:14px 18px;font-size:11px;font-weight:500}.table-airy thead th:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.table-airy thead th:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.table-airy tbody tr{cursor:default;background:#fafafa;transition:background .12s}.table-airy tbody tr:hover{background:color-mix(in oklab, var(--accent) 7%, #fafafa)}.table-airy tbody tr:hover .row-actions{opacity:1}.table-airy tbody td{vertical-align:middle;border:0;padding:16px 18px}.table-airy tbody td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.table-airy tbody td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.row-actions{opacity:0;justify-content:flex-end;gap:6px;transition:opacity .12s;display:flex}ul.link-stack{margin:0;padding:0;list-style:none}li.link-row{grid-column:1/-1;grid-template-columns:270px auto 150px;align-items:center;display:grid}.link-row+.link-row{border-top:1px dashed var(--border)}.link-row>div{padding:14px 18px}.link-name{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.link-name span{white-space:initial;text-overflow:ellipsis;min-width:0}.link-ips{flex-wrap:wrap;gap:4px;display:flex}.ip-chip{font-family:var(--font-mono);background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:1px 7px;font-size:12px}.licence-dot{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.licence-dot.on{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in oklab, var(--ok) 35%, transparent)}.licence-dot.off{color:var(--err);background:var(--err-bg);border-color:color-mix(in oklab, var(--err) 35%, transparent)}.btn-round{background:var(--bg-1);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:background .12s,color .12s,border-color .12s,transform .12s;display:inline-grid;position:relative}.btn-round:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}.page-hd-tabs-bridge{margin:0 0 18px}.fiche-tabs{gap:2px;display:inline-flex}.fiche-tab{cursor:pointer;border:0;align-items:center;gap:7px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.fiche-tab-count{background:var(--bg-3);color:var(--text-muted);text-align:center;border-radius:100px;min-width:18px;padding:1px 6px;font-size:10.5px;font-weight:500}.tabs-pill{background:var(--bg-1);border:1px solid var(--border);border-radius:10px;align-self:flex-start;padding:5px;display:inline-flex;box-shadow:0 1px #0000000a}.tabs-pill .fiche-tab{color:var(--text-muted);transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border-radius:8px;padding:7px 14px}.tabs-pill .fiche-tab:hover{color:var(--text);background:var(--bg-hover)}.tabs-pill .fiche-tab.active{color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent)}.tabs-pill .fiche-tab.active .fiche-tab-count{background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent)}.tabs-underline{border-bottom:1px solid var(--border);width:100%;display:flex}.tabs-underline .fiche-tabs{gap:0}.tabs-underline .fiche-tab{color:var(--text-muted);transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast);background:0 0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 18px 9px}.tabs-underline .fiche-tab:hover{color:var(--text);background:var(--bg-hover);border-bottom-color:var(--border-strong)}.tabs-underline .fiche-tab.active{color:var(--text);border-bottom-color:var(--accent);background:0 0;font-weight:600}.tabs-underline .fiche-tab.active .fiche-tab-count{background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent)}.tweaks-panel{background:var(--bg-1);border:1px solid var(--border-strong);width:280px;z-index:var(--z-toast);border-radius:10px;font-size:13px;position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 20px 40px -12px #00000080,0 0 0 1px #ffffff05}.tweaks-header{border-bottom:1px solid var(--border);color:var(--text);background:var(--bg-2);justify-content:space-between;align-items:center;padding:10px 12px;font-weight:500;display:flex}.tweaks-body{flex-direction:column;gap:14px;padding:12px;display:flex}.tweaks-row{flex-direction:column;gap:6px;display:flex}.tweaks-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:10.5px;font-weight:600}.tweaks-options{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tweaks-chip{border:1px solid var(--border);background:var(--bg-2);color:var(--text-muted);cursor:pointer;border-radius:5px;align-items:center;padding:5px 10px;font-family:inherit;font-size:11.5px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.tweaks-chip:hover{color:var(--text);border-color:var(--border-strong)}.tweaks-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tweaks-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;outline:1px solid #0000001a;width:24px;height:24px;transition:transform .1s,box-shadow .1s}.tweaks-swatch:hover{transform:scale(1.08)}.tweaks-swatch.active{border-color:var(--bg-1);box-shadow:0 0 0 2px var(--accent);outline:none}.tweaks-fab{background:var(--bg-1);border:1px solid var(--border-strong);width:44px;height:44px;color:var(--text-muted);cursor:pointer;z-index:var(--z-toast);border-radius:22px;place-items:center;font-size:16px;transition:transform .12s,color .12s,background .12s;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px -8px #0006,0 0 0 1px #ffffff05}.tweaks-fab:hover{color:var(--accent);background:var(--bg-2);transform:translateY(-2px)}.logs-trigger{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;transition:border-color var(--duration-fast), background var(--duration-fast);align-items:center;gap:10px;padding:11px 16px;font-family:inherit;display:flex}.logs-trigger:hover{border-color:var(--border-strong);background:var(--bg-hover)}.logs-trigger:hover .logs-trigger-cta{color:var(--accent)}.logs-trigger-icon{color:var(--text-dim);flex-shrink:0;align-items:center;display:flex}.logs-trigger-title{font-size:var(--font-size-sm);color:var(--text);font-weight:500}.logs-trigger-counts{align-items:center;gap:6px;margin-left:4px;display:flex}.logs-trigger-badge{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-feature-settings:"tnum";padding:1px 7px}.logs-trigger-badge.critical{color:var(--err);background:var(--err-bg);border-color:#0000}.logs-trigger-cta{font-size:var(--font-size-xs);color:var(--text-dim);transition:color var(--duration-fast);flex-shrink:0;align-items:center;gap:5px;margin-left:auto;font-weight:500;display:flex}.logs-drawer-overlay{z-index:var(--z-panel-backdrop);animation:logsOverlayIn var(--duration-enter) ease;background:#00000073;position:fixed;inset:0}.logs-drawer{background:var(--bg-1);border-left:1px solid var(--border);width:min(960px,90vw);z-index:var(--z-panel);animation:logsDrawerIn var(--duration-enter) cubic-bezier(.16, 1, .3, 1);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 40px -8px #00000080}.logs-drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:13px 16px;display:flex}.logs-drawer-title{font-size:var(--font-size-base);color:var(--text);flex:1;font-weight:600}.logs-drawer-body{flex:1;padding:14px 16px;overflow-y:auto}@keyframes logsOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes logsDrawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.logs-drawer,.logs-drawer-overlay{animation:none}}.notif-panel{background:var(--bg-1);border:1px solid var(--border-strong);width:380px;z-index:var(--z-toast);border-radius:10px;position:fixed;top:52px;right:16px;overflow:hidden;box-shadow:0 20px 40px -12px #00000080,0 0 0 1px #ffffff05}.notif-panel-header{border-bottom:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.notif-panel-title{font-size:var(--font-size-sm);color:var(--text);font-weight:600}.notif-panel-body{flex-direction:column;display:flex}.notif-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--duration-fast);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-hover)}.notif-item-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-item-client{font-size:var(--font-size-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.notif-item-commit{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-dim)}.notif-item-meta{align-items:center;gap:6px;margin-top:1px;display:flex}.notif-item-time{font-size:var(--font-size-xs);color:var(--text-dim);flex-shrink:0;margin-top:2px}.sidebar{background:var(--bg-1);border-right:1px solid var(--border);width:64px;z-index:var(--z-topbar);transition:width var(--duration-enter) ease, box-shadow var(--duration-enter) ease;flex-direction:column;padding:14px 10px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar:hover{width:220px;z-index:calc(var(--z-topbar) + 1);box-shadow:8px 0 24px -12px #00000059}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:10px;padding:0 4px 18px;display:flex}.brand-mark{flex-shrink:0;display:block}.brand-name{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--text-dim);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity var(--duration-fast) ease}.sidebar:hover .brand-name{opacity:1}.sidebar-nav{flex-direction:column;flex:1;justify-content:space-between;gap:2px;display:flex}.nav-section-block{margin-bottom:4px}.nav-section-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-semibold);color:var(--text-dim);white-space:nowrap;opacity:0;transition:opacity var(--duration-fast) ease;padding:14px 10px 6px;overflow:hidden}.sidebar:hover .nav-section-label{opacity:1}.nav-item{border-radius:var(--radius-md);width:100%;color:var(--text-muted);font-size:13px;font-weight:var(--font-weight-medium);font-family:var(--font-sans);cursor:pointer;text-align:left;white-space:nowrap;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{color:var(--accent);background:#4b8cff1a}.nav-item-icon{color:currentColor;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:15px;display:grid}.nav-item-label{opacity:0;transition:opacity var(--duration-fast) ease;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar:hover .nav-item-label{opacity:1}.nav-item-count{background:var(--accent);border:2px solid var(--bg-1);width:8px;min-width:0;height:8px;transition:all var(--duration-enter) ease;border-radius:50%;padding:0;font-size:0;line-height:0;position:absolute;top:6px;left:26px}.sidebar:hover .nav-item-count{font-size:10px;font-weight:var(--font-weight-semibold);color:#fff;text-align:center;width:auto;min-width:16px;height:auto;font-family:var(--font-mono);font-feature-settings:"tnum";border:none;border-radius:20px;margin-left:auto;padding:1px 6px;line-height:1.5;position:static}.sidebar-launcher-btn{border-radius:var(--radius);width:30px;height:30px;color:var(--text-dim);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;flex-shrink:0;place-items:center;margin-bottom:10px;font-size:13px;display:grid}.sidebar-launcher-btn:hover{background:var(--bg-hover);color:var(--text)}.sidebar-launcher-btn.open{background:var(--bg-2);color:var(--accent)}.sidebar-nexus-menu{z-index:var(--z-panel);position:fixed}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:10px 4px 0;display:flex}.sidebar-user-info{opacity:0;min-width:0;transition:opacity var(--duration-fast) ease;flex:1}.sidebar:hover .sidebar-user-info{opacity:1}.sidebar-user-name{font-size:13px;font-weight:var(--font-weight-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-role{color:var(--text-dim);white-space:nowrap;font-size:11px}.avatar{font-weight:var(--font-weight-semibold);color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tooltip{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);color:var(--text);pointer-events:none;max-width:280px;z-index:var(--z-overlay);animation:tooltip-in .12s var(--ease-out);padding:8px 10px}.tooltip--interactive{pointer-events:auto}.tooltip-arrow{fill:var(--border-strong)}.tt-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:4px}.tt-row{justify-content:space-between;gap:16px;display:flex}.tt-row strong{color:var(--text);font-weight:var(--font-weight-semibold)}.tt-hint{color:var(--text-dim);border-top:1px dashed var(--border);margin-top:6px;padding-top:6px;font-size:10.5px}@keyframes tooltip-in{0%{opacity:0}to{opacity:1}}.topbar{background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);height:52px;z-index:var(--z-topbar);align-items:center;gap:16px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-breadcrumb,.breadcrumb-item-wrap{align-items:center;gap:4px;display:flex}.breadcrumb-sep{color:var(--text-dim);font-size:10px}.breadcrumb-item{color:var(--text-muted);cursor:pointer;font-size:13px;font-family:var(--font-sans);background:0 0;border:none;padding:0}.breadcrumb-item.active{color:var(--text);font-weight:var(--font-weight-medium);cursor:default}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-bell{position:relative}.topbar-bell-badge{background:var(--err);color:var(--text-on-accent);font-size:9px;font-weight:var(--font-weight-semibold);text-align:center;pointer-events:none;border-radius:20px;min-width:14px;padding:0 4px;line-height:14px;position:absolute;top:-2px;right:-2px}.input{width:100%;font-size:var(--font-size-sm);font-family:var(--font-sans);color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);outline:none;padding:7px 11px;display:block}.input::placeholder{color:var(--text-dim)}.input:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4b8cff26}.input.input-error{border-color:var(--err)}.input.input-error:focus-visible{outline-color:var(--err)}.input:disabled{opacity:.45;cursor:not-allowed}.input-search-wrap{align-items:center;display:flex;position:relative}.input-search-icon{color:var(--text-dim);pointer-events:none;align-items:center;font-size:13px;display:inline-flex;position:absolute;left:9px}.input-search-icon-right{left:auto;right:9px}.input-centered{text-align:center}.input-centered.input-search{padding-left:28px;padding-right:28px}.input-search{padding-left:28px}.input-search-right,.input-clearable{padding-right:28px}.input-clear-btn{width:22px;height:22px;color:var(--text-dim);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;place-items:center;font-size:11px;display:inline-grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-clear-btn:hover{background:var(--bg-hover);color:var(--text)}.btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);white-space:nowrap;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-2);color:var(--text);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:7px;padding:7px 12px;line-height:1;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-danger{border-color:var(--border);color:var(--err);background:0 0}.btn-danger:hover{background:var(--err-bg);border-color:var(--err)}.btn-sm{font-size:var(--font-size-xs);padding:4px 9px}.btn-lg{font-size:var(--font-size-base);padding:10px 16px}.icon-btn{border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn:disabled,.icon-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn,.icon-btn{transition-duration:.01ms}.btn-spinner{animation-duration:.01ms}}.badge{font-size:11.5px;font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--bg-3);color:var(--text-muted);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:2px 8px;line-height:1.6;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.badge-err{background:var(--err-bg);color:var(--err);border-color:#0000}.badge-info{background:var(--info-bg);color:var(--accent);border-color:#0000}.badge-pending{background:var(--pending-bg);color:var(--pending);border-color:#0000}.badge-process{background:var(--process-bg);color:var(--process);border-color:#0000}.badge-neutral{background:var(--bg-3);color:var(--text-muted)}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-pulse{animation:1.6s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{opacity:1;box-shadow:0 0}50%{opacity:.7;box-shadow:0 0 0 4px #0000}}.sev-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.sev-badge{font-size:11px;font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.sev-critical .sev-dot,.sev-badge.sev-critical .sev-dot{background:var(--negative-dark)}.sev-high .sev-dot,.sev-badge.sev-high .sev-dot{background:var(--warn)}.sev-medium .sev-dot,.sev-badge.sev-medium .sev-dot{background:var(--accent)}.sev-low .sev-dot,.sev-badge.sev-low .sev-dot{background:var(--ok)}.sev-info .sev-dot,.sev-badge.sev-info .sev-dot{background:var(--text-muted)}.sev-badge.sev-critical{color:var(--negative-dark);background:#ff3f331f}.sev-badge.sev-high{background:var(--warn-bg);color:var(--warn)}.sev-badge.sev-medium{background:var(--info-bg);color:var(--accent)}.sev-badge.sev-low{background:var(--ok-bg);color:var(--ok)}.sev-badge.sev-info{background:var(--bg-3);color:var(--text-muted)}.action-badge{font-size:11px;font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.action-allow,.action-forward,.wildfire-upload-success{background:var(--ok-bg);color:var(--ok)}.action-alert,.action-reset-both,.action-reset-server,.action-reset-client,.action-block-continue,.action-continue,.action-block-override,.action-override,.action-override-lockout,.wildfire-upload-skip{background:var(--warn-bg);color:var(--warn)}.action-deny,.action-drop,.action-drop-all-packets,.action-sinkhole,.action-override-lockout,.action-wildfire-upload-failure,.action-block,.action-block-ip,.action-block-url{background:var(--err-bg);color:var(--err)}.badge-chip{border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:1px 7px;display:inline-block}.badge-chip-ok{background:var(--ok-bg);color:var(--ok)}.badge-chip-warn{background:var(--warn-bg);color:var(--warn)}.badge-chip-err{background:var(--err-bg);color:var(--err)}.type-badge{border-radius:var(--radius-sm);font-size:11px;font-weight:var(--font-weight-medium);white-space:nowrap;align-items:center;padding:2px 7px;display:inline-flex}.type-threat{color:var(--negative-dark);background:#ff3f331f}.type-traffic{background:var(--bg-3);color:var(--text-muted)}.client-search{position:relative}.client-search-dropdown{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:var(--z-panel);width:260px;max-height:320px;margin-top:4px;padding:4px;position:absolute;top:100%;right:0;overflow-y:auto}.client-search-empty{color:var(--text-dim);font-size:var(--font-size-sm);text-align:center;padding:12px 8px}.client-search-item{color:var(--text);cursor:pointer;text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.client-search-item.active{background:var(--bg-hover)}.client-search-item-name{font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.client-search-item-meta{color:var(--text-dim);font-size:var(--font-size-xs);flex-shrink:0}.page-hd{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0 0 14px;padding:18px 22px}.page-hd-row{align-items:flex-start;gap:24px;margin-bottom:14px;display:flex}.page-hd-row:last-child{margin-bottom:0}.page-hd-titlewrap{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.page-hd-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);color:var(--text);margin:0;line-height:1.15}.page-hd-status{align-items:center;gap:8px;display:flex}.page-hd-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.page-hd-back{background:var(--bg-2);border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.page-hd-back:hover{background:var(--bg-3);border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.page-hd-tags{flex-wrap:wrap;gap:6px;display:flex}.page-hd-tag{border-radius:var(--radius-full);background:var(--bg-2);border:1px solid var(--border);font-size:var(--font-size-xs);color:var(--text);transition:border-color var(--duration-fast), background var(--duration-fast);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.page-hd-tag:hover{border-color:var(--border-strong);background:var(--bg-3)}.page-hd-tag-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-dim);font-weight:var(--font-weight-medium)}.page-hd-tag-value{color:var(--text)}.page-hd-tag-value a{color:var(--accent)}.page-hd-tag-value.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md)}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.card-title{font-size:13.5px;font-weight:var(--font-weight-semibold);color:var(--text);align-items:center;gap:10px;margin:0;display:flex}.card-title-icon{width:26px;height:26px;color:var(--accent);background:#4b8cff1a;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;font-size:13px;display:inline-flex}.card-actions{align-items:center;gap:6px;display:flex}.card-body{padding:14px 16px}.card-body.flush{padding:0}.stat{flex-direction:column;gap:4px;padding:14px 18px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:11.5px;font-weight:var(--font-weight-semibold)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);font-feature-settings:"tnum";color:var(--text)}.stat-sub{color:var(--text-muted);font-size:12px}.stat-inline-row{align-items:baseline;gap:8px;display:flex}.stat-in-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md)}.kpi-tile{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-base), transform var(--duration-base), box-shadow var(--duration-base);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.kpi-tile.critical{border-left:3px solid var(--highly-negative-dark)}.kpi-tile.clickable{cursor:pointer}.kpi-tile.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.kpi-tile.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-header{justify-content:space-between;align-items:center;display:flex}.kpi-label{color:var(--text-muted);font-size:12px}.kpi-icon{color:var(--text-dim);font-size:14px}.kpi-value-row{align-items:baseline;gap:5px;display:flex}.kpi-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);font-feature-settings:"tnum";color:var(--text)}.kpi-unit{font-size:var(--font-size-base);color:var(--text-muted)}.kpi-delta{font-size:var(--font-size-xs)}.kpi-delta.up{color:var(--negative-dark)}.kpi-delta.down{color:var(--positive-dark)}.kpi-delta-period{color:var(--text-dim)}.pagination{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.pagination-controls{gap:4px;display:flex}.pagination .icon-btn:disabled,.pagination .icon-btn[aria-disabled=true]{opacity:.4;pointer-events:none}@keyframes skeleton-shine{0%{background-position-x:100%}50%{background-position-x:0%}to{background-position-x:-100%}}.skeleton{border-radius:var(--radius);background-size:200% 100%;background-image:linear-gradient(90deg, var(--bg-3), var(--bg-3), var(--bg-3), var(--border), var(--bg-3), var(--bg-3), var(--bg-3));animation:1.5s linear infinite skeleton-shine;display:block}.skeleton-circle{border-radius:50%}.skeleton-inline{vertical-align:middle;display:inline-block}.skeleton-stack{flex-direction:column;gap:8px;display:flex}.segment-control{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:2px;padding:2px;display:inline-flex}.segment-btn{font-size:12px;font-family:var(--font-sans);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base), color var(--duration-base);white-space:nowrap;background:0 0;border:none;padding:5px 10px;line-height:1}.segment-btn:hover{color:var(--text)}.segment-btn.active{background:var(--accent);color:#fff}.segment-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segment-control-subtle .segment-btn.active{background:var(--bg-1);color:var(--text);box-shadow:0 1px 2px #0000000f}.segment-control-subtle .segment-btn{color:var(--text-dim);padding:3px 10px;font-size:11.5px}.worldmap-body{flex-direction:column;height:100%;display:flex;position:relative}.worldmap-svg{flex:1;width:100%;min-height:220px;display:block}.wm-sphere{fill:var(--bg-2);stroke:var(--border);stroke-width:.5px}.wm-graticule{fill:none;stroke:var(--border-subtle);stroke-width:.3px;stroke-dasharray:none;opacity:.6}.wm-country{fill:var(--bg-hover);stroke:none}.wm-border{fill:none;stroke:var(--border-strong);stroke-width:.4px;stroke-linejoin:round}.worldmap-threat{cursor:pointer;transition:filter var(--duration-fast)}.worldmap-threat:hover{filter:brightness(1.25)}.worldmap-tooltip{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:180px;z-index:var(--z-overlay);pointer-events:none;font-size:var(--font-size-xs);padding:8px 10px;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.tt-flag-name{border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-bottom:6px;padding-bottom:6px;display:flex}.tt-country{font-weight:var(--font-weight-semibold);color:var(--text);font-size:var(--font-size-sm)}.tt-row{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0;display:flex}.tt-row strong{color:var(--text);font-feature-settings:"tnum"}.tt-hint{border-top:1px solid var(--border);color:var(--text-dim);font-size:var(--font-size-2xs);margin-top:6px;padding-top:5px}.worldmap-legend{background:color-mix(in srgb, var(--bg-1) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-size-2xs);align-items:center;gap:10px;padding:5px 10px;display:flex;position:absolute;bottom:10px;left:10px}.legend-label{color:var(--text-muted);white-space:nowrap}.worldmap-legend-sev{gap:10px;display:flex}.legend-sev-item{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.legend-swatch{border-radius:50%;flex-shrink:0;width:7px;height:7px}@keyframes worldmap-shine{0%{background-position-x:100%}to{background-position-x:-100%}}.worldmap-body.is-loading .worldmap-svg{opacity:.4}.worldmap-loading-sweep{pointer-events:none;background-size:200% 100%;background-image:linear-gradient(100deg, transparent 35%, color-mix(in srgb, var(--text) 7%, transparent) 50%, transparent 65%);animation:1.6s linear infinite worldmap-shine;position:absolute;inset:0}.worldmap-placeholder{min-height:220px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.worldmap-placeholder-icon{color:var(--text-dim);margin-bottom:4px;font-size:32px}.worldmap-placeholder-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.worldmap-placeholder-sub{font-size:var(--font-size-xs);color:var(--text-dim)}.bloc{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.bloc-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:12px 14px;display:flex}.bloc-title{font-size:13.5px;font-weight:var(--font-weight-semibold);color:var(--text);align-items:center;gap:7px;display:flex}.bloc-title-icon{width:26px;height:26px;color:var(--accent);background:#3b4dee1a;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;font-size:13px;display:inline-flex}.bloc-sub{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.bloc-body{flex-direction:column;flex:1;min-height:0;padding:12px 14px;display:flex}.bloc-body.flush{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.bloc-empty{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);padding:32px}.bloc-collapse-btn{width:22px;height:22px;color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bloc-collapse-btn:hover{color:var(--text);background:var(--bg-hover)}.bloc-collapse-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bloc-chevron{transition:transform var(--duration-base);font-size:11px}.bloc-chevron.collapsed{transform:rotate(-90deg)}.bloc-header-legend{font-size:var(--font-size-xs);color:var(--text-muted);align-items:center;gap:14px;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.ts-body{flex-direction:column;flex:1;min-height:0;padding:0 0 6px;display:flex;position:relative}.ts-metrics{background:var(--border-subtle);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.ts-metric{background:var(--bg-1);flex-direction:column;gap:3px;padding:11px 16px;display:flex}.ts-metric-label{font-size:var(--font-size-xs);color:var(--text-dim)}.ts-metric-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);font-feature-settings:"tnum";line-height:1.2}.ts-metric-value.critical{color:var(--err)}.ts-metric-value.warn{color:var(--warn)}.ts-metric-unit{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-normal)}.ts-metric-delta{font-size:var(--font-size-xs);color:var(--text-dim)}.ts-metric-delta.up{color:var(--ok)}.ts-metric-delta.down{color:var(--text-muted)}.ts-metric-delta.up.critical{color:var(--err)}.ts-metric-delta.up.warn{color:var(--warn)}.ts-chart-area{flex-direction:column;flex:1;min-height:0;padding:10px 14px 0;display:flex;position:relative}.ts-svg{flex:1;width:100%;min-height:240px;max-height:320px;display:block}.ts-tooltip{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);pointer-events:none;font-size:var(--font-size-xs);z-index:var(--z-overlay);min-width:140px;padding:7px 10px;position:absolute;top:20px;transform:translate(-50%)}.ts-legend{background:color-mix(in srgb, var(--bg-1) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-size-2xs);color:var(--text-muted);pointer-events:none;align-items:center;gap:12px;padding:5px 10px;display:flex;position:absolute;top:10px;right:10px}.ts-legend strong{color:var(--text);font-feature-settings:"tnum"}.ts-loading-line{stroke-linecap:round;stroke-dasharray:5 7;animation:.9s linear infinite ts-loading-flow,1.5s ease-in-out infinite ts-loading-pulse}@keyframes ts-loading-flow{to{stroke-dashoffset:-12px}}@keyframes ts-loading-pulse{0%,to{opacity:.3}50%{opacity:.65}}.ts-series{transform-box:fill-box;transform-origin:bottom;animation:.7s ease-out both ts-series-reveal}@keyframes ts-series-reveal{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{background:var(--bg-1);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-dim);text-align:left;white-space:nowrap;padding:10px 14px}.th-content{align-items:center;gap:5px;display:inline-flex}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.sort-icon{color:var(--text-dim);font-size:10px}.sort-neutral{color:var(--border-strong);font-size:11px}.th-actions{width:40px}.table td{padding:var(--density-pad-y-default) var(--density-pad-x-default);border-bottom:1px solid var(--border-subtle);color:var(--text);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-hover)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.selected td{background:var(--info-bg)}.table tbody tr .row-actions{opacity:0;transition:opacity var(--duration-fast)}.table tbody tr:hover .row-actions{opacity:1}.table-condensed td{font-size:var(--font-size-sm);padding:9px 12px}.table-logs{table-layout:fixed}.table-logs th{background:var(--bg-2);text-transform:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);letter-spacing:0;color:var(--text-muted);position:static}.table-logs td{font-size:var(--font-size-xs);padding:7px 10px}[data-density=compact] .table td{padding:var(--density-pad-y-compact) var(--density-pad-x-compact)}[data-density=cozy] .table td{padding:var(--density-pad-y-cozy) var(--density-pad-x-cozy)}.table-empty{text-align:center;color:var(--text-muted);padding:40px 14px;font-size:13px}.log-detail-backdrop{z-index:calc(var(--z-panel) - 5);background:#0006;position:fixed;inset:0}.log-detail-panel{background:var(--bg-1);border-left:1px solid var(--border-strong);width:440px;z-index:var(--z-panel);box-shadow:var(--shadow-panel);transition:transform var(--duration-enter);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.log-detail-panel.open{transform:translate(0)}@media (prefers-reduced-motion:reduce){.log-detail-panel{transition-duration:.01ms}}.log-detail-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.log-detail-title{color:var(--text);font-size:15px;font-weight:600}.log-detail-body{flex:1;padding:14px 18px;overflow-y:auto}.log-detail-section+.log-detail-section{margin-top:20px}.log-detail-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;font-size:11px}.log-detail-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:12.5px;display:flex}.log-detail-row:last-child{border-bottom:none}.log-detail-row-label{color:var(--text-muted);flex-shrink:0;max-width:40%}.log-detail-row-value{text-align:right;word-break:break-word;color:var(--text)}.log-detail-row-value.mono{font-family:var(--font-mono);font-size:12px}.log-detail-footer{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:14px 18px;display:flex}.ctx-menu{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);z-index:var(--z-overlay);animation:ctx-in .12s var(--ease-out);padding:4px}.ctx-menu-header{font-size:11px;font-weight:var(--font-weight-medium);color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 10px}.ctx-menu-item{font-size:var(--font-size-sm);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast);outline:none;align-items:center;gap:8px;padding:7px 10px;display:flex}.ctx-menu-item:hover,.ctx-menu-item[data-highlighted]{background:var(--bg-hover)}.ctx-menu-item.danger{color:var(--negative-dark)}.ctx-menu-item.danger:hover,.ctx-menu-item.danger[data-highlighted]{background:#ff3f331a}.ctx-menu-item.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ctx-menu-item-icon{color:var(--text-dim);text-align:center;flex-shrink:0;width:14px;font-size:13px}.ctx-menu-item.danger .ctx-menu-item-icon{color:inherit}@keyframes ctx-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{background:var(--backdrop-bg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-modal);animation:fade-in var(--duration-enter) ease;position:fixed;inset:0}.modal{z-index:calc(var(--z-modal) + 1);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(720px,100vw - 32px);max-height:calc(100vh - 80px);box-shadow:var(--shadow-lg);animation:slide-up var(--duration-enter) var(--ease-out);outline:none;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-lg{width:min(900px,100vw - 32px)}.modal-xl{width:min(1100px,100vw - 32px)}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);margin:0}.modal-body{flex:1;padding:20px 22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spinner-sm{width:16px;height:16px}.spinner-md{width:24px;height:24px}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{z-index:var(--z-toast);flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-md);background:var(--bg-1);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);color:var(--text);min-width:280px;max-width:480px;animation:toast-in var(--duration-enter) var(--ease-out);align-items:center;gap:10px;padding:12px 18px;display:flex}.toast-exit{animation:toast-out var(--duration-base) var(--ease-in-out) forwards}.toast-success{border-color:var(--positive-dark)}.toast-error{border-color:var(--err)}.toast-info{border-color:var(--border-strong)}.toast-icon{flex-shrink:0;font-size:15px}.toast-success .toast-icon{color:var(--ok)}.toast-error .toast-icon{color:var(--err)}.toast-info .toast-icon{color:var(--accent)}.toast-message{flex:1}.toast-close{flex-shrink:0;margin-left:4px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0;transform:translateY(4px)}}a.back-to-top-button{all:unset;background-color:var(--bg-1);border-top:1px solid var(--border);border-left:1px solid var(--border);border-top-left-radius:var(--radius);place-items:center;width:35px;height:35px;transition:bottom .25s ease-in-out;display:grid;position:fixed;bottom:-5%;right:0}.banner{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-1);font-size:var(--font-size-sm);align-items:flex-start;gap:14px;margin-bottom:14px;padding:12px 16px;display:flex;position:sticky;top:60px}.banner-warn{background:linear-gradient(90deg, var(--warn-bg), transparent), var(--topbar-bg);border-color:#f59e0b59}.banner-pending{background:linear-gradient(90deg, var(--pending-bg), transparent), var(--topbar-bg);border-color:#a78bfa59}.banner-icon{flex-shrink:0;margin-top:1px;font-size:16px}.banner-warn .banner-icon{color:var(--warn)}.banner-pending .banner-icon{color:var(--pending)}.banner-default .banner-icon{color:var(--accent)}.banner-content{flex:1}.banner-title{font-size:13.5px;font-weight:var(--font-weight-semibold);color:var(--text);margin:0;line-height:1.4}.banner-sub{color:var(--text-muted);margin:2px 0 0;font-size:12.5px}.banner-action{flex-shrink:0;align-self:center}.banner-dismiss{width:22px;height:22px;color:var(--text-dim);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;align-self:flex-start;place-items:center;margin-left:4px;padding:0;display:inline-grid}.banner-dismiss:hover{color:var(--text-muted);background:#0000000f}.checkbox-root{align-items:center;gap:8px;display:inline-flex}.checkbox{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-2);cursor:pointer;width:16px;height:16px;transition:background var(--duration-fast), border-color var(--duration-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.checkbox[data-state=checked],.checkbox[data-state=indeterminate]{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.checkbox.disabled,.checkbox[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.checkbox-compact{border-radius:3px;width:14px;height:14px}.checkbox-indicator{font-size:9px;line-height:1}.checkbox-label{font-size:var(--font-size-base);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label.disabled{opacity:.45;cursor:not-allowed}.radio-root{align-items:center;gap:8px;display:inline-flex}.radio{appearance:none;border:1px solid var(--border-strong);background:var(--bg-2);cursor:pointer;width:16px;height:16px;transition:border-color var(--duration-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.radio:checked{border-color:var(--accent);border-width:2px}.radio:checked:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute}.radio:disabled{opacity:.45;cursor:not-allowed}.radio-label{font-size:var(--font-size-base);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.radio-label.disabled{opacity:.45;cursor:not-allowed}.modal-content{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.modal-content .modal-content-title{color:var(--accent);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:var(--space-6) 0 var(--space-2)}.modal-content>.modal-content-title:first-child{margin-top:0}.modal-content h4{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:var(--space-3) 0 var(--space-1)}.modal-content ul{margin:0 0 var(--space-2);padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.modal-content li{color:var(--text-muted)}.modal-content li::marker{color:var(--text-dim)}.modal-content img{border:1px solid var(--border);border-radius:var(--radius-md);max-width:100%;height:auto}.app-blocking-modal-content{gap:var(--space-6);text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.app-blocking-modal-content .modal-content-title{margin:0 0 var(--space-3);font-size:var(--font-size-sm)}.wl-info-trigger{color:var(--accent);cursor:help;vertical-align:middle;align-items:center;display:inline-flex}.wl-info-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.tooltip-whitelist{width:max-content;max-width:min(90vw,720px)}.wl-info-content{width:max-content;max-width:100%;line-height:1.5;font-size:var(--font-size-xs)}.wl-info-content ul{flex-direction:column;gap:3px;margin:4px 0 0;padding-left:18px;display:flex}.wl-info-content>ul>li>ul{margin-top:4px}.wl-info-content strong{color:var(--text);font-weight:var(--font-weight-semibold)}.wl-info-content a{color:var(--accent);text-decoration:underline}.wl-info-code{font-family:var(--font-mono);color:var(--text);background:var(--bg-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 4px;font-size:.92em}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.375em;border-bottom-left-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-top:1px solid #aeaeae;border-bottom:none;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;background-color:#0000;border:1px solid #aeaeae;border-radius:.3rem;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:1px auto}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.5em}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:5em;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.5em}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:5em;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.375em;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + 1.0625em);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:2.125em;margin:.208em;line-height:2.125em;display:inline-block}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{color:#fff;background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__children-container{width:17.25em;height:auto;margin:.5em;padding-left:.25em;padding-right:.25em}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.react-datepicker-popper-offset{margin-top:-.7em}.date-range-input{align-items:center;width:100%;display:inline-flex;position:relative}.date-range-input-wrapper,.date-range-input .react-datepicker__input-container{width:100%}.date-range-input-field.input{font-feature-settings:"tnum";cursor:pointer;min-width:230px;padding-left:32px}.date-range-input-icon{z-index:1;color:var(--text-dim);pointer-events:none;font-size:13px;position:absolute;left:11px}.date-range-input .react-datepicker__close-icon{padding-right:10px}.date-range-input .react-datepicker__close-icon:after{color:var(--text-dim);background:0 0;width:auto;height:auto;padding:0;font-size:18px;font-weight:400}.date-range-input .react-datepicker__close-icon:hover:after{color:var(--text)}.date-range-input-popper{z-index:1001}.date-range-input-calendar.react-datepicker{font-family:var(--font-sans);font-size:var(--font-size-sm);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);overflow:hidden}.date-range-input-calendar .react-datepicker__header{background:var(--bg-3);border-bottom:1px solid var(--border);padding-top:10px}.date-range-input-calendar .react-datepicker__current-month,.date-range-input-calendar .react-datepicker__day-name{color:var(--text)}.date-range-input-calendar .react-datepicker__day-name{color:var(--text-muted)}.date-range-input-calendar .react-datepicker__day{color:var(--text);border-radius:var(--radius-sm)}.date-range-input-calendar .react-datepicker__day:hover{background:var(--bg-hover)}.date-range-input-calendar .react-datepicker__day--outside-month{color:var(--text-dim)}.date-range-input-calendar .react-datepicker__day--selected,.date-range-input-calendar .react-datepicker__day--range-start,.date-range-input-calendar .react-datepicker__day--range-end{background:var(--accent);color:var(--text-on-accent)}.date-range-input-calendar .react-datepicker__day--in-range,.date-range-input-calendar .react-datepicker__day--in-selecting-range{background:var(--accent-strong);color:var(--text-on-accent)}.date-range-input-calendar .react-datepicker__day--keyboard-selected{background:var(--bg-hover);color:var(--text)}.date-range-input-calendar .react-datepicker__day--disabled{color:var(--text-dim)}.date-range-input-calendar .react-datepicker__navigation-icon:before{border-color:var(--text-muted)}.date-range-input-calendar .react-datepicker__triangle{display:none}.select-organisation{justify-content:center;align-items:center;gap:var(--space-8);text-align:center;width:100vw;height:100vh;color:var(--text);background-color:var(--bg);flex-flow:column wrap;display:flex}.select-organisation-title{font-family:var(--font-sans);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0}.select-organisation-logout{width:40px;height:40px;color:var(--text-dim);background-color:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.select-organisation-logout:hover{color:var(--text);background-color:var(--bg-hover)}.organisation-selector{justify-content:center;gap:var(--space-4);flex-flow:wrap;margin:0;padding:0;list-style:none;display:flex}.organisation{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);padding:var(--space-4) var(--space-6);color:var(--text);background-color:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out)}.organisation:hover{border-color:var(--accent);background-color:var(--bg-hover)}.organisation-search{width:320px;position:relative}.organisation-search-loading{justify-content:center;width:320px;display:flex}.organisation-suggestions{z-index:1;margin:var(--space-1) 0 0;padding:var(--space-1);background-color:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);list-style:none;position:absolute;left:0;right:0}.organisation-suggestion{text-align:left;width:100%;padding:var(--space-2) var(--space-3);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.organisation-suggestion:hover,.organisation-suggestion.active{background-color:var(--bg-hover)}
