.console[data-v-c8aa0fde]{height:100%;display:flex;flex-direction:column;position:relative;z-index:1}.topbar[data-v-c8aa0fde]{height:var(--h-topbar);flex:none;display:flex;align-items:center;gap:12px;padding:0 14px 0 0;background:var(--topbar-bg);border-bottom:1px solid var(--line-strong);position:relative}.topbar[data-v-c8aa0fde]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--c-primary) 0%,transparent 45%);opacity:.7}.brand[data-v-c8aa0fde]{width:210px;flex:none;height:100%;display:flex;align-items:center;gap:10px;padding:0 14px;background:linear-gradient(90deg,rgba(10,162,255,.16),transparent);border-right:1px solid var(--line)}.brand__mark[data-v-c8aa0fde]{position:relative;width:26px;height:26px;flex:none}.brand__mark[data-v-c8aa0fde]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--c-primary);clip-path:polygon(0 0,100% 0,100% 68%,68% 100%,0 100%)}.brand__mark-a[data-v-c8aa0fde],.brand__mark-b[data-v-c8aa0fde]{position:absolute;background:var(--c-cyan)}.brand__mark-a[data-v-c8aa0fde]{left:6px;top:7px;width:13px;height:2px}.brand__mark-b[data-v-c8aa0fde]{left:6px;top:12px;width:8px;height:2px}.brand__text[data-v-c8aa0fde]{display:flex;flex-direction:column;line-height:1.15}.brand__text b[data-v-c8aa0fde]{white-space:nowrap;font-family:var(--font-display);font-size:15px;letter-spacing:.14em;color:var(--text-strong)}.brand__text span[data-v-c8aa0fde]{margin-top:5px;font-size:10px;letter-spacing:.02em;color:var(--text-dim)}.topbar__divider[data-v-c8aa0fde]{width:1px;height:24px;background:var(--line)}.topbar__title[data-v-c8aa0fde]{display:flex;align-items:center;gap:6px;font-size:13px}.topbar__title b[data-v-c8aa0fde]{color:var(--text-strong);letter-spacing:.06em}.topbar__title[data-v-c8aa0fde]{white-space:nowrap}.topbar__right[data-v-c8aa0fde]{margin-left:auto;display:flex;align-items:center;gap:8px}.chip[data-v-c8aa0fde]{display:flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sheen);font-size:11px}.chip--alarm[data-v-c8aa0fde]{border-color:#ff2d5580;color:var(--c-alarm);cursor:pointer;animation:indPulse 2s infinite}.chip--btn[data-v-c8aa0fde]{cursor:pointer;transition:border-color .12s,color .12s,background .12s}.chip--btn[data-v-c8aa0fde]:hover{border-color:var(--c-primary-dim);color:var(--text);background:var(--bg-hover)}.clock[data-v-c8aa0fde]{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.clock b[data-v-c8aa0fde]{font-size:15px;color:var(--text-strong);letter-spacing:.08em}.clock span[data-v-c8aa0fde]{font-size:10px}.user[data-v-c8aa0fde]{display:flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sheen);cursor:pointer;font-size:12px}.user[data-v-c8aa0fde]:hover{border-color:var(--line-strong)}.user span[data-v-c8aa0fde]:first-of-type{color:var(--text)}.user-area[data-v-c8aa0fde]{position:relative}.user-menu[data-v-c8aa0fde]{position:absolute;top:calc(100% + 12px);right:0;width:190px;background:var(--bg-panel-2);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 14px 34px #0000008c;z-index:500;overflow:hidden}.user-menu__head[data-v-c8aa0fde]{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px}.user-menu__item[data-v-c8aa0fde]{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:transparent;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;text-align:left}.user-menu__item[data-v-c8aa0fde]:hover{background:var(--bg-hover);color:var(--text)}.console__body[data-v-c8aa0fde]{flex:1;display:flex;min-height:0}.nav[data-v-c8aa0fde]{width:210px;flex:none;background:var(--nav-bg);border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;padding-bottom:12px}.console--collapsed .nav[data-v-c8aa0fde]{width:64px}.nav__collapse[data-v-c8aa0fde]{position:sticky;top:0;z-index:2;width:100%;height:42px;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--bg-panel);border:none;border-bottom:1px solid var(--line);color:var(--text-mute);font-size:12px;cursor:pointer}.nav__collapse[data-v-c8aa0fde]:hover{color:var(--text)}.nav__group[data-v-c8aa0fde]{padding:12px 0 2px}.nav__group-title[data-v-c8aa0fde]{padding:0 14px 6px;font-size:11px;letter-spacing:.16em;color:var(--text-mute)}.nav__item[data-v-c8aa0fde]{position:relative;display:flex;align-items:center;gap:10px;height:var(--h-nav);margin:3px 10px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);font-size:13px;transition:background .12s,color .12s,border-color .12s}.nav__item[data-v-c8aa0fde]:hover{background:var(--bg-hover);color:var(--text)}.nav__item.is-active[data-v-c8aa0fde]{color:var(--text-strong);background:linear-gradient(90deg,#0aa2ff2e,#0aa2ff05);border-color:#0aa2ff47}.nav__item.is-active[data-v-c8aa0fde]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--c-primary);border-radius:2px}.console--collapsed .nav__item[data-v-c8aa0fde]{justify-content:center;padding:0}.nav__item-text[data-v-c8aa0fde]{flex:1}.nav__badge[data-v-c8aa0fde]{min-width:18px;height:16px;padding:0 4px;display:grid;place-items:center;font-size:10px;border-radius:8px;background:#ff2d5533;color:var(--c-alarm);border:1px solid rgba(255,45,85,.45)}.console__content[data-v-c8aa0fde]{flex:1;min-width:0;position:relative;background:var(--bg-page);overflow:hidden}@media (max-width: 1440px){.chip--shift[data-v-c8aa0fde]{display:none}}@media (max-width: 1280px){.clock span[data-v-c8aa0fde],.user .mute[data-v-c8aa0fde]{display:none}}@media (max-width: 1100px){.nav[data-v-c8aa0fde],.console--collapsed .nav[data-v-c8aa0fde]{width:64px}.nav__item[data-v-c8aa0fde]{justify-content:center;padding:0}.nav__item-text[data-v-c8aa0fde],.nav__group-title[data-v-c8aa0fde],.nav__badge[data-v-c8aa0fde],.nav__collapse span[data-v-c8aa0fde]:last-child{display:none}.brand[data-v-c8aa0fde]{width:170px}.brand__text span[data-v-c8aa0fde],.nav__collapse[data-v-c8aa0fde]{display:none}.topbar__title>.mute[data-v-c8aa0fde]{display:none}.chip--connection[data-v-c8aa0fde]{display:none}}@media (max-width: 800px){.clock[data-v-c8aa0fde],.board-link[data-v-c8aa0fde]{display:none}.topbar[data-v-c8aa0fde]{gap:8px;padding-right:10px}}@media (max-width: 600px){.brand[data-v-c8aa0fde]{width:58px;padding:0 16px}.brand__text[data-v-c8aa0fde],.chip--alarm[data-v-c8aa0fde],.chip--btn span[data-v-c8aa0fde],.user span[data-v-c8aa0fde],.topbar__divider[data-v-c8aa0fde]{display:none}.user[data-v-c8aa0fde]{padding:0 8px}.nav[data-v-c8aa0fde],.console--collapsed .nav[data-v-c8aa0fde]{width:54px}.nav__item[data-v-c8aa0fde]{margin:3px 6px}}.board-shell[data-v-44a5cf9e]{height:100%;display:flex;flex-direction:column;background:var(--board-bg);position:relative;z-index:1}.board-head[data-v-44a5cf9e]{height:58px;flex:none;display:flex;align-items:center;gap:20px;padding:0 18px;border-bottom:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(10,162,255,.09),transparent)}.board-head__brand[data-v-44a5cf9e]{display:flex;align-items:center;gap:12px}.board-head__mark[data-v-44a5cf9e]{display:grid;place-items:center;width:46px;height:28px;font-family:var(--font-display);font-size:14px;letter-spacing:.16em;color:#04131f;background:linear-gradient(135deg,var(--c-cyan),var(--c-primary));clip-path:polygon(0 0,100% 0,100% 70%,86% 100%,0 100%)}.board-head__brand b[data-v-44a5cf9e]{display:block;font-family:var(--font-display);font-size:18px;letter-spacing:.1em;color:var(--text-strong)}.board-head__brand span[data-v-44a5cf9e]{font-size:11px;letter-spacing:.08em}.board-head__center[data-v-44a5cf9e]{flex:1;display:flex;justify-content:center}.board-head__tag[data-v-44a5cf9e]{font-family:var(--font-display);font-size:13px;letter-spacing:.24em;color:var(--c-cyan);padding:3px 18px;border:1px solid rgba(22,211,211,.35);background:#16d3d312}.board-head__right[data-v-44a5cf9e]{display:flex;align-items:center;gap:14px}.board-chip[data-v-44a5cf9e]{display:flex;align-items:center;gap:7px;font-size:12px;padding:4px 10px;border:1px solid var(--line);background:var(--sheen)}.board-clock[data-v-44a5cf9e]{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.board-clock b[data-v-44a5cf9e]{font-size:22px;letter-spacing:.1em;color:var(--text-strong)}.board-clock span[data-v-44a5cf9e]{font-size:10px;color:var(--text-mute)}.board-exit[data-v-44a5cf9e]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;background:transparent;border:1px solid var(--line-strong);color:var(--text-dim);font-size:12px;cursor:pointer}.board-exit[data-v-44a5cf9e]:hover{color:var(--text);border-color:var(--c-primary-dim)}.board-main[data-v-44a5cf9e]{flex:1;min-height:0;overflow:auto}.board-foot[data-v-44a5cf9e]{height:26px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em}@media (max-width:1000px){.board-head__center[data-v-44a5cf9e],.board-head__brand>div>span[data-v-44a5cf9e],.board-chip[data-v-44a5cf9e]{display:none}.board-head[data-v-44a5cf9e]{gap:12px;padding:0 12px;justify-content:space-between}.board-head__brand b[data-v-44a5cf9e]{font-size:15px;letter-spacing:0}.board-head__right[data-v-44a5cf9e]{gap:8px}.board-foot>span[data-v-44a5cf9e]:first-child{display:none}}@media (max-width:600px){.board-head__mark[data-v-44a5cf9e],.board-clock[data-v-44a5cf9e]{display:none}.board-head__brand b[data-v-44a5cf9e]{font-size:13px}.board-exit[data-v-44a5cf9e]{padding:0 8px}.board-foot[data-v-44a5cf9e]{font-size:9px;padding:0 12px}}:root{--bg-body: #0a0e13;--bg-page: #0e141b;--bg-panel: #131b24;--bg-panel-2: #182230;--bg-well: #0b1118;--bg-hover: #1d2937;--bg-active: #22303f;--line: #223040;--line-strong: #33465c;--line-soft: #1a2431;--text: #dbe6f0;--text-strong: #f2f7fb;--text-dim: #a4b3c3;--text-mute: #8294a8;--c-primary: #0aa2ff;--c-primary-dim: #0a6fae;--c-cyan: #16d3d3;--c-run: #1fc96b;--c-idle: #f5a524;--c-stop: #ff4d4f;--c-alarm: #ff2d55;--c-offline: #657586;--c-maint: #a855f7;--c-info: #38bdf8;--c-run-bg: rgba(31, 201, 107, .14);--c-idle-bg: rgba(245, 165, 36, .14);--c-stop-bg: rgba(255, 77, 79, .14);--c-maint-bg: rgba(168, 85, 247, .14);--c-primary-bg: rgba(10, 162, 255, .14);--font-ui: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Segoe UI", Arial, sans-serif;--font-display: "Bahnschrift", "DIN Alternate", "Oswald", "Microsoft YaHei", sans-serif;--font-num: "Bahnschrift", "DIN Alternate", "JetBrains Mono", "Consolas", "Roboto Mono", monospace;--radius: 5px;--radius-lg: 8px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--h-topbar: 64px;--h-nav: 40px;--row-h: 48px;--shadow-panel: 0 2px 8px rgba(0, 0, 0, .16);--glow-run: 0 0 8px rgba(31, 201, 107, .75);--glow-idle: 0 0 8px rgba(245, 165, 36, .75);--glow-stop: 0 0 8px rgba(255, 77, 79, .75);--glow-primary: 0 0 10px rgba(10, 162, 255, .55);--sheen: rgba(255, 255, 255, .03);--mask: rgba(4, 8, 12, .72);--grid-line: rgba(255, 255, 255, .018);--row-zebra: rgba(255, 255, 255, .012);--login-bg: radial-gradient(120% 100% at 20% 10%, #101c28 0%, #070a0e 65%);--board-bg: radial-gradient(120% 90% at 50% 0%, #101b26 0%, #080c11 70%);--topbar-bg: linear-gradient(180deg, #17212c, #101820);--nav-bg: linear-gradient(180deg, #101821, #0d141b);--table-head-bg: #16202b;--gantt-bar-text: #eaf4ff;--btn-face-1: #1e2a38;--btn-face-2: #17212c;--btn-face-1-hover: #23364a;--btn-face-2-hover: #1a2735;--skin-scheme: dark}:root[data-theme=light]{--bg-body: #dfe6ed;--bg-page: #eef2f6;--bg-panel: #ffffff;--bg-panel-2: #f7fafc;--bg-well: #eaeff4;--bg-hover: #e6edf4;--bg-active: #dbe5ef;--line: #cfd9e3;--line-strong: #b3c1ce;--line-soft: #e3e9ef;--text: #22303c;--text-strong: #0f1b25;--text-dim: #55677a;--text-mute: #63758a;--c-primary: #0a76c8;--c-primary-dim: #0a6bb4;--c-cyan: #0b8f9c;--c-run: #128a4c;--c-idle: #b06d05;--c-stop: #cf2a2d;--c-alarm: #c91540;--c-offline: #71808f;--c-maint: #7434d6;--c-info: #0b76b8;--c-run-bg: rgba(18, 138, 76, .12);--c-idle-bg: rgba(176, 109, 5, .12);--c-stop-bg: rgba(207, 42, 45, .1);--c-maint-bg: rgba(116, 52, 214, .1);--c-primary-bg: rgba(10, 118, 200, .1);--shadow-panel: 0 1px 2px rgba(15, 27, 37, .06), 0 4px 12px rgba(15, 27, 37, .06);--glow-run: 0 0 6px rgba(18, 138, 76, .45);--glow-idle: 0 0 6px rgba(176, 109, 5, .4);--glow-stop: 0 0 6px rgba(207, 42, 45, .4);--glow-primary: 0 0 8px rgba(10, 118, 200, .35);--sheen: rgba(15, 27, 37, .02);--mask: rgba(15, 27, 37, .45);--grid-line: rgba(15, 27, 37, .045);--row-zebra: rgba(15, 27, 37, .015);--login-bg: radial-gradient(120% 100% at 20% 10%, #f2f6fa 0%, #dde5ee 70%);--board-bg: radial-gradient(120% 90% at 50% 0%, #f4f8fb 0%, #e4ebf2 75%);--topbar-bg: linear-gradient(180deg, #ffffff, #f2f6fa);--nav-bg: linear-gradient(180deg, #f7fafc, #eef3f8);--table-head-bg: #eef3f8;--gantt-bar-text: #10202c;--btn-face-1: #ffffff;--btn-face-2: #edf2f7;--btn-face-1-hover: #f4f8fb;--btn-face-2-hover: #e4ebf2;--skin-scheme: light}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);font-size:13px;line-height:1.5;color:var(--text);background:var(--bg-body);-webkit-font-smoothing:antialiased;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:48px 48px}h1,h2,h3,h4,h5{margin:0;font-weight:600}p{margin:0}a{color:var(--c-primary);text-decoration:none}table{border-collapse:collapse}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.num,.mono{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.02em}.nowrap{white-space:nowrap}.dim{color:var(--text-dim)}.mute{color:var(--text-mute)}.strong{color:var(--text-strong);font-weight:600}.center{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.grow{flex:1}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-run{color:var(--c-run)}.c-idle{color:var(--c-idle)}.c-stop{color:var(--c-stop)}.c-alarm{color:var(--c-alarm)}.c-offline{color:var(--c-offline)}.c-maint{color:var(--c-maint)}.c-primary{color:var(--c-primary)}.c-cyan{color:var(--c-cyan)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--bg-well)}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--bg-well);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--text-mute)}::-webkit-scrollbar-corner{background:var(--bg-well)}input,select,textarea{background:var(--bg-well);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px;outline:none;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--c-primary-dim);box-shadow:0 0 0 1px var(--c-primary-dim)}input::placeholder{color:var(--text-mute)}select option{background:var(--bg-panel-2)}.page{height:100%;overflow:auto;padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);position:relative;z-index:1}.page>*{flex-shrink:0}.page>.ind-panel:has(.ind-pager){flex:1 0 380px}.page>.ind-panel:only-child{flex:1}.console__content .page .kpi-row{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}@media (max-width: 900px){.console__content .page .grid-2,.console__content .page .grid-3{grid-template-columns:minmax(0,1fr)}}@media (max-width: 600px){.page{padding:12px;gap:12px}.console__content .page .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ind-mask .ind-modal .form-grid,.ind-mask .ind-drawer .form-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page-grid{display:grid;gap:var(--sp-3)}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}.ind-panel{position:relative;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;min-height:0;min-width:0}.ind-panel:before,.ind-panel:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--c-primary);opacity:.2;pointer-events:none}.ind-panel:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.ind-panel:after{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid}.ind-panel--plain:before,.ind-panel--plain:after{display:none}.ind-panel__head{display:flex;align-items:center;gap:var(--sp-2);min-height:50px;padding:10px var(--sp-4);flex-wrap:wrap;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--sheen),transparent);flex:none}.ind-panel__accent{width:3px;height:14px;background:var(--c-primary);flex:none}.ind-panel__title{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--text-strong);text-transform:uppercase}.ind-panel__sub{font-size:11px;color:var(--text-mute);letter-spacing:.04em}.ind-panel__tools{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.ind-panel__filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px;background:var(--bg-panel-2);border-bottom:1px solid var(--line);flex:none}.ind-panel__filters>.ind-toolbar{width:100%}.ind-panel__filters .ind-field{width:180px;max-width:100%}.ind-panel__filters .ind-btn--sm{height:36px;font-size:13px;padding:0 14px}.ind-filter-actions{display:flex;gap:8px;align-items:center}.ind-panel__body{padding:var(--sp-3);overflow:auto;flex:1;min-height:0}.ind-panel__body--flush{padding:0}.ind-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(180deg,var(--btn-face-1),var(--btn-face-2));color:var(--text);font-size:13px;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s,background .12s,color .12s,transform .06s;white-space:nowrap}.ind-btn:hover{border-color:var(--c-primary-dim);background:linear-gradient(180deg,var(--btn-face-1-hover),var(--btn-face-2-hover));color:var(--text-strong)}.ind-btn:active{transform:translateY(1px)}.ind-btn[disabled]{opacity:.45;cursor:not-allowed}.ind-btn--primary{border-color:#1b7fc0;background:linear-gradient(180deg,#0f9ae8,#0a72ad);color:#fff;box-shadow:0 0 0 1px #0aa2ff26 inset}.ind-btn--primary:hover{background:linear-gradient(180deg,#21a9f5,#0b7ec0)}.ind-btn--danger{border-color:var(--c-stop);color:var(--c-stop)}.ind-btn--danger:hover{background:#ff4d4f29;border-color:var(--c-stop)}.ind-btn--warn{border-color:var(--c-idle);color:var(--c-idle)}.ind-btn--warn:hover{background:#f5a52424;border-color:var(--c-idle)}.ind-btn--ok{border-color:var(--c-run);color:var(--c-run)}.ind-btn--ok:hover{background:#1fc96b24;border-color:var(--c-run)}.ind-btn--ghost{background:transparent;border-color:var(--line);color:var(--text-dim)}.ind-btn--ghost:hover{color:var(--text);border-color:var(--line-strong);background:var(--bg-hover)}.ind-btn--sm{height:28px;padding:0 10px;font-size:12px}.ind-btn--lg{height:42px;padding:0 18px;font-size:14px}.ind-btn--xl{height:56px;padding:0 26px;font-size:17px;letter-spacing:.1em}.ind-btn--block{width:100%}.ind-led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c-offline);flex:none;position:relative}.ind-led--lg{width:12px;height:12px}.ind-led--sm{width:6px;height:6px}.ind-led--on{box-shadow:var(--glow-primary)}.ind-led--run{background:var(--c-run);box-shadow:var(--glow-run);animation:indPulse 2.4s ease-in-out infinite}.ind-led--idle{background:var(--c-idle);box-shadow:var(--glow-idle)}.ind-led--stop{background:var(--c-stop);box-shadow:var(--glow-stop);animation:indPulse 1s ease-in-out infinite}.ind-led--alarm{background:var(--c-alarm);box-shadow:0 0 12px #ff2d55e6;animation:indBlink .7s steps(2,start) infinite}.ind-led--offline{background:var(--c-offline)}.ind-led--maint{background:var(--c-maint);box-shadow:0 0 8px #a855f7cc}@keyframes indPulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes indBlink{0%,to{opacity:1}50%{opacity:.25}}.ind-tag{display:inline-flex;align-items:center;gap:4px;height:23px;padding:0 8px;font-size:11px;line-height:1;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-dim);background:var(--sheen);white-space:nowrap}.ind-tag--run{color:var(--c-run);border-color:#1fc96b73;background:var(--c-run-bg)}.ind-tag--idle{color:var(--c-idle);border-color:#f5a52473;background:var(--c-idle-bg)}.ind-tag--stop{color:var(--c-stop);border-color:#ff4d4f73;background:var(--c-stop-bg)}.ind-tag--alarm{color:var(--c-alarm);border-color:#ff2d5580;background:var(--c-stop-bg)}.ind-tag--offline{color:var(--c-offline);border-color:#65758680}.ind-tag--maint{color:var(--c-maint);border-color:#a855f773;background:var(--c-maint-bg)}.ind-tag--primary{color:var(--c-primary);border-color:#0aa2ff73;background:var(--c-primary-bg)}.ind-tag--info{color:var(--c-info);border-color:#38bdf873}.ind-tag--plain{color:var(--text-mute);border-color:var(--line);background:transparent}.ind-tag--lg{height:24px;padding:0 9px;font-size:12px}.ind-kpi{position:relative;padding:16px;border:1px solid var(--line);border-left:3px solid var(--c-primary);border-radius:var(--radius);background:linear-gradient(135deg,var(--sheen),transparent 60%),var(--bg-panel);min-width:0;overflow:hidden}.ind-kpi__label{font-size:12px;color:var(--text-mute);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:6px;white-space:nowrap}.ind-kpi__value{font-family:var(--font-num);font-size:30px;font-weight:600;line-height:1.15;color:var(--text-strong);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}.ind-kpi__unit{font-size:12px;color:var(--text-mute);font-weight:400}.ind-kpi__foot{font-size:11px;color:var(--text-mute);margin-top:2px}.ind-kpi--run{border-left-color:var(--c-run)}.ind-kpi--idle{border-left-color:var(--c-idle)}.ind-kpi--stop{border-left-color:var(--c-stop)}.ind-kpi--maint{border-left-color:var(--c-maint)}.ind-kpi--offline{border-left-color:var(--c-offline)}.ind-kpi--cyan{border-left-color:var(--c-cyan)}.ind-table-wrap{overflow:auto;width:100%;height:100%;min-height:0;flex:1}.ind-table{width:100%;font-size:13px;border-collapse:separate;border-spacing:0}.ind-table thead th{position:sticky;top:0;z-index:2;height:40px;padding:0 14px;text-align:left;font-weight:600;font-size:12px;letter-spacing:.06em;color:var(--text-dim);background:var(--table-head-bg);border-bottom:1px solid var(--line-strong);white-space:nowrap}.ind-table tbody td{height:var(--row-h);padding:7px 14px;border-bottom:1px solid var(--line-soft);color:var(--text);vertical-align:middle;white-space:nowrap}.ind-table tbody tr.is-active td{background:var(--bg-active);box-shadow:inset 3px 0 0 var(--c-primary)}.ind-table tbody tr.is-danger td{box-shadow:inset 3px 0 0 var(--c-stop)}.ind-table tbody tr.is-warn td{box-shadow:inset 3px 0 0 var(--c-idle)}.ind-table tbody tr.is-clickable{cursor:pointer}.ind-table .num{text-align:right}.ind-table .col-actions{position:sticky;right:0;z-index:1;text-align:right;background:var(--bg-panel);border-left:1px solid var(--line)}.ind-table thead .col-actions{z-index:3;background:var(--table-head-bg)}.ind-table .col-identity{position:sticky;left:0;z-index:1;background:var(--bg-panel);border-right:1px solid var(--line)}.ind-table thead .col-identity{z-index:3;background:var(--table-head-bg)}.ind-table tbody tr:nth-child(2n) td:not(.col-actions):not(.col-identity){background:var(--row-zebra)}.ind-table tbody tr:hover td{background:var(--bg-hover)}.ind-table tbody tr.is-active td{background:var(--bg-active)}.ind-table .row-actions{align-items:center}.ind-table .link{min-height:28px}.ind-table--compact tbody td{height:40px;padding-top:5px;padding-bottom:5px}.ind-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;min-height:120px;color:var(--text-mute);font-size:12px;letter-spacing:.06em}.ind-table-empty__icon{width:34px;height:34px;border:1px dashed var(--line-strong);border-radius:50%;display:grid;place-items:center;color:var(--text-mute)}.ind-pager{display:flex;align-items:center;gap:var(--sp-2);padding:12px 16px;flex:none;flex-wrap:wrap;border-top:1px solid var(--line);font-size:12px;color:var(--text-dim);background:var(--bg-panel-2)}.ind-pager .ind-pager__size{width:104px;height:32px;flex:none}.ind-pager__pages{display:flex;gap:4px;margin-left:auto}.ind-pager__num{min-width:32px;height:32px;padding:0 6px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-family:var(--font-num);background:transparent;color:var(--text-dim)}.ind-pager__num:hover{border-color:var(--line-strong);color:var(--text)}.ind-pager__num.is-active{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-bg)}.ind-pager__num:disabled{opacity:.35;cursor:not-allowed}.ind-field{display:flex;flex-direction:column;gap:4px;min-width:0}.ind-field__label{font-size:12px;color:var(--text-dim);letter-spacing:.06em}.ind-field__label .req{color:var(--c-stop);margin-left:2px}.ind-field__error{font-size:11px;color:var(--c-stop)}.ind-input,.ind-select,.ind-textarea{width:100%;height:36px;background:var(--bg-well);border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;font-size:13px}.ind-textarea{height:auto;min-height:64px;padding:6px 8px;resize:vertical;line-height:1.5}.ind-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:22px;background-image:linear-gradient(45deg,transparent 50%,var(--text-mute) 50%),linear-gradient(135deg,var(--text-mute) 50%,transparent 50%);background-position:calc(100% - 12px) center,calc(100% - 8px) center;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.ind-select:hover{border-color:var(--line-strong)}.ind-checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:12px}.ind-checkbox input{width:14px;height:14px;accent-color:var(--c-primary)}.ind-toolbar{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap}.ind-toolbar__spacer{margin-left:auto}.ind-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--mask);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900;display:grid;place-items:center}.ind-modal{width:var(--modal-w, 620px);max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-panel));border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 24px 60px #0009;position:relative}.ind-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--c-primary),transparent 70%)}.ind-modal__head{min-height:56px;flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);border-bottom:1px solid var(--line)}.ind-modal__title{font-family:var(--font-display);font-size:14px;letter-spacing:.06em;color:var(--text-strong)}.ind-modal__close{margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--text-dim);cursor:pointer}.ind-modal__close:hover{color:var(--c-stop);border-color:var(--c-stop)}.ind-modal__body{padding:var(--sp-4);overflow:auto;flex:1;min-height:0}.ind-modal__foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-well)}.ind-drawer{position:fixed;top:0;right:0;bottom:0;width:var(--drawer-w, 720px);max-width:96vw;background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-panel));border-left:1px solid var(--line-strong);box-shadow:-18px 0 48px #0000008c;z-index:901;display:flex;flex-direction:column}.ind-bar{--bar-color: var(--c-primary);position:relative;height:8px;background:var(--bg-well);border:1px solid var(--line);border-radius:1px;overflow:hidden}.center>.ind-bar{flex:1;min-width:32px}.ind-bar__fill{height:100%;background:var(--bar-color);transition:width .4s ease}.ind-bar--run{--bar-color: var(--c-run)}.ind-bar--idle{--bar-color: var(--c-idle)}.ind-bar--stop{--bar-color: var(--c-stop)}.ind-bar--maint{--bar-color: var(--c-maint)}.ind-bar--striped .ind-bar__fill{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 4px,transparent 4px 8px)}.ind-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-num);font-size:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.ind-load{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-num)}.ind-load__track{width:62px;height:6px;background:var(--bg-well);border:1px solid var(--line)}.ind-load__fill{height:100%}.ind-load--over .ind-load__fill{background:var(--c-stop)}.ind-load--high .ind-load__fill{background:var(--c-idle)}.ind-load--normal .ind-load__fill{background:var(--c-run)}.ind-load--low .ind-load__fill{background:var(--c-offline)}.ind-timeline{position:relative;padding-left:18px}.ind-timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:1px;background:var(--line-strong)}.ind-timeline__item{position:relative;padding:0 0 12px}.ind-timeline__dot{position:absolute;left:-17px;top:5px;width:9px;height:9px;border-radius:50%;border:2px solid var(--c-primary);background:var(--bg-panel)}.ind-timeline__time{font-family:var(--font-num);font-size:11px;color:var(--text-mute)}.ind-section-title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:12px;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;margin-bottom:var(--sp-2)}.ind-section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}.ind-desc{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;font-size:12px}.ind-desc dt{color:var(--text-mute);white-space:nowrap}.ind-desc dd{margin:0;color:var(--text);min-width:0}.ind-kv{display:flex;align-items:baseline;gap:8px;font-size:12px}.ind-kv__k{color:var(--text-mute);flex:none}.ind-kv__v{color:var(--text);font-family:var(--font-num)}.ind-toast-host{position:fixed;top:62px;right:18px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.ind-toast{min-width:220px;max-width:380px;padding:9px 12px;border:1px solid var(--line-strong);border-left:3px solid var(--c-primary);border-radius:var(--radius);background:var(--bg-panel);box-shadow:0 10px 26px #00000080;font-size:12px;color:var(--text);animation:indToastIn .18s ease-out}.ind-toast--ok{border-left-color:var(--c-run)}.ind-toast--warn{border-left-color:var(--c-idle)}.ind-toast--error{border-left-color:var(--c-stop)}@keyframes indToastIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.ind-chart{width:100%;height:100%;min-height:0}.ind-loading{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;min-height:80px;color:var(--text-mute);font-size:12px;letter-spacing:.1em}.ind-loading__bar{width:60px;height:3px;background:var(--bg-well);border:1px solid var(--line);position:relative;overflow:hidden}.ind-loading__bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:var(--c-primary);animation:indLoading 1.1s ease-in-out infinite}@keyframes indLoading{0%{transform:translate(-100%)}to{transform:translate(260%)}}.ind-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:var(--sp-3);overflow-x:auto;flex:none}.ind-tab{position:relative;height:40px;white-space:nowrap;flex:none;padding:0 14px;display:grid;place-items:center;font-size:12px;letter-spacing:.05em;color:var(--text-dim);background:transparent;cursor:pointer;border:1px solid transparent;border-bottom:none}.ind-tab:hover{color:var(--text);background:var(--bg-hover)}.ind-tab.is-active{color:var(--text-strong);background:var(--bg-panel-2);border-color:var(--line)}.ind-tab.is-active:after{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--c-primary);box-shadow:var(--glow-primary)}.ind-tab__badge{margin-left:6px;font-family:var(--font-num);font-size:10px;padding:0 4px;border-radius:8px;background:var(--c-primary-bg);color:var(--c-primary)}@media (max-width: 600px){.ind-panel__sub{display:none}.ind-panel__filters{padding:12px}.ind-panel__filters .ind-field{width:100%!important;flex:1 1 160px}.ind-panel__filters .ind-toolbar{gap:12px}.ind-pager{padding:10px;gap:8px}.ind-pager__pages{width:100%;justify-content:flex-end}.ind-modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.ind-drawer{max-width:100vw}.ind-table .col-actions{width:110px!important;min-width:110px!important}.ind-table .row-actions{flex-wrap:wrap;gap:4px 8px}}
