@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_78bbd4c3-module__tSw44G__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_78bbd4c3-module__tSw44G__variable{--font-body:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_e06e8f36-module__Zw213W__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_e06e8f36-module__Zw213W__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root,[data-theme=light]{--bg:#eef2f7;--surface-0:#f8fafc;--surface-1:#fff;--surface-2:#f1f5f9;--surface-3:#e2e8f0;--topbar-bg:#ffffffeb;--chart-bg:#f8fafc;--chart-grid:#64748b38;--chart-grid-v:#64748b1f;--chart-text:#64748b;--chart-border:#94a3b873;--svg-chart-top:#f8fafc;--svg-chart-bottom:#eef2f7;--svg-lmp-top:#2563eb59;--svg-lmp-mid:#2563eb1f;--svg-lmp-bottom:#2563eb08;--svg-zone-top:#05966924;--svg-zone-bottom:#0596690d;--text:#0f172a;--text-soft:#334155;--text-muted:#64748b;--text-dim:#94a3b8;--rtd:#059669;--rtd-dim:#0596691f;--rtd-glow:#05966940;--actual:#ea580c;--actual-glow:#ea580c40;--limit:#d97706;--limit-dim:#d977061a;--lmp:#2563eb;--lmp-dim:#2563eb14;--time-pin:#7c3aed;--ok:#059669;--ok-bg:#0596691a;--ok-border:#05966940;--warn:#d97706;--warn-bg:#d977061a;--info:#0284c7;--info-bg:#0284c71a;--info-border:#0284c740;--danger:#dc2626;--danger-bg:#dc262614;--danger-border:#dc262640;--danger-text:#b91c1c;--alarm-accent:#dc2626;--brand:#2563eb;--brand-bg:#2563eb14;--brand-border:#2563eb38;--price-value:#1d4ed8;--border:#0f172a14;--border-strong:#0f172a24;--shadow-sm:0 2px 10px #0f172a0f;--shadow:0 8px 24px #0f172a14;--shadow-lg:0 20px 48px #0f172a1f;--body-grad-1:#2563eb0f;--body-grad-2:#0596690a;--audit-row-alt:#f1f5f9e6;--alarm-banner-1:#dc26261a;--alarm-banner-2:#dc262608;--dock-alert-bg:linear-gradient(145deg, #dc26260f, var(--surface-1));--leg-lmp-bg:#2563eb33;--leg-lmp-border:#2563eb73;--r:12px;--r-sm:8px}[data-theme=dark]{--bg:#040911;--surface-0:#080f1c;--surface-1:#0d1626;--surface-2:#121e30;--surface-3:#19273d;--topbar-bg:#080f1ce6;--chart-bg:#060d1a;--chart-grid:#334b6e47;--chart-grid-v:#334b6e24;--chart-text:#5a7899;--chart-border:#334b6e59;--svg-chart-top:#0b1525;--svg-chart-bottom:#060d1a;--svg-lmp-top:#4f9cf98c;--svg-lmp-mid:#4f9cf91f;--svg-lmp-bottom:#4f9cf905;--svg-zone-top:#10d98e1a;--svg-zone-bottom:#10d98e08;--text:#e9f2fc;--text-soft:#a8bdd4;--text-muted:#4a6180;--text-dim:#2d4060;--rtd:#10d98e;--rtd-dim:#10d98e26;--rtd-glow:#10d98e80;--actual:#ff7043;--actual-glow:#ff704373;--limit:#f5c518;--limit-dim:#f5c51814;--lmp:#4f9cf9;--lmp-dim:#4f9cf90f;--time-pin:#c084fc;--ok:#10d98e;--ok-bg:#10d98e1a;--ok-border:#10d98e38;--warn:#f5c518;--warn-bg:#f5c5181a;--info:#38c0f0;--info-bg:#38c0f01a;--info-border:#38c0f038;--danger:#ff3d5a;--danger-bg:#ff3d5a1f;--danger-border:#ff3d5a4d;--danger-text:#ff8095;--alarm-accent:#ff6b80;--brand:#3b7ef8;--brand-bg:#3b7ef81f;--brand-border:#3b7ef84d;--price-value:#7bbfff;--border:#ffffff12;--border-strong:#ffffff1f;--shadow-sm:0 2px 12px #00000059;--shadow:0 8px 32px #00000080;--shadow-lg:0 20px 60px #000000a6;--body-grad-1:#3b7ef814;--body-grad-2:#10d98e0d;--audit-row-alt:#0d162680;--alarm-banner-1:#ff3d5a2e;--alarm-banner-2:#ff3d5a0f;--dock-alert-bg:linear-gradient(145deg, #ff3d5a14, var(--surface-1));--leg-lmp-bg:#4f9cf966;--leg-lmp-border:#4f9cf999}*,:before,:after{box-sizing:border-box;margin:0}html{height:100%}body{min-height:100vh;color:var(--text);font-family:var(--font-body), "Inter", system-ui, sans-serif;background-color:var(--bg);background-image:radial-gradient(ellipse 70% 40% at 0% 0%, var(--body-grad-1), transparent), radial-gradient(ellipse 50% 35% at 100% 100%, var(--body-grad-2), transparent);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;transition:background-color .2s,color .2s}button,input{font:inherit;cursor:pointer}input{cursor:text}.mono{font-family:var(--font-mono), "JetBrains Mono", monospace;font-variant-numeric:tabular-nums}.label{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.muted{color:var(--text-muted)}.ops-topbar{z-index:50;background:var(--topbar-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.ops-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.theme-switch{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.theme-switch button{appearance:none;color:var(--text-muted);font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:10px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.theme-switch button.is-active{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-sm)}.ops-brand{align-items:center;gap:12px;min-width:0;display:flex}.ops-logo{border-radius:var(--r-sm);width:38px;height:38px;font-family:var(--font-mono), monospace;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#1a56db 0%,#10d98e 100%);flex-shrink:0;place-items:center;font-size:9px;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff26,0 4px 16px #1a56db66}.ops-brand-text h1{letter-spacing:-.02em;color:var(--text);font-size:15px;font-weight:600;line-height:1.25}.ops-brand-text p{color:var(--text-muted);font-size:12px;font-family:var(--font-mono), monospace}.ops-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chip{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:10px;font-weight:600;display:inline-flex}.chip:before{content:"";opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px}.chip.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-border)}.chip.ok:before{opacity:1;box-shadow:0 0 6px var(--rtd-glow);animation:2.5s ease-in-out infinite dot-pulse}.chip.busy{color:var(--info);background:var(--info-bg);border-color:var(--info-border)}.chip.busy:before{opacity:1;animation:1.2s ease-in-out infinite dot-pulse}.chip.err{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.chip.err:before{opacity:1}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.ops-alarm-banner{background:linear-gradient(90deg, var(--alarm-banner-1) 0%, var(--alarm-banner-2) 100%);border-bottom:1px solid var(--danger-border);align-items:center;gap:12px;padding:10px 20px;display:flex}.alarm-icon-wrap{border-radius:var(--r-sm);background:var(--danger-bg);border:1px solid var(--danger-border);flex-shrink:0;place-items:center;width:30px;height:30px;font-size:14px;animation:1.8s ease-in-out infinite alarm-flash;display:grid}@keyframes alarm-flash{0%,to{opacity:1}50%{opacity:.6}}.alarm-count{color:var(--alarm-accent);font-size:12px;font-weight:700;font-family:var(--font-mono), monospace;letter-spacing:.04em}.alarm-msg{color:var(--text-soft);font-size:12px}.ops-shell{flex-direction:column;min-height:100vh;display:flex}.ops-main{flex-direction:column;flex:1;gap:10px;width:100%;max-width:1640px;margin:0 auto;padding:12px 16px 20px;display:flex}.chart-hero{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-1);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px 18px 14px;display:flex}.chart-hero-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chart-title h2{color:var(--text);letter-spacing:-.01em;margin-top:3px;font-size:15px;font-weight:600}.chart-meta{color:var(--text-muted);font-size:11px;font-family:var(--font-mono), monospace;margin-top:4px}.chart-meta .live-dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 8px var(--rtd-glow);vertical-align:middle;border-radius:50%;margin-right:5px;animation:2s ease-in-out infinite dot-pulse;display:inline-block}.chart-legend{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;display:flex}.leg{font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:7px;font-size:10px;display:inline-flex}.leg-swatch{border-radius:2px;width:18px;height:3px}.leg-swatch.rtd{background:var(--rtd);box-shadow:0 0 8px var(--rtd-glow)}.leg-swatch.actual{background:var(--actual)}.leg-swatch.limit{border-top:2px dashed var(--limit);width:20px;height:0}.leg-swatch.lmp{background:var(--leg-lmp-bg);border:1px solid var(--leg-lmp-border);border-radius:3px;height:10px}.leg-swatch.now{border-left:2px dashed var(--time-pin);width:0;height:12px}.chart-svg-wrap{flex:1;min-height:360px}.chart-svg{border-radius:var(--r-sm);border:1px solid var(--chart-border);width:100%;height:auto;min-height:360px;display:block}.chart-empty{border-radius:var(--r-sm);border:1px dashed var(--border-strong);background:var(--chart-bg);text-align:center;min-height:360px;color:var(--text-muted);place-items:center;gap:8px;font-size:13px;display:grid}.chart-empty strong{color:var(--text-soft);font-size:15px;display:block}.c-bg{fill:url(#chartBg)}.c-zone{fill:url(#zoneGrad)}.c-grid{stroke:var(--chart-grid);stroke-width:1px}.c-gridv{stroke:var(--chart-grid-v);stroke-width:1px;stroke-dasharray:3 9}.c-lbl{fill:var(--chart-text);font-family:IBM Plex Mono,monospace;font-size:11px}.c-title{fill:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.c-limit{stroke:var(--limit);stroke-width:2px;stroke-dasharray:8 5;opacity:.85}.c-lim-lbl{fill:var(--limit);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.c-lmp{fill:url(#lmpGrad)}.c-rtd{fill:none;stroke:var(--rtd);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:url(#gRtd)}.c-act{stroke:var(--actual);stroke-width:2.5px;filter:url(#gAct)}.c-dot{fill:var(--chart-bg);stroke:var(--rtd);stroke-width:2.5px}.c-dot-act{fill:var(--actual);stroke:var(--chart-bg);stroke-width:2px}.c-pt-lbl{fill:var(--rtd);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.c-now{stroke:var(--time-pin);stroke-width:1.5px;stroke-dasharray:5 4;opacity:.9}.c-pin{fill:var(--time-pin);opacity:.9}.status-dock{grid-template-columns:1fr 1.3fr .85fr .85fr .85fr;gap:10px;display:grid}.dock-tile{border-radius:var(--r);border:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:6px;min-height:110px;padding:14px 16px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.dock-tile:before{content:"";border-radius:0 2px 2px 0;width:3px;position:absolute;top:16px;bottom:16px;left:0}.dock-tile.t-clock:before{background:var(--info);box-shadow:0 0 10px var(--info-bg)}.dock-tile.t-alarm:before{background:var(--brand)}.dock-tile.t-rtd:before{background:var(--rtd);box-shadow:0 0 10px var(--rtd-glow)}.dock-tile.t-price:before{background:var(--lmp)}.dock-tile.t-actual:before{background:var(--actual)}.dock-tile:after{content:"";opacity:.06;pointer-events:none;border-radius:50%;width:80px;height:80px;position:absolute;top:-20px;right:-20px}.dock-tile.t-clock:after{background:var(--info)}.dock-tile.t-alarm:after{background:var(--brand)}.dock-tile.t-rtd:after{background:var(--rtd)}.dock-tile.t-price:after{background:var(--lmp)}.dock-tile.t-actual:after{background:var(--actual)}.dock-tile.is-alert{border-color:var(--danger-border);background:var(--dock-alert-bg)}.dock-tile.is-alert:before{background:var(--danger);box-shadow:0 0 12px #ff3d5a66}.dock-tile.is-alert:after{background:var(--danger);opacity:.1}.dock-label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.dock-value{font-family:var(--font-mono), monospace;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:700;line-height:1}.dock-value.v-clock{color:var(--info);text-shadow:0 0 24px #38c0f040}.dock-value.v-rtd{color:var(--rtd);text-shadow:0 0 20px var(--rtd-glow)}.dock-value.v-price{color:var(--price-value)}.dock-value.v-alert{color:var(--alarm-accent);text-shadow:0 0 20px #ff3d5a4d}.dock-value.v-actual{color:var(--actual)}.dock-sub{color:var(--text-muted);font-size:11px;line-height:1.35}.dock-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.btn-cta{appearance:none;border-radius:var(--r-sm);color:#fff;font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:linear-gradient(175deg,#2563eb,#1a4fc7);border:none;align-items:center;gap:6px;padding:10px 15px;font-size:11px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 4px 14px #2563eb66,inset 0 1px #ffffff1f}.btn-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #2563eb8c,inset 0 1px #ffffff1f}.btn-cta:active:not(:disabled){transform:translateY(0)}.btn-cta:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-ghost{appearance:none;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-soft);font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;align-items:center;gap:6px;padding:9px 14px;font-size:11px;font-weight:600;transition:border-color .12s,background .12s;display:inline-flex}.btn-ghost:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.ops-drawer{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-1);overflow:hidden}.ops-drawer>summary{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:12px 18px;font-size:10px;font-weight:700;list-style:none;display:flex}.ops-drawer>summary::-webkit-details-marker{display:none}.ops-drawer>summary:after{content:"▼";font-size:9px;transition:transform .2s}.ops-drawer[open]>summary{border-bottom-color:var(--border);color:var(--text-soft)}.ops-drawer[open]>summary:after{transform:rotate(180deg)}.ops-body{flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex}.ops-3col{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ops-card{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);padding:14px}.ops-card h3{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.ops-card p{color:var(--text-muted);margin-bottom:12px;font-size:12px;line-height:1.5}.ops-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-0);width:100px;color:var(--text);font-family:var(--font-mono), monospace;padding:9px 11px;font-size:13px}.field:focus{border-color:#3b7ef880;outline:none;box-shadow:0 0 0 3px #3b7ef81f}.thresholds-card{margin-bottom:2px}.thresholds-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.threshold-field{flex-direction:column;gap:6px;display:flex}.threshold-field .field{width:100%}.threshold-actions{align-items:flex-end;padding-bottom:1px;display:flex}.audit-wrap{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.audit-head{background:var(--surface-2);font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);grid-template-columns:1.4fr .65fr .9fr;gap:10px;padding:9px 14px;font-size:10px;font-weight:700;display:grid}.audit-body{max-height:190px;overflow-y:auto}.audit-body::-webkit-scrollbar{width:5px}.audit-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.audit-row{border-top:1px solid var(--border);grid-template-columns:1.4fr .65fr .9fr;align-items:center;gap:10px;padding:9px 14px;font-size:12px;display:grid}.audit-row:nth-child(2n){background:var(--audit-row-alt)}.audit-row strong{font-family:var(--font-mono), monospace;color:var(--text-soft);font-size:11px;display:block}.audit-row .t-sub{color:var(--text-muted);font-size:10px}.audit-val{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--text-soft)}.audit-empty{color:var(--text-muted);padding:16px 14px;font-size:12px}.toast{border-radius:var(--r-sm);font-size:12px;font-family:var(--font-mono), monospace;padding:10px 14px}.toast.ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.toast.err{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}@media (max-width:1200px){.status-dock{grid-template-columns:repeat(3,1fr)}.ops-3col{grid-template-columns:1fr 1fr}}@media (max-width:900px){.status-dock{grid-template-columns:1fr 1fr}.chart-hero-header{flex-direction:column}.thresholds-grid{grid-template-columns:1fr 1fr}.threshold-actions{grid-column:1/-1}}@media (max-width:640px){.ops-main{gap:8px;padding:8px 10px 16px}.status-dock,.ops-3col{grid-template-columns:1fr}.ops-topbar{flex-direction:column;align-items:flex-start}.ops-topbar-actions{justify-content:space-between;width:100%}}
