/*! ZERD VIGIE — © 2026 ZERD HORIZON. Tous droits réservés.
 * Éditeur : ZERD HORIZON. Conception et développement : Zoubir DJABRI. */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/polices/poppins-400.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/polices/poppins-500.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/polices/poppins-600.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/polices/poppins-700.woff2) format("woff2")}:root{--bg: #f5f5f5;--surface: #ffffff;--sunk: #f8f8f8;--line: #e4e4e7;--line-2: #d4d4d8;--ink: #1c1c1c;--ink-2: #424242;--ink-3: #71717b;--tint: #f4f4f5;--brand: #d22b2b;--brand-hover: #b71c1c;--brand-light: #ff4444;--brand-soft: #fef2f2;--data: #424242;--data-2: #a1a1aa;--pos: #008138;--pos-soft: #dcfce7;--pos-mark: #00a544;--warn: #c2410c;--warn-soft: #ffedd5;--warn-mark: #f99c00;--err: #d22b2b;--err-soft: #fef2f2;--font: "Poppins", sans-serif;--fs-xs: 11.5px;--fs-s: 12.5px;--fs-m: 14px;--fs-l: 15.5px;--fs-h1: 26px;--fs-hero: 54px;--r-panel: 18px;--r-tile: 16px;--r-ctrl: 11px;--shadow: 0 1px 2px rgba(28, 28, 28, .04), 0 10px 28px -18px rgba(28, 28, 28, .2);--side-w: 256px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-m)/1.55 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font-family:var(--font)}button{font-size:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}a{color:var(--brand);text-decoration:none;font-weight:500}a:hover{color:var(--brand-hover)}h1,h2,h3,p{margin:0}b,strong{font-weight:600}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 16px 18px}.main{min-width:0}.page{max-width:1920px;margin:0 auto;padding:32px 40px 72px}.topbar,.tabbar{display:none}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;min-height:32px;color:var(--ink)}.brand:hover{color:var(--ink)}.brand-slot{display:none;width:30px;height:30px}.brand-slot img,.brand-slot svg{width:100%;height:100%}.brand-word{font-weight:700;font-size:15px;letter-spacing:.1em}.est-switch{margin:24px 0 20px;width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--sunk)}.est-switch:hover{border-color:var(--line-2);background:var(--surface)}.est-switch .t{flex:1;min-width:0}.est-switch .t b{display:block;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.est-switch .t small{color:var(--ink-3);font-size:var(--fs-xs)}.est-static{margin:24px 0 20px;padding:11px 12px;border-radius:14px;background:var(--sunk);border:1px solid var(--line)}.est-static b{display:block;font-weight:600;font-size:13.5px}.est-static small{color:var(--ink-3);font-size:var(--fs-xs)}.nav{display:flex;flex-direction:column;gap:3px}.nav-group{margin:18px 12px 6px;font-size:var(--fs-xs);color:var(--ink-3);font-weight:500}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font-weight:500;font-size:14px}.nav a:hover{background:var(--sunk);color:var(--ink)}.nav a[aria-current=page]{background:var(--ink);color:#fff}.nav a[aria-current=page] svg.i{stroke:#fff}.nav .count{margin-left:auto;min-width:20px;padding:0 6px;border-radius:10px;background:var(--brand);color:#fff;font-size:11.5px;text-align:center;line-height:20px;font-weight:600}.side-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.side-foot .who{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--ink)}.side-foot .who:hover{background:var(--sunk)}.side-foot .who[aria-current=page]{background:var(--tint)}.avatar{min-width:34px;min-height:34px;aspect-ratio:1 / 1;padding:0 6px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:600;font-size:12.5px;flex:none}.side-foot .who b{display:block;font-weight:600;font-size:13.5px;line-height:1.25}.side-foot .who small{color:var(--ink-3);font-size:var(--fs-xs);font-weight:400}.demo-tag{margin:12px 12px 0;font-size:var(--fs-xs);color:var(--ink-3)}.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.ph>div:first-child{flex:1 1 260px;min-width:0}.ph h1{font-size:var(--fs-h1);font-weight:600;line-height:1.2;letter-spacing:-.02em}.ph .sub{color:var(--ink-2);margin-top:4px}.ph .tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:none}.back{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);font-weight:500;padding:11.5px 0;margin:-11.5px 0 2.5px}.back:hover{color:var(--brand)}.back svg.i{width:18px;height:18px}.back-mobile{display:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow);min-width:0}.panel+.panel,.stack>*+*{margin-top:18px}.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 12px;flex-wrap:wrap}.panel-h h2{font-size:var(--fs-l);font-weight:600;line-height:1.35;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel-h .aside{color:var(--ink-3);font-size:var(--fs-s);display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0;overflow-wrap:anywhere}.panel-b{padding:0 22px 22px}.panel-note{padding:13px 22px 16px;border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-s)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.grid-2>.panel+.panel{margin-top:0}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;margin-top:18px}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.home-head h1{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.home-head .sub{color:var(--ink-2);margin-top:4px}.home-head .right{display:flex;align-items:center;gap:8px}.pill-live{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:500;font-size:13px;color:var(--ink)}.pill-live.off{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.icon-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);position:relative;z-index:1}.icon-btn:after{content:"";position:absolute;inset:-8px}.icon-btn:hover{color:var(--brand);border-color:var(--line-2)}.icon-btn svg.i{width:18px;height:18px}.icon-btn:disabled{opacity:.45;cursor:default}.hero{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr)}.hero-main{padding:26px 28px;display:flex;flex-direction:column}.hero-main .k{color:var(--ink-2);font-size:13px;font-weight:500;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.hero-v{font-size:var(--fs-hero);font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:10px 0 12px;white-space:normal;overflow-wrap:anywhere}.hero-cmp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink-2);font-size:13px}.hero-note{color:var(--ink-3);font-size:var(--fs-s);margin-top:6px}.hero-proj{margin-top:auto;padding-top:22px}.hero-proj .line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;color:var(--ink-2);margin-bottom:8px}.hero-proj .line b{color:var(--ink);font-size:15px}.hero-proj small{display:block;margin-top:7px;color:var(--ink-3);font-size:var(--fs-xs)}.hero-chart{padding:22px 24px 18px 8px;border-left:1px solid var(--line);min-width:0}.hero-chart-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-left:16px;margin-bottom:4px;flex-wrap:wrap}.hero-chart-h b{font-size:14px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow);padding:16px 18px 17px;min-width:0}.tile-top{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:13px;font-weight:500;flex-wrap:wrap}.tile-top .info-btn{margin-left:auto}.tile-ic{width:34px;height:34px;border-radius:11px;background:var(--tint);color:var(--ink);display:grid;place-items:center;flex:none}.tile-ic svg.i{width:18px;height:18px}.tile-v{font-size:25px;font-weight:600;letter-spacing:-.02em;margin:12px 0 6px;white-space:normal;overflow-wrap:anywhere}.tile-x{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--ink-3);font-size:var(--fs-s)}.point-list{list-style:none;margin:0;padding:0 22px 20px;display:grid;gap:14px}.point-list li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start}.point-list .pi{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--ink)}.point-list .pi svg.i{width:19px;height:19px}.point-list li.red .pi{background:var(--err-soft);color:var(--err)}.point-list li.orange .pi{background:var(--warn-soft);color:var(--warn)}.point-list p{font-size:14px;line-height:1.5;padding-top:8px;color:var(--ink)}.point-list p strong{font-weight:600}.point-list li.red p{color:var(--err)}.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}.live-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--sunk);border:1px solid var(--line);color:var(--ink);min-width:0}.live-card:hover{border-color:var(--line-2);background:var(--surface);color:var(--ink)}.live-card .t{min-width:0}.live-card b{display:block;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-card small{display:block;color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ring{flex:none}.ring text{font-family:var(--font);font-size:12px;font-weight:600;fill:var(--ink)}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis.k3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis .fig{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow);padding:15px 17px 16px;min-width:0}.fig .k{color:var(--ink-2);font-size:12.5px;font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.fig .k>span{min-width:0;overflow-wrap:anywhere}.fig .v{font-size:22px;font-weight:600;line-height:1.25;margin-top:8px;letter-spacing:-.02em;white-space:normal;overflow-wrap:anywhere}.fig .x{font-size:var(--fs-s);color:var(--ink-3);margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.panel .kpis.inset{gap:0;border-top:1px solid var(--line)}.panel .kpis.inset .fig{border:0;border-radius:0;box-shadow:none;background:none}.panel .kpis.inset .fig+.fig{border-left:1px solid var(--line)}.kpis+.grid-2,.kpis+.stack,.kpis+.panel{margin-top:18px}.delta{display:inline-flex;align-items:center;gap:3px;font-weight:600;font-size:12px;padding:1px 8px;border-radius:999px;white-space:nowrap;line-height:20px}.delta.up{background:var(--pos-soft);color:var(--pos)}.delta.down{background:var(--sunk);color:var(--ink-2);border:1px solid var(--line)}.delta.drop{background:var(--warn-soft);color:var(--warn)}.delta.na{color:var(--ink-3);font-weight:500;border:1px dashed var(--line-2)}.hero-cmp .delta{font-size:13px;padding:2px 10px}.info-btn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--ink-3);vertical-align:middle;position:relative;z-index:1}.info-btn:after{content:"";position:absolute;inset:-13px}.info-btn:hover{color:var(--brand);background:var(--brand-soft)}.info-btn svg.i{width:16px;height:16px}.rows{list-style:none;margin:0;padding:0}.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:13px 22px;border-top:1px solid var(--line);width:100%}.row.no-lead{grid-template-columns:minmax(0,1fr) auto}a.row,button.row{color:inherit;font-weight:400}a.row:hover,button.row:hover{background:var(--sunk)}.row .time{font-size:13.5px;font-weight:600;min-width:58px;text-align:center;padding:5px 0;border-radius:10px;background:var(--sunk);border:1px solid var(--line)}.row .main-t{min-width:0}.row .main-t b{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .main-t b.avec-src{display:flex;align-items:center;gap:6px;white-space:normal;overflow:visible}.row .main-t b.avec-src .nom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .main-t b.avec-src .tag{flex:none}.row .main-t b.libelle{white-space:normal;overflow:visible;overflow-wrap:anywhere}.row .meta{color:var(--ink-3);font-size:var(--fs-s);display:flex;gap:4px 8px;flex-wrap:wrap;align-items:center;overflow-wrap:anywhere}.row .num{text-align:right;white-space:nowrap}.row .num b{font-weight:600;display:block}.row .num small{color:var(--ink-3);font-size:var(--fs-s);display:block}.row .gauge{margin-top:9px}.row .chev{color:var(--ink-3)}.rows-empty{padding:18px 22px;color:var(--ink-3);border-top:1px solid var(--line)}.row .ic{width:40px;height:40px;border-radius:12px;background:var(--tint);color:var(--ink);display:grid;place-items:center}.gauge{position:relative;height:6px;border-radius:3px;background:#ececee;overflow:hidden}.gauge>i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--data)}.gauge.brand>i{background:var(--brand)}.gauge.big{height:10px;border-radius:5px}.gauge>i.part{background:repeating-linear-gradient(135deg,var(--data) 0 4px,var(--data-2) 4px 8px)}.hbars{display:grid;grid-template-columns:minmax(110px,38%) minmax(0,1fr) auto;gap:13px 12px;align-items:center;font-size:13px}.hbar{display:contents}.hbar .lbl{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar .val{font-weight:600;min-width:58px;text-align:right}.hbar .val small{font-weight:400;color:var(--ink-3);margin-left:6px}.hbars.wide{grid-template-columns:minmax(0,52%) minmax(0,1fr) auto}.hbars.wide .hbar .lbl{white-space:normal;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.split{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#ececee}.split i{display:block;height:100%}.split i+i{border-left:2px solid var(--surface)}.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:7px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend b{color:var(--ink);font-weight:600}.c1{background:var(--ink)}.c2{background:var(--data-2)}.c3{background:var(--ink-3)}.c4{background:#d4d4d8}.c5{background:#e4e4e7}.c6{background:#f4f4f5}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--sunk);color:var(--ink-2);border:1px solid var(--line);line-height:19px;white-space:nowrap}.tag.orange{background:var(--warn-soft);color:var(--warn);border-color:transparent}.tag.red{background:var(--err-soft);color:var(--err);border-color:transparent}.tag.green{background:var(--pos-soft);color:var(--pos);border-color:transparent}.tag.blue{background:var(--ink);color:#fff;border-color:transparent}.tag.src{background:transparent;color:var(--ink-3)}.tag.src.measured{border-style:dashed}.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 #d22b2b73;animation:pulse 2.4s infinite;flex:none}.pill-live.off .live{background:var(--warn-mark);animation:none}@keyframes pulse{0%{box-shadow:0 0 #d22b2b73}70%{box-shadow:0 0 0 7px #d22b2b00}to{box-shadow:0 0 #d22b2b00}}.dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}.dot.red{background:var(--err)}.dot.orange{background:var(--warn-mark)}.dot.green{background:var(--pos-mark)}.dot.blue{background:var(--ink-3)}.alert-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 12px;padding:13px 22px;border-top:1px solid var(--line);align-items:start;width:100%}a.alert-row{color:inherit;font-weight:400}a.alert-row:hover{background:var(--sunk)}.alert-row .al-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--sunk);color:var(--ink-2)}.alert-row .al-ic svg.i{width:17px;height:17px}.alert-row .al-ic.red{background:var(--err-soft);color:var(--err)}.alert-row .al-ic.orange{background:var(--warn-soft);color:var(--warn)}.alert-row .al-ic.green{background:var(--pos-soft);color:var(--pos)}.alert-row b{font-weight:600;display:block}.alert-row p{color:var(--ink-2);font-size:var(--fs-s);margin-top:2px}.alert-row .when{color:var(--ink-3);font-size:var(--fs-s);white-space:nowrap;text-align:right}.alert-row.unread b:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-left:8px;vertical-align:2px}.alert-row.red{background:linear-gradient(90deg,var(--err-soft),var(--surface) 60%)}.seg{display:inline-flex;padding:4px;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:13px;max-width:100%;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{padding:12px 14px;border-radius:9px;font-weight:500;color:var(--ink-2);white-space:nowrap;font-size:13.5px}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:7px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-weight:500;color:var(--ink-2);font-size:13.5px}.chip small{display:block;font-weight:400;color:var(--ink-3);font-size:11.5px;line-height:1.2}.chip:hover{border-color:var(--line-2)}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.chip[aria-pressed=true] small{color:#c9c9cc}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:var(--r-ctrl);border:1px solid var(--line-2);background:var(--surface);font-weight:500;color:var(--ink);font-size:13.5px}.btn:hover{border-color:var(--ink-3)}.btn svg.i{width:18px;height:18px}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.block{width:100%;padding:12px 16px}.btn.danger{color:var(--err)}.cmp-line{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;color:var(--ink-2);font-size:13px}.cmp-line .flag{color:var(--warn)}.choix{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:600;position:relative;border-bottom:1px solid transparent}.choix:after{content:"";position:absolute;inset:-12px 0}.choix svg{width:14px;height:14px;color:var(--ink-3)}.choix:hover{color:var(--brand);border-bottom-color:var(--brand)}.choix:hover svg{color:var(--brand)}.controls{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.switch{position:relative;width:44px;height:26px;flex:none}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:13px;background:var(--line-2);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+span{background:var(--ink)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:15px 22px;border-top:1px solid var(--line);align-items:center}.setting b{font-weight:600;display:block}.setting p{color:var(--ink-3);font-size:var(--fs-s)}.setting .param{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:var(--fs-s)}.input{font-size:14px;padding:10.5px 12px;border:1px solid var(--line-2);border-radius:var(--r-ctrl);background:var(--surface);color:var(--ink);min-width:0}.input.sm{width:96px;padding:6px 9px;text-align:right}.input:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}select.input{padding:6px 10px}label.fld{display:grid;gap:6px;font-weight:500;font-size:13px;color:var(--ink-2)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-weight:500;color:var(--ink-3);padding:0 22px 9px;white-space:nowrap}.tbl td{padding:11px 22px;border-top:1px solid var(--line)}.tbl .n{text-align:right;white-space:nowrap}.tbl tr.total td{font-weight:600}.tbl-wrap{overflow-x:auto}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--font);font-size:11px;fill:var(--ink-3)}.chart .val{fill:var(--ink);font-weight:600}.chart-legend{display:flex;gap:16px;font-size:var(--fs-xs);color:var(--ink-3);margin-top:8px;flex-wrap:wrap}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:14px;height:8px;border-radius:2px;display:inline-block}.chart-slot{min-height:120px}.muted{color:var(--ink-3)}.small{font-size:var(--fs-s)}.note{color:var(--ink-2);font-size:var(--fs-s)}.p-20{padding:18px 22px 22px}.funnel{display:grid;gap:15px}.funnel .step{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:baseline}.funnel .step .gauge{grid-column:1 / -1}.funnel .step .rate{color:var(--ink-3);font-size:var(--fs-s)}.funnel .step b{font-weight:600}.banner{display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--warn-soft);color:var(--warn);font-size:13px;font-weight:500;border-bottom:1px solid #fcd9b0}.banner svg.i{width:18px;height:18px}.big-num{font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1.1}.scrim{position:fixed;inset:0;background:#1c1c1c66;z-index:50;display:none}.scrim.open{display:block}.sheet{position:fixed;z-index:51;left:50%;top:50%;transform:translate(-50%,-48%);opacity:0;pointer-events:none;width:min(480px,calc(100vw - 32px));max-height:82vh;overflow-y:auto;background:var(--surface);border-radius:20px;box-shadow:0 24px 60px #1c1c1c3d;transition:opacity .16s,transform .16s}.sheet.open{opacity:1;transform:translate(-50%,-50%);pointer-events:auto}.sheet-h{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 10px}.sheet-h h2{font-size:16px;font-weight:600}.sheet-h button{color:var(--ink-3);padding:12px;margin:-11px -8px -11px 0;border-radius:8px}.sheet-b{padding:4px 22px 22px}.sheet .opt{display:flex;align-items:center;gap:12px;width:100%;padding:13px 22px;border-top:1px solid var(--line)}.sheet .opt:hover{background:var(--sunk)}.sheet .opt .t{flex:1;min-width:0}.sheet .opt .t b{display:block;font-weight:600}.sheet .opt .t small{color:var(--ink-3);font-size:var(--fs-s)}.sheet .opt .ck{color:var(--brand);visibility:hidden}.sheet .opt[aria-checked=true] .ck{visibility:visible}.sheet-h{padding:22px 22px 20px}.sheet-b{padding:10px 22px 24px;line-height:1.55}.sheet-b+.sheet-b{padding-top:0}.sheet .opt{padding:15px 22px}.sheet .opt .t small{display:block;margin-top:2px;line-height:1.4}.sheet-t{padding:16px 22px 6px;color:var(--ink-3);font-size:var(--fs-s);font-weight:600;letter-spacing:.02em}.cal{display:grid;gap:10px}.cal-h{display:flex;align-items:center;justify-content:space-between}.cal-h b{font-size:15px;font-weight:600;text-transform:capitalize}.cal-h button{padding:11px;border-radius:10px;color:var(--ink-2)}.cal-h button:hover:not([disabled]){background:var(--sunk)}.cal-h button[disabled]{color:var(--line-2);pointer-events:none}.cal-j,.cal-g{display:grid;grid-template-columns:repeat(7,1fr)}.cal-j{color:var(--ink-3);font-size:var(--fs-s);text-align:center;padding-bottom:2px}.cal-g button{position:relative;height:44px;font-size:14px;color:var(--ink);display:flex;align-items:center;justify-content:center}.cal-g button span{position:relative;z-index:1}.cal-g button:hover:not([disabled]) span:before{content:"";position:absolute;inset:-9px -12px;border-radius:999px;background:var(--tint);z-index:-1}.cal-g button[disabled]{color:var(--line-2)}.cal-g button[data-auj="1"]:after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--brand);z-index:1}.cal-g button[data-dans="1"]{background:var(--brand-soft)}.cal-g button[data-seg=a]{border-radius:22px 0 0 22px}.cal-g button[data-seg=b]{border-radius:0 22px 22px 0}.cal-g button[data-seg=ab]{border-radius:22px}.cal-g button[data-sel="1"]{color:#fff;font-weight:600}.cal-g button[data-sel="1"]:before{content:"";position:absolute;top:2px;bottom:2px;left:50%;width:40px;margin-left:-20px;border-radius:999px;background:var(--brand)}.cal-g button[data-sel="1"]:after{background:#fff}.cal-g button[data-sel="1"][data-seg=a]{background:linear-gradient(to right,transparent 50%,var(--brand-soft) 50%)}.cal-g button[data-sel="1"][data-seg=b]{background:linear-gradient(to left,transparent 50%,var(--brand-soft) 50%)}.cal-g button[data-sel="1"][data-seg=ab]{background:none}.cal-sel{color:var(--ink-2);font-size:13px}.cal-sel b{color:var(--ink);font-weight:600}.period-btn{display:none}.pas{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:4px;max-width:100%}.pas>button{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:9px;color:var(--ink-2)}.pas>button:hover:not([disabled]){background:var(--sunk)}.pas>button[disabled]{color:var(--line-2);pointer-events:none}.pas .pas-c{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;min-height:44px;border-radius:9px;color:var(--ink);min-width:0}.pas .pas-c b{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pas .pas-c:hover{background:var(--sunk)}.chip-cal{display:inline-flex;align-items:center;gap:6px}.chip-cal svg{width:15px;height:15px;color:var(--ink-3)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;z-index:60;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-weight:500;font-size:13.5px;box-shadow:0 10px 28px #1c1c1c4d;transition:opacity .18s,transform .18s;pointer-events:none;max-width:calc(100vw - 32px)}.toast.show{opacity:1;transform:translate(-50%)}.demo-fab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:40;padding:12px 5px;border-radius:9px 0 0 9px;writing-mode:vertical-rl;background:var(--surface);border:1px dashed var(--ink-3);border-right:0;color:var(--ink-2);font-size:11.5px;font-weight:500;letter-spacing:.04em}.demo-fab:hover{color:var(--ink);border-color:var(--ink)}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{border-top:4px solid var(--brand)!important}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:32px 30px 28px}.login-card .brand{padding:0;margin-bottom:28px}.login-card h1{font-size:23px;font-weight:600;letter-spacing:-.02em}.login-card .lede{color:var(--ink-2);margin:6px 0 22px}.login-card form{display:grid;gap:16px}.login-card .fine{margin-top:20px;color:var(--ink-3);font-size:var(--fs-s)}.code{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.code input{text-align:center;font-size:22px;font-weight:600;padding:10px 0}.check{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ink-2)}.poster{flex:none;width:40px;height:56px;border-radius:6px;background:var(--sunk);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;color:var(--ink-3);font-weight:600;font-size:15px}.poster img{width:100%;height:100%;object-fit:cover;display:block}.poster.lg{width:96px;height:136px;border-radius:10px;font-size:30px}.poster.xs{width:28px;height:40px;border-radius:5px;font-size:12px;display:inline-grid;vertical-align:middle;margin-right:8px}.with-poster{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center}.ph-title{display:flex;gap:16px;align-items:flex-start;flex:1 1 260px;min-width:0}.ph-title>div{min-width:0}.prod-img{width:32px;height:32px;object-fit:cover;border-radius:6px;vertical-align:middle;margin-right:8px}@media(max-width:1180px){.page{padding:28px 26px 64px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.panel .kpis.inset .fig:nth-child(4){border-left:0}.panel .kpis.inset .fig:nth-child(n+4){border-top:1px solid var(--line)}.hero{grid-template-columns:minmax(0,1fr)}.hero-chart{border-left:0;border-top:1px solid var(--line);padding:18px 20px 16px 6px}}@media(max-width:999px){.app{grid-template-columns:minmax(0,1fr)}.side{display:none}.topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:30;height:60px;padding:0 14px 0 18px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .brand{padding:0;min-height:44px}.back-mobile{display:inline-flex}.topbar .brand-word{font-size:13.5px}.topbar .est-btn{margin-left:auto;display:flex;align-items:center;gap:4px;max-width:52vw;padding:11px 10px 11px 14px;border-radius:999px;font-weight:500;font-size:13.5px;background:var(--sunk);border:1px solid var(--line)}.topbar .est-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .est-btn svg.i{width:16px;height:16px;color:var(--ink-3)}.topbar .est-label{margin-left:auto;font-weight:500;font-size:13.5px}.topbar .avatar{min-width:32px;min-height:32px;font-size:12px}.topbar>a[aria-label]{display:inline-flex;padding:6px 12px 6px 0;margin:-6px -12px -6px 0;border-radius:22px}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px;color:var(--ink-3);font-size:11px;font-weight:500;position:relative;min-width:0;text-align:center;overflow-wrap:anywhere}.tabbar a .tb-ic{width:56px;height:30px;border-radius:15px;display:grid;place-items:center;transition:background .15s}.tabbar a svg.i{width:22px;height:22px}.tabbar a[aria-current=page]{color:var(--ink);font-weight:600}.tabbar a[aria-current=page] .tb-ic{background:var(--ink);color:#fff}.tabbar .count{position:absolute;top:-2px;left:calc(50% + 8px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--brand);color:#fff;font-size:10.5px;line-height:17px;text-align:center;font-weight:600}.page{padding:20px 16px 108px}.ph h1,.home-head h1{font-size:23px}.home-grid,.grid-2{grid-template-columns:minmax(0,1fr);gap:0}.home-grid>*+*,.grid-2>*+*{margin-top:16px!important}.home-grid{gap:16px}.home-grid>.stack{display:contents}.home-grid>.stack>.panel{margin-top:0!important}.home-grid>.stack>.p-live{order:1}.home-grid>.stack>.p-next{order:2}.home-grid>.stack>.p-preventes{order:3}.home-grid>.stack>.p-point{order:4}.home-grid>.stack>.p-watch{order:5}.home-grid>.stack>.p-ests{order:6}.home-grid>.stack>.p-web{order:7}.home-grid>.stack>.p-week{order:8}.panel+.panel,.stack>*+*{margin-top:16px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.toast{bottom:calc(88px + env(safe-area-inset-bottom))}.sheet{inset:auto 0 0;width:100%;max-height:86vh;border-radius:22px 22px 0 0;transform:translateY(24px);padding-bottom:env(safe-area-inset-bottom)}.sheet.open{transform:translateY(0)}}@media(max-width:640px){.seg-period{display:none}.period-btn{display:inline-flex;align-items:center;gap:8px}.poster.lg{width:72px;height:102px;font-size:24px}:root{--fs-hero: 40px}.home-head{margin-bottom:14px}.hero-main{padding:20px}.hero-chart{padding:16px 12px 12px 0}.hero-chart-h{padding-left:14px}.tile{padding:14px 14px 15px}.tile-v{font-size:21px;margin-top:10px}.tile-top{font-size:12.5px;gap:8px}.tile-ic{width:30px;height:30px;border-radius:10px}.kpis,.kpis.k4,.kpis.k3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpis .fig{padding:13px 14px 14px}.kpis .fig .v{font-size:20px}.panel .kpis.inset .fig:nth-child(odd){border-left:0}.panel .kpis.inset .fig:nth-child(4){border-left:1px solid var(--line)}.panel .kpis.inset .fig:nth-child(n+3){border-top:1px solid var(--line)}.live-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 16px;scrollbar-width:none}.live-grid::-webkit-scrollbar{display:none}.live-card{flex:0 0 76%;scroll-snap-align:start}.panel-h{padding:16px 18px 10px}.panel-b,.point-list{padding:0 18px 18px}.row,.alert-row,.setting,.panel-note,.p-20,.tbl th,.tbl td{padding-left:18px;padding-right:18px}.hbars{grid-template-columns:minmax(96px,42%) minmax(0,1fr) auto;column-gap:10px}.row .time{min-width:52px;font-size:13px}.big-num{font-size:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.home-head .relecture{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.home-head .relecture .input.sm{width:auto;text-align:left}@media(max-width:1024px){.chip,.input.sm{min-height:44px}}
