@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap);body,html{height:100%;margin:0;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{height:100%;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.al-overlay,.al-toast-stack{--al-bg:#111418;--al-card:#1a1e24;--al-raised:#2a313b;--al-border:#ffffff14;--al-border-strong:#c5d7e033;--al-text:#fff;--al-text-secondary:#c5d7e0;--al-text-tertiary:#98a8bf;--al-text-muted:#798699;--al-accent:#83a6ff;--al-accent-strong:#256ef4;--al-success:#47cd89;--al-warning:#fdb022;--al-error:#f04438;color:var(--al-text);font-family:Inter,Pretendard,sans-serif}.al-overlay button,.al-overlay select,.al-toast-stack button{font-family:inherit}.al-badge{align-items:center;border:1px solid;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;height:22px;letter-spacing:.3px;padding:0 8px;white-space:nowrap}.al-badge-critical{color:var(--al-error)}.al-badge-warning{color:var(--al-warning)}.al-badge-info{color:var(--al-accent)}.al-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--al-text-tertiary);cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.al-icon-btn:hover{background:var(--al-raised);color:var(--al-text)}.al-icon-btn .material-symbols-outlined{font-size:20px}.al-link{background:none;border:none;color:var(--al-accent);cursor:pointer;font-size:13px;padding:0;white-space:nowrap}.al-link:hover{text-decoration:underline}.al-link-error{color:var(--al-error)}.al-toast-stack{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 80px);max-width:calc(100vw - 32px);overflow-y:auto;position:fixed;right:16px;scrollbar-width:none;top:64px;width:420px;z-index:10000}.al-toast-stack::-webkit-scrollbar{display:none}.al-toast{animation:alSlideIn .25s ease-out;background:var(--al-raised);border:1px solid var(--al-border-strong);border-left-width:4px;border-radius:6px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:8px;padding:12px 14px 12px 16px;position:relative}.al-toast.al-sev-critical{border-color:var(--al-error)}.al-toast.al-sev-warning{border-color:var(--al-warning)}.al-toast.al-sev-info{border-color:var(--al-accent)}.al-toast-head{align-items:center;display:flex;gap:10px}.al-toast .al-icon-btn:hover{background:#ffffff14}.al-toast-time{font-feature-settings:"tnum";color:var(--al-text-tertiary);flex:1 1;font-size:12px;font-variant-numeric:tabular-nums}.al-toast-title{background:none;border:none;color:var(--al-text);cursor:pointer;font-size:15px;font-weight:500;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.al-toast-title:hover{color:var(--al-accent)}.al-toast-foot{align-items:center;display:flex;gap:10px;justify-content:space-between}.al-toast-meta{color:var(--al-text-tertiary);font-size:13px}@keyframes alSlideIn{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.al-overlay{animation:alFade .15s ease-out;background:#00000059;inset:0;position:fixed;z-index:10002}.al-drawer{animation:alSlideIn .2s ease-out;background:var(--al-bg);border-left:1px solid var(--al-border);box-shadow:-8px 0 32px #00000080;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;max-width:100vw;padding:16px 20px 14px;position:fixed;right:0;top:0;width:460px}.al-drawer-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.al-drawer-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.al-drawer-title{color:var(--al-text);font-size:20px;font-weight:700;margin:0}.al-drawer-sub{color:var(--al-text-tertiary);font-size:13px;margin:6px 0 14px}.al-drawer-foot{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:auto;padding-top:12px}.al-drawer-note{color:var(--al-text-muted);font-size:11px;margin:8px 0 0}.al-empty{color:var(--al-text-tertiary);font-size:14px;padding:40px 0;text-align:center}.al-filters{align-items:center;display:flex;gap:8px;margin-bottom:12px}.al-chip{background:var(--al-card);border:1px solid var(--al-border-strong);border-radius:16px;color:var(--al-text-secondary);cursor:pointer;font-size:13px;height:32px;padding:0 14px}.al-chip.active{background:#83a6ff1a;border-color:var(--al-accent);color:var(--al-accent)}.al-select{-webkit-appearance:none;appearance:none;background-color:var(--al-card);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239CA3AF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;border:1px solid var(--al-border-strong);border-radius:16px;color:var(--al-text-secondary);cursor:pointer;font-size:12px;height:32px;margin-left:auto;padding:0 28px 0 12px}.al-list{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding-right:2px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.al-list::-webkit-scrollbar{width:6px}.al-list::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.al-card{background:var(--al-card);border:1px solid var(--al-border);border-left-width:4px;border-radius:6px;color:var(--al-text);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px 14px 12px 16px;text-align:left;transition:border-color .15s,background .15s}.al-card:hover{background:#1f242c}.al-card.al-sev-critical{border-left-color:var(--al-error)}.al-card.al-sev-warning{border-left-color:var(--al-warning)}.al-card.al-sev-info{border-left-color:var(--al-accent)}.al-card-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.al-card-title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-card-desc{color:var(--al-text-tertiary);font-size:13px}.al-card-foot{justify-content:flex-start}.al-card-acked,.al-card-meta{color:var(--al-text-tertiary);font-size:12px}.al-card-acked{align-items:center;display:inline-flex;gap:2px;white-space:nowrap}.al-card-acked .material-symbols-outlined{font-size:14px}.al-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.al-dot-critical{background:var(--al-error)}.al-dot-warning{background:var(--al-warning)}.al-dot-info{background:var(--al-accent)}.al-btn-outline{background:#0000;border:1px solid var(--al-border-strong);border-radius:4px;color:var(--al-text);cursor:pointer;font-size:14px;height:40px;padding:0 20px}.al-btn-outline:hover:not(:disabled){border-color:var(--al-accent)}.al-btn-outline:disabled{cursor:not-allowed;opacity:.45}.al-detail{padding:0}.al-detail-body{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:14px 20px 0;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.al-detail-body::-webkit-scrollbar{width:6px}.al-detail-body::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.al-detail-foot{padding:12px 20px 0}.al-detail .al-drawer-note{padding:0 20px 14px}.al-detail-bar{align-items:center;border:1px solid;border-radius:6px;display:flex;font-size:14px;font-weight:500;gap:8px;margin:14px 20px 0;padding:10px 14px}.al-bar-critical{background:#f044381f;border-color:var(--al-error);color:var(--al-error)}.al-bar-warning{background:#fdb0221f;border-color:var(--al-warning);color:var(--al-warning)}.al-bar-info{background:#83a6ff1f;border-color:var(--al-accent);color:var(--al-accent)}.al-detail-bar-icon{font-size:18px}.al-detail-bar-text{flex:1 1;white-space:nowrap}.al-detail-bar-nav{align-items:center;display:inline-flex;gap:10px}.al-bar-link{background:none;border:none;color:var(--al-text-tertiary);cursor:pointer;font-size:13px;padding:0;white-space:nowrap}.al-bar-link:disabled{cursor:not-allowed;opacity:.4}.al-bar-link-strong{color:var(--al-text);font-weight:600}.al-bar-link-accent{color:var(--al-accent)}.al-bar-sep{background:var(--al-border-strong);height:14px;width:1px}.al-detail-equipment{font-size:22px}.al-detail-message{color:var(--al-text);font-size:17px;font-weight:500;margin:0}.al-detail-meta{margin:0 0 6px}.al-detail-meta,.al-section-title{color:var(--al-text-tertiary);font-size:13px}.al-section-title{font-weight:500;margin:8px 0 0}.al-section-row{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.al-section-note{color:var(--al-text-muted);font-size:11px}.al-cause{background:var(--al-card);border:1px solid var(--al-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:16px}.al-cause-critical{border-color:var(--al-error)}.al-cause-warning{border-color:var(--al-warning)}.al-cause-info{border-color:var(--al-accent)}.al-cause-headline{color:var(--al-text);font-size:16px;font-weight:700}.al-cause-detail{color:var(--al-text-secondary);font-size:13px}.al-cause-time{font-feature-settings:"tnum";color:var(--al-text-tertiary);font-variant-numeric:tabular-nums}.al-indicators{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.al-indicator{background:var(--al-card);border:1px solid var(--al-border);border-radius:6px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 14px}.al-indicator span{color:var(--al-text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-indicator b{font-feature-settings:"tnum";color:var(--al-text);font-size:20px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.al-indicator b small{color:var(--al-text-tertiary);font-size:12px;font-weight:400;margin-left:4px}.al-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.al-btn{align-items:center;border:1px solid #0000;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;height:42px;justify-content:center;overflow:hidden;padding:0 14px;text-overflow:ellipsis;white-space:nowrap}.al-btn:disabled{cursor:not-allowed;opacity:.5}.al-btn:hover:not(:disabled){filter:brightness(1.1)}.al-btn-primary{background:var(--al-accent-strong);border-color:var(--al-accent-strong)}.al-btn-danger{background:var(--al-error);border-color:var(--al-error)}.al-btn-wide{grid-column:1/-1}.al-detail-id,.al-star{font-size:12px}.al-detail-id{color:var(--al-text-muted)}@keyframes alFade{0%{opacity:0}to{opacity:1}}@media (max-width:600px){.al-drawer{width:100vw}.al-indicators{grid-template-columns:minmax(0,1fr)}}.collection-status-container{align-items:center;display:flex;position:relative}.collection-status-box{align-items:center;background:linear-gradient(135deg,#21252b,#2a2f38);border:1px solid #3a3f47;border-radius:6px;cursor:pointer;display:flex;gap:6px;padding:8px 14px;transition:all .3s ease;white-space:nowrap}.collection-status-box .collection-status-icon{color:#9ca3af}.collection-status-box.has-issue .collection-status-icon{color:#d1d5db}.collection-status-box:hover{box-shadow:0 4px 12px #00000059}.collection-status-icon{flex-shrink:0;font-size:18px}.collection-status-text{color:#fff;font-size:13px;font-weight:500}.collection-status-summary{align-items:center;display:flex;gap:10px}.cs-dot-count{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:4px;line-height:1}.cs-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.cs-dot-running{background:#22c55e}.cs-dot-idle{background:#fbbf24}.cs-dot-stopped{background:#ef4444}.cs-dot-count:first-child{color:#22c55e}.cs-dot-count:nth-child(2){color:#fbbf24}.cs-dot-count:nth-child(3){color:#ef4444}.collection-status-dropdown{background:#111418;border:1px solid #3b82f6;border-radius:8px;box-shadow:0 8px 24px #00000080;max-height:500px;overflow:hidden;position:absolute;user-select:none;-webkit-user-select:none;width:340px;z-index:10010}.collection-status-dropdown-portal{position:fixed;right:0;top:0;z-index:100000}.collection-status-dropdown-header{align-items:center;background:#111418;border-bottom:1px solid #3a3f47;display:flex;justify-content:space-between;padding:16px}.collection-status-dropdown-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.collection-status-header-meta{align-items:center;display:flex;gap:6px}.collection-status-count{background:#2a2f38;border-radius:4px;color:#9ca3af;font-size:12px;padding:4px 8px}.collection-status-stopped-badge{background:#ef444424;border:1px solid #ef444459;border-radius:4px;color:#ef4444;font-size:12px;font-weight:700;padding:3px 8px;white-space:nowrap}.collection-status-all-normal{align-items:center;background:#22c55e14;border-bottom:1px solid #2a2f38;color:#22c55e;display:flex;font-size:13px;gap:8px;padding:12px 16px}.collection-status-all-normal .material-symbols-outlined{font-size:18px}.collection-status-list{max-height:400px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#3b82f6 #1a1f28;scrollbar-width:thin}.collection-status-list::-webkit-scrollbar{width:6px}.collection-status-list::-webkit-scrollbar-track{background:#1a1e24}.collection-status-list::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.collection-status-empty{color:#9ca3af;font-size:13px;padding:24px 16px;text-align:center}.collection-status-item{border-bottom:1px solid #2a2f38;cursor:pointer;padding:12px 16px;transition:all .2s ease}.collection-status-item:hover{background:#2a2f38;transform:translateX(4px)}.collection-status-item:last-child{border-bottom:none}.collection-status-item-main{align-items:center;display:flex;gap:8px}.collection-status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.collection-status-dot.dot-collecting{background:#22c55e;box-shadow:0 0 6px #22c55eb3}.collection-status-dot.dot-partial{background:#fbbf24;box-shadow:0 0 6px #fbbf24b3}.collection-status-dot.dot-stopped{background:#ef4444;box-shadow:0 0 6px #ef4444b3}.collection-status-dot.dot-none{background:#6b7280}.collection-status-factory-name{color:#fff;flex:1 1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-status-badge{border-radius:10px;flex-shrink:0;font-size:11px;font-weight:600;padding:2px 8px}.collection-status-badge.badge-none{background:#9ca3af1f;color:#9ca3af}.collection-status-counts{align-items:center;display:inline-flex;flex-shrink:0;font-size:12px;gap:10px}.collection-status-counts .ccount{align-items:baseline;color:#9ca3af;display:inline-flex;gap:4px}.collection-status-counts .ccount b{font-size:13px;font-weight:700}.collection-status-counts .ccount-running b{color:#22c55e}.collection-status-counts .ccount-idle b{color:#fbbf24}.collection-status-counts .ccount-stopped b{color:#ef4444}.collection-status-stale-list{list-style:none;margin:8px 0 0;padding:0 0 0 16px}.collection-status-stale-item{align-items:center;background:#ffffff0a;border-left:2px solid #ef44448c;border-radius:4px;cursor:pointer;display:flex;font-size:12px;gap:6px;margin-bottom:3px;padding:5px 8px;transition:background .2s ease}.collection-status-stale-item:last-child{margin-bottom:0}.collection-status-stale-item:hover{background:#ffffff17}.collection-status-stale-name{color:#e5e7eb;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-status-stale-elapsed{color:#9ca3af;flex-shrink:0;font-weight:600}@media (max-width:900px){.collection-status-text{display:none}.collection-status-summary{gap:7px}.cs-dot-count{font-size:12px}.collection-status-box{padding:8px 10px}}.header{--hd-bg:#111418;--hd-card:#1a1e24;--hd-raised:#2a313b;--hd-border:#ffffff14;--hd-border-strong:#c5d7e033;--hd-text:#fff;--hd-text-secondary:#c5d7e0;--hd-text-tertiary:#98a8bf;--hd-text-muted:#798699;--hd-accent:#83a6ff;--hd-success:#47cd89;--hd-warning:#fdb022;--hd-error:#f04438;-webkit-user-drag:none;align-items:center;background:var(--hd-bg);border-bottom:1px solid var(--hd-border);box-sizing:border-box;color:var(--hd-text);display:flex;font-family:Inter,Pretendard,sans-serif;gap:16px;height:60px;left:60px;left:var(--sidebar-w,60px);padding:0 20px 0 24px;position:absolute;top:0;transition:left .25s ease,width .25s ease;user-select:none;-webkit-user-select:none;width:calc(100% - 60px);width:calc(100% - var(--sidebar-w, 60px))}.header button{cursor:pointer;font-family:inherit}.header img{-webkit-user-drag:none;user-drag:none}.hd-icon-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--hd-text-secondary);display:inline-flex;height:36px;justify-content:center;position:relative;width:36px}.hd-icon-btn:hover{background:var(--hd-raised);color:var(--hd-text)}.hd-icon-btn .material-symbols-outlined{font-size:24px}.hd-counter{font-feature-settings:"tnum";background:var(--hd-raised);border-radius:10px;color:var(--hd-text-tertiary);font-size:11px;font-variant-numeric:tabular-nums;height:20px;line-height:20px;padding:0 8px;white-space:nowrap}.hd-link{background:none;border:none;color:var(--hd-accent);font-size:13px;padding:0}.hd-link:hover{text-decoration:underline}.hd-center{align-items:center;display:flex;flex:1 1;gap:16px;justify-content:center;min-width:0}.hd-notice{flex:0 1 280px;min-width:0;position:relative}.hd-notice-box{align-items:center;background:var(--hd-card);border:1px solid var(--hd-border);border-radius:6px;color:var(--hd-text-secondary);display:flex;gap:10px;height:40px;padding:0 12px;text-align:left;width:100%}.hd-notice-box.open,.hd-notice-box:hover:not(:disabled){border-color:var(--hd-accent)}.hd-notice-box.empty{color:var(--hd-text-muted);cursor:default}.hd-notice-icon{color:var(--hd-text-tertiary);flex-shrink:0;font-size:20px}.hd-notice-text{flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-popover{animation:hdFade .15s ease-out;background:var(--hd-card);border:1px solid var(--hd-border-strong);border-radius:8px;box-shadow:0 12px 32px #00000080;left:0;max-width:calc(100vw - 80px);padding:14px 20px 12px;position:absolute;top:calc(100% + 8px);width:480px;z-index:10001}.hd-popover-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.hd-popover-title{color:var(--hd-text);font-size:17px;font-weight:700;margin:0}.hd-popover-count{color:var(--hd-text-tertiary);font-size:13px;font-weight:400;margin-left:6px}.hd-notice-list{list-style:none;margin:8px 0 0;max-height:calc(100vh - 220px);overflow-y:auto;padding:0;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.hd-notice-list::-webkit-scrollbar{width:6px}.hd-notice-list::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.hd-notice-list li+li .hd-notice-item{border-top:1px solid var(--hd-border)}.hd-notice-item{background:none;border:none;color:var(--hd-text);display:flex;flex-direction:column;gap:6px;padding:14px 0 12px;text-align:left;width:100%}.hd-notice-item:hover .hd-notice-item-title{color:var(--hd-accent)}.hd-notice-item-row{align-items:center;display:flex;gap:10px}.hd-notice-item-title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-notice-item-body{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--hd-text-secondary);display:-webkit-box;font-size:13px;line-height:1.5;margin:0;overflow:hidden}.hd-notice-item-meta{color:var(--hd-text-muted);font-size:12px}.hd-notice-badge{align-items:center;border:1px solid;border-radius:4px;color:var(--hd-text-tertiary);display:inline-flex;font-size:11px;font-weight:600;height:22px;padding:0 8px;white-space:nowrap}.hd-notice-badge-urgent{color:var(--hd-error)}.hd-notice-badge-update{color:var(--hd-accent)}.hd-popover-foot{border-top:1px solid var(--hd-border);display:flex;justify-content:center;padding-top:12px}.hd-ticker{align-items:center;background:var(--hd-card);border:1px solid var(--hd-border-strong);border-radius:6px;color:var(--hd-text);display:flex;flex:0 1 720px;gap:10px;height:40px;min-width:0;padding:0 6px 0 12px}.hd-ticker-critical{background:#f0443814;border-color:var(--hd-error)}.hd-ticker-critical .hd-ticker-count,.hd-ticker-critical .hd-ticker-icon{color:var(--hd-error)}.hd-ticker-warning{background:#fdb02214;border-color:var(--hd-warning)}.hd-ticker-warning .hd-ticker-count,.hd-ticker-warning .hd-ticker-icon{color:var(--hd-warning)}.hd-ticker-info{background:#83a6ff14;border-color:var(--hd-accent)}.hd-ticker-info .hd-ticker-count,.hd-ticker-info .hd-ticker-icon{color:var(--hd-accent)}.hd-ticker-none .hd-ticker-icon{color:var(--hd-success)}.hd-ticker-icon{flex-shrink:0;font-size:20px}.hd-ticker-count{font-size:14px;font-weight:600;white-space:nowrap}.hd-ticker-sep{background:var(--hd-border-strong);flex-shrink:0;height:18px;width:1px}.hd-ticker-text{background:none;border:none;color:var(--hd-text);flex:1 1;font-size:14px;min-width:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.hd-ticker-text:hover{color:var(--hd-accent)}.hd-ticker-muted{cursor:default}.hd-ticker-muted,.hd-ticker-muted:hover{color:var(--hd-text-tertiary)}.hd-ticker-counter{background:#0000;color:var(--hd-error)}.hd-ticker-warning .hd-ticker-counter{color:var(--hd-warning)}.hd-ticker-info .hd-ticker-counter{color:var(--hd-accent)}.hd-ticker-btn{align-items:center;background:var(--hd-raised);border:none;border-radius:4px;color:var(--hd-text);display:inline-flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.hd-ticker-btn:hover:not(:disabled){filter:brightness(1.15)}.hd-ticker-btn:disabled{cursor:not-allowed;opacity:.4}.hd-ticker-btn .material-symbols-outlined{font-size:20px}.hd-right{align-items:center;display:flex;flex-shrink:0;gap:6px}.hd-bell-badge{background:var(--hd-error);border-radius:8px;box-sizing:border-box;color:#fff;font-size:10px;font-weight:700;height:16px;line-height:16px;min-width:16px;padding:0 4px;position:absolute;right:2px;text-align:center;top:2px}.hd-lang{align-items:center;background:none;border:none;border-radius:6px;color:var(--hd-text-secondary);display:inline-flex;gap:6px;height:36px;padding:0 10px 0 6px}.hd-lang:hover{background:var(--hd-raised);color:var(--hd-text)}.hd-lang .material-symbols-outlined{font-size:24px}.hd-lang-code{font-size:13px;font-weight:500}.hd-lang-menu{animation:hdFade .15s ease-out;background:#1a1e24;border:1px solid #c5d7e033;border-radius:8px;box-shadow:0 12px 32px #00000080;font-family:Inter,Pretendard,sans-serif;min-width:180px;padding:8px;position:fixed;z-index:10001}.hd-lang-menu-title{border-bottom:1px solid #ffffff14;color:#98a8bf;font-size:12px;margin-bottom:4px;padding:6px 10px 8px}.hd-lang-option{align-items:center;background:none;border:none;border-radius:4px;color:#c5d7e0;cursor:pointer;display:flex;font-family:inherit;font-size:13px;justify-content:space-between;padding:8px 10px;text-align:left;width:100%}.hd-lang-option:hover{background:#2a313b;color:#fff}.hd-lang-option.active{color:#83a6ff}.hd-lang-option .material-symbols-outlined{font-size:18px}@keyframes hdFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1400px){.hd-notice{flex-basis:220px}.hd-ticker{flex-basis:420px}}@media (max-width:1100px){.hd-ticker-count,.hd-ticker-sep{display:none}}@media (max-width:900px){.hd-notice .hd-counter,.hd-notice-text{display:none}.hd-notice{flex:0 0 auto}.hd-notice-box{justify-content:center;padding:0;width:40px}.hd-popover{left:auto;right:-200px}}@media (max-width:700px){.header{gap:8px;padding:0 10px}.hd-lang-code,.hd-ticker-counter{display:none}}.sb{--sb-bg:#111418;--sb-card:#1a1e24;--sb-raised:#2a313b;--sb-border:#ffffff14;--sb-border-strong:#c5d7e033;--sb-text:#fff;--sb-text-secondary:#c5d7e0;--sb-text-tertiary:#98a8bf;--sb-text-muted:#798699;--sb-accent:#83a6ff;-webkit-user-drag:none;background:var(--sb-bg);border-right:1px solid var(--sb-border);color:var(--sb-text);display:flex;flex-direction:column;font-family:Inter,Pretendard,sans-serif;height:100vh;left:0;position:fixed;top:0;transition:width .25s ease;user-select:none;-webkit-user-select:none;width:240px;width:var(--sidebar-w,240px);z-index:1000}.sb,.sb *,.sb :after,.sb :before{box-sizing:border-box}.sb button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.sb img{-webkit-user-drag:none;user-drag:none}.sb .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.sb-top{align-items:center;display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 18px 0 20px}.sb-collapsed .sb-top{justify-content:center;padding:0}.sb-logo{align-items:center;display:inline-flex;height:32px}.sb-logo-img{max-height:28px;max-width:140px;object-fit:contain}.sb-logo-text{color:var(--sb-text);font-family:Inter,sans-serif;font-size:18px;font-weight:800;letter-spacing:.5px}.sb-toggle{align-items:center;border-radius:6px;color:var(--sb-text-secondary);display:inline-flex;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.sb-toggle:hover{background:var(--sb-raised);color:var(--sb-text)}.sb-toggle .material-symbols-outlined{font-size:22px;font-variation-settings:"FILL" 0,"wght" 400}.sb-menu{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px 20px 12px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.sb-collapsed .sb-menu{overflow:visible;padding:4px 0 12px}.sb-menu::-webkit-scrollbar{width:6px}.sb-menu::-webkit-scrollbar-track{background:#0000}.sb-menu::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.sb-menu::-webkit-scrollbar-thumb:hover{background:#3f4550}.sb-section-label{align-items:center;color:var(--sb-text-muted);display:flex;font-size:12px;gap:8px;margin:16px 4px 10px;white-space:nowrap}.sb-section-label:after,.sb-section-label:before{background:var(--sb-border-strong);content:"";flex:1 1;height:1px}.sb-collapsed .sb-section-label{font-size:11px;gap:4px;justify-content:center;margin:14px 8px 8px}.sb-collapsed .sb-section-label:after,.sb-collapsed .sb-section-label:before{flex:0 0 6px}.sb-group{margin-bottom:4px;position:relative}.sb-group-head{align-items:center;border-radius:6px;color:var(--sb-text);display:flex;gap:12px;height:42px;padding:0 14px;text-align:left;transition:background .15s;width:100%}.sb-group-head:hover{background:#ffffff0a}.sb-group-head.active{background:var(--sb-raised)}.sb-icon{color:var(--sb-text);flex-shrink:0;font-size:20px}.sb-group-label{flex:1 1;font-size:14px;font-weight:500;letter-spacing:-.2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-chevron{color:var(--sb-text-secondary);flex-shrink:0;font-size:20px;font-variation-settings:"FILL" 0,"wght" 400}.sb-collapsed .sb-group{display:flex;justify-content:center;margin-bottom:8px}.sb-collapsed .sb-group-head{gap:0;height:40px;justify-content:center;padding:0;width:40px}.sb-sub{list-style:none;margin:4px 0 8px;padding:0 0 0 18px;position:relative}.sb-sub:before{background:var(--sb-border-strong);bottom:4px;content:"";left:23px;position:absolute;top:4px;width:1px}.sb-sub li{margin:4px 0;position:relative}.sb-sub-item{border:1px solid #0000;border-radius:6px;color:var(--sb-text-muted);display:block;font-size:13px;min-height:38px;overflow:hidden;padding:9px 12px 9px 18px;text-align:left;text-overflow:ellipsis;transition:color .15s,background .15s,border-color .15s;white-space:nowrap;width:100%}.sb-sub-item:hover{background:#ffffff08;color:var(--sb-text-secondary)}.sb-sub-item.active{background:var(--sb-card);border-color:var(--sb-raised);color:var(--sb-accent)}.sb-tooltip{animation:sbFadeIn .15s ease-out;background:var(--sb-card);border:1px solid var(--sb-border-strong);border-radius:8px;box-shadow:0 8px 24px #00000073;left:calc(100% + 8px);min-width:200px;padding:8px;position:absolute;top:0;z-index:10001}.sb-tooltip:before{content:"";height:100%;left:-10px;position:absolute;top:0;width:10px}.sb-tooltip-title{border-bottom:1px solid var(--sb-border);color:var(--sb-text);font-size:13px;font-weight:600;margin-bottom:4px;padding:6px 10px 8px;white-space:nowrap}.sb-tooltip-item{border-radius:4px;color:var(--sb-text-tertiary);display:block;font-size:13px;padding:8px 10px;text-align:left;white-space:nowrap;width:100%}.sb-tooltip-item:hover{background:var(--sb-raised);color:var(--sb-text)}.sb-tooltip-item.active{color:var(--sb-accent)}@keyframes sbFadeIn{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.sb-footer{border-top:1px solid var(--sb-border);flex-shrink:0;padding:10px 20px}.sb-user{align-items:center;border-radius:6px;color:var(--sb-text);display:flex;gap:12px;height:44px;padding:0 8px;text-align:left;width:100%}.sb-user:hover{background:#ffffff0a}.sb-collapsed .sb-user{gap:0;justify-content:center;padding:0}.sb-avatar{align-items:center;border-radius:50%;color:var(--sb-text);display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.sb-avatar,.sb-user.open{background:var(--sb-raised)}.sb-footer{position:relative}.sb-user-menu{animation:sbFadeIn .15s ease-out;background:var(--sb-card);border:1px solid var(--sb-border-strong);border-radius:8px;bottom:calc(100% - 4px);box-shadow:0 8px 24px #00000073;left:10px;min-width:180px;padding:6px;position:absolute;z-index:10001}.sb-collapsed .sb-user-menu{bottom:10px;left:52px}.sb-user-menu-item{align-items:center;border-radius:6px;color:var(--sb-text-secondary);display:flex;font-size:14px;gap:10px;padding:10px 12px;text-align:left;white-space:nowrap;width:100%}.sb-user-menu-item:hover{background:var(--sb-raised);color:var(--sb-text)}.sb-user-menu-item .material-symbols-outlined{font-size:20px;font-variation-settings:"FILL" 0,"wght" 400}.sb-user-menu-danger,.sb-user-menu-danger:hover{color:#f04438}.sb-user-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.sb-collapsed{display:none}.sb-expanded{box-shadow:4px 0 24px #00000080;width:240px}}.ai-fab,.ai-panel{--ai-bg:#111418;--ai-card:#1a1e24;--ai-raised:#2a313b;--ai-border:#ffffff14;--ai-border-strong:#c5d7e033;--ai-text:#fff;--ai-text-secondary:#c5d7e0;--ai-text-tertiary:#98a8bf;--ai-text-muted:#798699;--ai-accent:#83a6ff;--ai-accent-strong:#256ef4;--ai-error:#f04438;color:var(--ai-text);font-family:Inter,Pretendard,sans-serif}.ai-panel button,.ai-panel input{font-family:inherit}.ai-fab{align-items:center;background:var(--ai-accent-strong);border:none;border-radius:50%;bottom:24px;box-shadow:0 8px 24px #256ef473;color:#fff;cursor:pointer;display:flex;flex-direction:column;height:72px;justify-content:center;line-height:1.1;position:fixed;right:24px;width:72px;z-index:9990}.ai-fab:hover{filter:brightness(1.1)}.ai-fab-star{font-size:12px;left:14px;position:absolute;top:20px}.ai-fab-label{font-size:18px;font-weight:700;margin-left:10px}.ai-fab-sub{font-size:11px;opacity:.9}.ai-panel{animation:aiSlideIn .2s ease-out;background:var(--ai-bg);border-left:1px solid var(--ai-border);box-shadow:-8px 0 32px #00000080;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;height:100vh;max-width:100vw;padding:14px 20px 16px;position:fixed;right:0;top:0;width:460px;z-index:10002}.ai-head{display:flex;gap:10px}.ai-head,.ai-logo{align-items:center}.ai-logo{background:var(--ai-accent-strong);border-radius:50%;color:#fff;display:inline-flex;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.ai-title{flex:1 1;font-size:20px;font-weight:700;margin:0}.ai-link{background:none;border:none;color:var(--ai-accent);cursor:pointer;font-size:13px;padding:0;white-space:nowrap}.ai-link:hover{text-decoration:underline}.ai-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--ai-text-tertiary);cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.ai-icon-btn:hover{background:var(--ai-raised);color:var(--ai-text)}.ai-toolbar{align-items:center;display:flex;gap:8px}.ai-new-chat{align-items:center;background:#1a1e24;border:1px solid #83a6ff;border-radius:20px;color:#83a6ff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;height:40px;padding:0 14px;white-space:nowrap}.ai-new-chat:hover:not(:disabled){background:#83a6ff1f;color:#fff}.ai-new-chat:disabled{border-color:#c5d7e033;color:#798699;cursor:not-allowed}.ai-new-chat .material-symbols-outlined{font-size:18px}.ai-context{align-items:center;background:#83a6ff14;border:1px solid var(--ai-accent);border-radius:20px;display:flex;flex:1 1;font-size:13px;gap:8px;height:40px;min-width:0;padding:0 14px}.ai-context-dot{background:var(--ai-accent);border-radius:50%;flex-shrink:0;height:8px;width:8px}.ai-context-label{font-weight:600}.ai-context-label,.ai-context-value{color:var(--ai-text-secondary);white-space:nowrap}.ai-context-value{overflow:hidden;text-overflow:ellipsis}.ai-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding:6px 2px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.ai-messages::-webkit-scrollbar{width:6px}.ai-messages::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.ai-empty{color:var(--ai-text-tertiary);font-size:13px;padding:20px 0 6px;text-align:center}.ai-msg{border-radius:8px;font-size:14px;line-height:1.55;max-width:88%;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.ai-msg-user{align-self:flex-end;background:var(--ai-accent-strong);color:#fff}.ai-msg-assistant{align-self:flex-start;background:var(--ai-card);border:1px solid var(--ai-border);color:var(--ai-text)}.ai-msg-failed{border-color:var(--ai-error);color:var(--ai-text-secondary)}.ai-msg-busy{color:var(--ai-text-tertiary);font-style:italic}.ai-suggest{display:flex;flex-direction:column;gap:8px;margin-top:auto}.ai-suggest-title{color:var(--ai-text-tertiary);font-size:12px;margin-bottom:2px}.ai-suggest-item{align-items:center;background:var(--ai-card);border:1px solid var(--ai-border-strong);border-radius:6px;color:var(--ai-text);cursor:pointer;display:flex;font-size:14px;gap:10px;justify-content:space-between;min-height:44px;padding:0 14px;text-align:left}.ai-suggest-item:hover:not(:disabled){border-color:var(--ai-accent)}.ai-suggest-item:disabled{cursor:not-allowed;opacity:.5}.ai-suggest-item .material-symbols-outlined{color:var(--ai-text-tertiary);font-size:14px}.ai-input-row{display:flex;gap:8px}.ai-input{background:var(--ai-card);border:1px solid var(--ai-border-strong);border-radius:6px;color:var(--ai-text);flex:1 1;font-size:14px;height:48px;min-width:0;padding:0 14px}.ai-input::placeholder{color:var(--ai-text-muted)}.ai-input:focus{outline:1px solid var(--ai-accent)}.ai-send{background:var(--ai-accent-strong);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;height:48px;padding:0 20px}.ai-send:disabled{cursor:not-allowed;opacity:.5}@keyframes aiSlideIn{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@media (max-width:600px){.ai-panel{width:100vw}}.layout-container{--sidebar-w:60px;background:#1a1e24;font-family:Inter,sans-serif;height:100%;position:relative;width:100%}.layout-container.sidebar-open{--sidebar-w:240px}.layout-container>.main-content{-ms-overflow-style:none;background:#1a1e24;height:calc(100% - 60px);left:var(--sidebar-w);overflow:auto;position:absolute;scrollbar-width:none;top:60px;transition:all .3s ease;width:calc(100% - var(--sidebar-w))}.main-content.fullscreen-mode{height:100%!important;inset:0!important;margin:0!important;padding:0!important;position:absolute!important;width:100%!important;z-index:1000}.layout-container:-moz-full-screen,.layout-container:-ms-fullscreen,.layout-container:-webkit-full-screen,.layout-container:fullscreen{background:#1a1e24;height:100vh!important;margin:0!important;max-height:100vh!important;max-width:100vw!important;overflow:hidden!important;padding:0!important;width:100vw!important}.layout-container:-moz-full-screen .main-content,.layout-container:-ms-fullscreen .main-content,.layout-container:-webkit-full-screen .main-content,.layout-container:fullscreen .main-content{height:100%!important;inset:0!important;margin:0!important;padding:0!important;position:absolute!important;width:100%!important}.fullscreen-exit-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181c14f2;border:1px solid #3b82f6;border-radius:0 0 12px 12px;border-top:none;box-shadow:0 4px 12px #00000080;cursor:pointer;display:flex;height:56px;justify-content:center;left:50%;position:fixed;top:0;transform:translateX(-50%) translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:56px;z-index:10000}.fullscreen-exit-btn:before{background:#0000;content:"";height:80px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:200px}.fullscreen-exit-btn:hover{background:#181c14;border-color:#60a5fa;box-shadow:0 6px 16px #3b82f666;transform:translateX(-50%) translateY(0)}.fullscreen-exit-btn .material-symbols-outlined{color:#cad2e0;font-size:32px}.main-content.hide-cursor,.main-content.hide-cursor *{cursor:none!important}.main-content::-webkit-scrollbar{display:none}@media (max-width:768px){.layout-container,.layout-container.sidebar-open{--sidebar-w:0px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;overflow:hidden}.home-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;border-radius:4px;cursor:pointer;display:flex;left:18px;padding:6px 12px;position:absolute;top:17px;transition:all .2s;z-index:2}.home-header:hover{background-color:#2a2f38;border-color:#3b82f6}.home-title{color:#fff;font-size:12px;font-weight:500}.background-image{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.factory-marker{align-items:center;cursor:pointer;display:flex;flex-direction:column;position:absolute;transition:all .3s ease;z-index:3}.factory-marker:hover .factory-marker-content{box-shadow:0 8px 16px #3b82f666;transform:translateY(-5px)}.factory-marker-content{align-items:center;background:linear-gradient(135deg,#21252b,#2a2f38);border:2px solid #5a6d8d;border-radius:8px;box-shadow:0 4px 12px #00000080;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all .3s ease}.factory-info-left{align-items:center;display:flex;flex-direction:column}.factory-marker-name{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-marker-location,.factory-marker-name{font-family:Inter;font-style:normal;text-align:center}.factory-marker-location{color:#9ca3af;font-size:13px;font-weight:500}.factory-divider{background:linear-gradient(180deg,#0000 0,#5a6d8d 20%,#5a6d8d 80%,#0000);height:50px;opacity:.5;width:1px}.machine-status-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.status-item{align-items:center;background:#3741514d;border:1px solid #5a6d8d;border-radius:4px;display:flex;flex-direction:column;justify-content:center;min-width:60px;padding:8px 12px}.status-label{color:#9ca3af;font-size:10px;margin-bottom:4px;white-space:nowrap}.status-value{color:#fff;font-size:16px;font-weight:700}.status-item.status-total .status-value{color:#60a5fa}.status-item.status-running .status-value{color:#22c55e}.status-item.status-idle .status-value{color:#fbbf24}.status-item.status-stopped .status-value{color:#ef4444}.factory-marker-arrow{align-items:center;display:flex;flex-direction:column}.factory-marker-dot{animation:pulse 2s infinite;background:#5a6d8d;border:2px solid #fff;border-radius:50%;box-shadow:0 0 12px #5a6d8dcc;height:12px;width:12px}.factory-1{left:387px;top:321px}.factory-2{left:1150px;top:455px}.factory-3{left:1480px;top:152px}.factory-4{left:850px;top:250px}@media (max-width:1920px){.factory-1{left:20%;top:35%}.factory-2{left:60%;top:50%}.factory-3{left:77%;top:17%}.factory-4{left:45%;top:15%}}@media (max-width:1366px){.factory-marker-name{font-size:20px}.factory-marker-location{font-size:12px}}@media (max-width:768px){.factory-marker-name{font-size:16px}.factory-marker-location{font-size:10px}.factory-marker-content{padding:8px 16px}}.ftm-overlay{align-items:center;background:#0000008c;display:flex;font-family:Inter,Pretendard,sans-serif;inset:0;justify-content:center;position:fixed;z-index:10003}.ftm-modal{background:#111418;border:1px solid #c5d7e033;border-radius:8px;box-shadow:0 16px 48px #0000008c;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 64px);max-width:calc(100vw - 32px);padding:18px 20px;width:520px}.ftm-modal button,.ftm-modal input{font-family:inherit}.ftm-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.ftm-title{font-size:18px;font-weight:700;margin:0}.ftm-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:#98a8bf;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.ftm-icon-btn:hover{background:#2a313b;color:#fff}.ftm-hint{color:#98a8bf;line-height:1.5}.ftm-hint,.ftm-warn{font-size:13px;margin:0}.ftm-warn{border:1px solid #fdb022;border-radius:4px;color:#fdb022;padding:8px 12px}.ftm-list{display:flex;flex-direction:column;gap:6px;min-height:0;overflow-y:auto}.ftm-row{grid-gap:12px;align-items:center;background:#1a1e24;border-radius:6px;display:grid;gap:12px;grid-template-columns:minmax(0,1.4fr) 90px 170px;padding:8px 12px}.ftm-row-head{background:none;color:#798699;font-size:12px;padding:0 12px}.ftm-row-head span:nth-child(2),.ftm-today{text-align:right}.ftm-name{align-items:center;display:inline-flex;font-size:15px;font-weight:500;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftm-flag{display:inline-flex;flex-shrink:0}.ftm-flag-none .material-symbols-outlined{color:#98a8bf;font-size:18px}.ftm-today{font-feature-settings:"tnum";color:#c5d7e0;font-size:14px;font-variant-numeric:tabular-nums}.ftm-input-wrap{align-items:center;display:inline-flex;gap:6px}.ftm-input-wrap small{color:#98a8bf;font-size:12px}.ftm-input{font-feature-settings:"tnum";background:#111418;border:1px solid #c5d7e033;border-radius:4px;box-sizing:border-box;color:#fff;font-size:15px;font-variant-numeric:tabular-nums;height:36px;padding:0 10px;text-align:right;width:100%}.ftm-input:focus{outline:1px solid #83a6ff}.ftm-input.invalid{border-color:#f04438}.ftm-input:disabled{opacity:.6}.ftm-input::placeholder{color:#798699}.ftm-total{align-items:baseline;border-top:1px solid #ffffff14;color:#c5d7e0;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px}.ftm-total b{font-feature-settings:"tnum";color:#fff;font-size:22px;font-variant-numeric:tabular-nums;font-weight:600}.ftm-total b small{color:#98a8bf;font-size:12px;font-weight:400;margin-left:4px}.ftm-error{color:#f04438;font-size:13px;margin:0}.ftm-foot{display:flex;gap:8px;justify-content:flex-end}.ftm-btn{border-radius:4px;cursor:pointer;font-size:14px;height:40px;min-width:96px;padding:0 16px}.ftm-btn:disabled{cursor:not-allowed;opacity:.5}.ftm-btn-outline{background:#0000;border:1px solid #c5d7e033;color:#fff}.ftm-btn-outline:hover:not(:disabled){border-color:#83a6ff}.ftm-btn-primary{background:#256ef4;border:1px solid #256ef4;color:#fff}.ftm-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.data-table{font-size:14px;margin-bottom:16px}.data-table th{background:#1a1f2e;border-bottom:2px solid #30363d;color:#7d8590;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #2d3339;color:#c9d1d9;padding:12px 16px}.data-table tbody tr:hover{background:#3b82f614}.data-table tbody tr:last-child td{border-bottom:none}.daily-report-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.daily-report-modal-content{background-color:#fff;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;position:relative;width:100%}.report-error,.report-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:80px 40px}.report-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#1f2937;height:40px;margin-bottom:20px;width:40px}.report-loading p{color:#374151;font-size:14px}.report-error p{color:#dc2626;font-size:15px;margin-bottom:20px}.report-error button{background:#1f2937;border:none;color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin:0 6px;padding:10px 24px}.report-error button:hover{background:#374151}.report-header{background:#fff;border-bottom:3px double #1f2937;padding:50px 60px 40px;position:relative}.report-header .close-btn{align-items:center;background:#0000;border:1px solid #d1d5db;color:#6b7280;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:36px}.report-header .close-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.report-title-section{margin-bottom:35px;text-align:center}.report-main-title{color:#111827;font-family:Noto Sans KR,sans-serif;font-size:36px;font-weight:700;letter-spacing:8px;margin:0 0 10px}.report-subtitle{color:#6b7280;font-size:14px;letter-spacing:1px;text-transform:uppercase}.report-info-table{margin:0 auto;max-width:800px}.report-info-table table{border:2px solid #1f2937;border-collapse:collapse;width:100%}.report-info-table th{background:#f3f4f6;color:#1f2937;font-weight:600;text-align:left;width:20%}.report-info-table td,.report-info-table th{border:1px solid #d1d5db;font-size:13px;padding:12px 20px}.report-info-table td{color:#374151;width:30%}.report-body{background:#fff;flex:1 1;overflow-y:auto;padding:40px 60px 50px}.report-body::-webkit-scrollbar{width:8px}.report-body::-webkit-scrollbar-track{background:#f3f4f6}.report-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.report-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.report-section{margin-bottom:40px}.section-number{border-bottom:2px solid #1f2937;color:#111827;font-size:18px;font-weight:700;margin:0 0 20px;padding:10px 0}.data-table{border:2px solid #1f2937;border-collapse:collapse;margin-bottom:10px;width:100%}.data-table thead th{background:#1f2937;border:1px solid #374151;color:#fff;font-size:13px;font-weight:600;padding:14px 16px;text-align:center}.data-table tbody td{border:1px solid #d1d5db;color:#374151;font-size:13px;padding:12px 16px}.data-table tbody td:first-child{background:#f9fafb;font-weight:500}.data-table .value-cell{background:#fff!important;color:#111827;font-size:14px;font-weight:600;text-align:right}.data-table tbody td:nth-child(3),.data-table tbody td:nth-child(4){color:#6b7280;text-align:center}.highlight-row.success td:first-child{border-left:3px solid #059669}.highlight-row.warning td:first-child{border-left:3px solid #d97706}.highlight-row.danger td:first-child{border-left:3px solid #dc2626}.summary-row,.summary-row td{background:#f3f4f6!important;font-weight:600}.summary-row td{color:#111827}.oee-table .progress-cell{background:#fff!important;padding:8px 16px}.progress-bar{background:#e5e7eb;border:1px solid #d1d5db;border-radius:4px;height:24px;overflow:hidden;width:100%}.progress-fill{align-items:center;color:#fff;display:flex;font-size:11px;font-weight:600;height:100%;justify-content:center;transition:width .6s ease}.progress-fill.availability{background:#059669}.progress-fill.performance{background:#2563eb}.progress-fill.quality{background:#d97706}.progress-fill.oee{background:#1f2937}.oee-total{border-top:2px solid #1f2937}.oee-total,.oee-total td{background:#eef2ff!important}.oee-formula{background:#f9fafb;border-left:3px solid #1f2937;margin-top:12px;padding:12px 16px}.oee-formula p{color:#6b7280;font-size:12px;font-weight:500;margin:0}.ai-summary-box{background:#f9fafb;border:2px solid #d1d5db;border-radius:4px;line-height:1.8;padding:24px 28px}.ai-summary-box p{color:#374151;font-size:14px;margin:0 0 14px}.ai-summary-box p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:#1f2937;font-weight:700;margin:20px 0 12px}.markdown-content h1{font-size:20px}.markdown-content h2{font-size:18px}.markdown-content h3{font-size:16px}.markdown-content h4{font-size:14px}.markdown-content p{color:#374151;line-height:1.7;margin:8px 0}.markdown-content ol,.markdown-content ul{color:#374151;margin:8px 0;padding-left:24px}.markdown-content li{line-height:1.6;margin:4px 0}.markdown-content strong{color:#1f2937;font-weight:700}.markdown-content blockquote{background:#f3f4f6;border-left:4px solid #9ca3af;color:#4b5563;margin:12px 0;padding:12px 16px}.markdown-content hr{border:none;border-top:2px solid #e5e7eb;margin:20px 0}.markdown-content table{background:#fff;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;font-size:13px;margin:16px 0;width:100%}.markdown-content table thead{background:#f3f4f6}.markdown-content table th{background:#f9fafb;border:1px solid #d1d5db;color:#1f2937;font-weight:700;padding:12px 16px;text-align:left}.markdown-content table td{border:1px solid #e5e7eb;color:#374151;padding:10px 16px}.markdown-content table tbody tr:nth-child(2n){background:#f9fafb}.markdown-content table tbody tr:hover{background:#f3f4f6}.markdown-content table strong{color:#dc2626;font-weight:700}.report-footer{align-items:center;border-top:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:40px;padding-top:30px}.footer-actions{display:flex;gap:12px}.pdf-btn{align-items:center;background:#1f2937;border:none;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.pdf-btn:hover{background:#111418}.pdf-btn:disabled{cursor:not-allowed;opacity:.7}.pdf-btn span{font-size:16px}.pdf-loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.footer-info p{color:#9ca3af;font-size:12px;font-style:italic;margin:0}@media (max-width:768px){.daily-report-modal-overlay{padding:10px}.daily-report-modal-content{max-height:95vh}.report-header{padding:40px 30px 30px}.report-main-title{font-size:28px;letter-spacing:6px}.report-body{padding:30px 25px 40px}.data-table tbody td,.data-table thead th,.report-info-table td,.report-info-table th{font-size:12px;padding:10px 12px}.section-number{font-size:16px}.report-footer{align-items:flex-start;flex-direction:column;gap:16px}.progress-bar{height:20px}}@media print{.daily-report-modal-overlay{background:#fff;position:static}.daily-report-modal-content{box-shadow:none;max-height:none}.close-btn,.pdf-btn{display:none!important}.report-body{overflow-y:visible}}.fph-header{align-items:center;background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;color:#fff;display:flex;flex-shrink:0;gap:16px;height:64px;justify-content:space-between;padding:0 16px}.fph-header button{cursor:pointer;font-family:inherit}.fph-breadcrumb{align-items:center;display:flex;font-size:16px;gap:10px;min-width:0}.fph-icon{color:#c5d7e0;font-size:22px}.fph-root{color:#c5d7e0;white-space:nowrap}.fph-sep{color:#798699;font-size:20px}.fph-page{color:#fff;white-space:nowrap}.fph-select{position:relative}.fph-trigger{align-items:center;background:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;color:#fff;display:flex;font-size:16px;gap:24px;height:40px;justify-content:space-between;min-width:260px;padding:0 12px 0 14px}.fph-trigger:hover{border-color:#c5d7e059}.fph-trigger .material-symbols-outlined{color:#98a8bf;font-size:22px}.fph-menu{background:#1a1e24;border:1px solid #c5d7e033;border-radius:6px;box-shadow:0 10px 30px #00000080;left:0;min-width:100%;overflow:hidden;position:absolute;top:calc(100% + 6px);z-index:50}.fph-item{align-items:flex-start;background:none;border:none;border-bottom:1px solid #ffffff0f;color:#fff;display:flex;flex-direction:column;gap:2px;padding:10px 14px;text-align:left;width:100%}.fph-item:last-child{border-bottom:none}.fph-item.active,.fph-item:hover{background:#2a313b}.fph-item.active .fph-item-name{color:#83a6ff}.fph-item-name{font-size:15px}.fph-item-sub{color:#98a8bf;font-size:12px}.fph-right{align-items:center;display:flex;flex-shrink:0;gap:12px}.fph-time{font-feature-settings:"tnum";color:#c5d7e0;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.fph-refresh{align-items:center;background:none;border:none;border-radius:6px;color:#c5d7e0;display:inline-flex;height:36px;justify-content:center;width:36px}.fph-refresh:hover{background:#2a313b;color:#fff}.fph-refresh .material-symbols-outlined{font-size:24px}.fph-right.refreshing .fph-refresh .material-symbols-outlined{animation:fphSpin 1s linear infinite}@keyframes fphSpin{to{transform:rotate(1turn)}}@media (max-width:900px){.fph-trigger{min-width:160px}.fph-time{display:none}}.en-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.en-page button{cursor:pointer;font-family:inherit}.en-header{background:#111418;border:1px solid #ffffff14;border-radius:8px;flex-shrink:0;gap:16px;height:56px;justify-content:space-between;padding:0 16px}.en-crumb,.en-header{align-items:center;display:flex}.en-crumb{font-size:16px;gap:10px}.en-crumb-icon{color:#c5d7e0;font-size:22px}.en-crumb-root{color:#c5d7e0}.en-crumb-sep{color:#798699;font-size:20px}.en-crumb-page{color:#fff}.en-header-right{align-items:center;display:flex;gap:12px}.en-reports{display:inline-flex;gap:6px}.en-reports button{background:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;color:#c5d7e0;font-size:13px;height:32px;padding:0 12px}.en-reports button:hover{border-color:#83a6ff;color:#fff}.en-time{font-feature-settings:"tnum";color:#c5d7e0;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.en-icon-btn,.en-refresh{align-items:center;background:none;border:none;border-radius:6px;color:#c5d7e0;display:inline-flex;height:34px;justify-content:center;width:34px}.en-icon-btn:hover,.en-refresh:hover{background:#2a313b;color:#fff}.en-icon-btn .material-symbols-outlined{font-size:20px}.en-header-right.refreshing .en-refresh .material-symbols-outlined{animation:enSpin 1s linear infinite}@keyframes enSpin{to{transform:rotate(1turn)}}.en-error{align-items:center;background:#f044381f;border:1px solid #f04438;border-radius:6px;color:#f04438;display:flex;font-size:14px;gap:12px;padding:10px 16px}.en-error button{background:#f04438;border:none;border-radius:4px;color:#fff;height:30px;padding:0 12px}.en-kpis{grid-gap:8px;display:grid;flex-shrink:0;gap:8px;grid-template-columns:repeat(8,minmax(0,1fr))}.en-kpi{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 14px}.en-kpi-bad{border-color:#f04438}.en-kpi-warn{border-color:#fdb022}.en-kpi-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.en-kpi-label{color:#c5d7e0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.en-kpi-value{font-feature-settings:"tnum";color:#fff;font-size:28px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.15;white-space:nowrap}.en-kpi-value small{color:#c5d7e0;font-size:13px;font-weight:400;margin-left:4px}.en-kpi-sub{color:#98a8bf;overflow:hidden;text-overflow:ellipsis}.en-badge,.en-kpi-sub{font-size:12px;white-space:nowrap}.en-badge{align-items:center;border:1px solid;border-radius:4px;display:inline-flex;flex-shrink:0;height:22px;padding:0 8px}.en-badge-good{color:#47cd89}.en-badge-warn{color:#fdb022}.en-badge-bad{color:#f04438}.en-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0;padding:14px 16px}.en-panel-head{align-items:center;display:flex;flex-shrink:0;gap:12px;justify-content:space-between}.en-panel-title{color:#fff;font-size:17px;font-weight:700;margin:0;white-space:nowrap}.en-panel-title small{color:#98a8bf;font-size:13px;font-weight:400;margin-left:4px}.en-link{background:none;border:none;color:#c5d7e0;font-size:13px;padding:0;white-space:nowrap}.en-link:hover{color:#83a6ff}.en-empty{align-items:center;color:#98a8bf;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:80px}.en-scroll{flex:1 1;min-height:0;overflow-y:auto;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.en-page::-webkit-scrollbar,.en-scroll::-webkit-scrollbar{width:6px}.en-page::-webkit-scrollbar-thumb,.en-scroll::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.en-legend{align-items:center;color:#c5d7e0;display:inline-flex;flex-wrap:wrap;font-size:12px;gap:12px}.en-legend button,.en-legend span{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.en-legend i{border-radius:2px;display:inline-block;height:10px;width:10px}.en-legend-toggle button{background:none;border:none;color:#798699;font-size:12px;padding:0}.en-legend-toggle button i{opacity:.35}.en-legend-toggle button.on{color:#c5d7e0}.en-legend-toggle button.on i{opacity:1}.en-charts{grid-gap:8px;display:grid;flex:1 0 260px;gap:8px;grid-template-columns:minmax(0,3fr) minmax(0,2fr);min-height:260px}.en-chart{flex:1 1;min-height:180px}.en-bottom{grid-gap:8px;display:grid;flex:1.2 0 330px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));min-height:330px}.en-factories{gap:8px;padding-right:2px}.en-factories,.en-factory{display:flex;flex-direction:column}.en-factory{background:#1a1e24;border:1px solid #ffffff14;border-radius:6px;color:#fff;gap:10px;padding:12px 14px;text-align:left}.en-factory:hover{border-color:#c5d7e059}.en-factory.en-collect-lost{border-color:#f04438}.en-factory-head{align-items:center;display:flex;gap:8px;min-width:0}.en-flag{display:inline-flex;flex-shrink:0}.en-flag-none .material-symbols-outlined{color:#98a8bf;font-size:20px}.en-factory-name{font-size:16px;font-weight:700;white-space:nowrap}.en-factory-en{color:#98a8bf;font-size:13px}.en-chip{align-items:center;background:#83a6ff26;border-radius:10px;color:#83a6ff;display:inline-flex;font-size:11px;gap:4px;height:20px;padding:0 8px}.en-chip i{background:#83a6ff;border-radius:50%;height:5px;width:5px}.en-collect{border:1px solid;border-radius:4px;font-size:12px;height:22px;line-height:20px;margin-left:auto;padding:0 8px;white-space:nowrap}.en-collect-badge-ok{color:#47cd89}.en-collect-badge-partial{color:#fdb022}.en-collect-badge-lost{color:#f04438}.en-collect-badge-none{color:#798699}.en-factory-metrics{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1.3fr 1.3fr 1fr 1fr 1fr;text-align:center}.en-factory-metrics div{display:flex;flex-direction:column;gap:4px;min-width:0}.en-factory-metrics span{color:#c5d7e0;font-size:13px}.en-factory-metrics b{font-feature-settings:"tnum";font-size:22px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.en-factory-metrics b small{color:#c5d7e0;font-size:12px;font-weight:400;margin-left:2px}.en-factory-foot{display:flex;font-size:13px;gap:16px}.en-sev-critical{color:#f04438}.en-sev-warning{color:#fdb022}.en-alarm-tiles{grid-gap:8px;display:grid;flex-shrink:0;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.en-tile{align-items:center;border:1px solid;border-radius:4px;display:flex;flex-direction:column;gap:2px;padding:8px 6px}.en-tile span{color:#c5d7e0;font-size:13px}.en-tile b{font-feature-settings:"tnum";font-size:26px;font-variant-numeric:tabular-nums;font-weight:600}.en-tile-critical{background:#f044381a;border-color:#f04438}.en-tile-warning{background:#fdb02214;border-color:#fdb022}.en-tile-info{background:#83a6ff14;border-color:#83a6ff}.en-alarms{gap:8px;padding-right:2px}.en-alarm,.en-alarms{display:flex;flex-direction:column}.en-alarm{background:#1a1e24;border:1px solid #ffffff14;border-left-width:4px;border-radius:4px;color:#fff;gap:6px;padding:10px 14px;text-align:left}.en-alarm-critical{background:#f044381a;border-color:#f0443880 #f0443880 #f0443880 #f04438}.en-alarm-warning{background:#fdb02212;border-color:#fdb02266 #fdb02266 #fdb02266 #fdb022}.en-alarm-info{border-left-color:#83a6ff}.en-alarm:hover{filter:brightness(1.15)}.en-alarm-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.en-alarm-title{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.en-alarm-critical .en-alarm-title{color:#f04438}.en-alarm-warning .en-alarm-title{color:#fdb022}.en-alarm-time{color:#98a8bf;font-size:12px;white-space:nowrap}.en-alarm-msg{color:#c5d7e0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.en-target{align-items:center;display:flex;flex-shrink:0;gap:16px}.en-ring{flex-shrink:0;height:128px;position:relative;width:128px}.en-ring-track{fill:none;stroke:#2a313b;stroke-width:10}.en-ring-fill{fill:none;stroke:#47cd89;stroke-width:10;stroke-linecap:round;transition:stroke-dasharray .4s ease}.en-ring-text{align-items:center;display:flex;flex-direction:column;gap:2px;inset:0;justify-content:center;position:absolute}.en-ring-text b{font-feature-settings:"tnum";font-size:28px;font-variant-numeric:tabular-nums;font-weight:700}.en-ring-text b small{color:#c5d7e0;font-size:13px;font-weight:400;margin-left:2px}.en-ring-text span{color:#98a8bf;font-size:12px}.en-target-rows{background:#1a1e24;border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:10px;margin:0;padding:12px 16px}.en-target-rows div{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.en-target-rows dt{color:#c5d7e0;font-size:13px}.en-target-rows dd{font-feature-settings:"tnum";font-size:20px;font-variant-numeric:tabular-nums;font-weight:500;margin:0;white-space:nowrap}.en-eta{align-items:baseline;display:flex;flex-shrink:0;gap:8px;justify-content:space-between}.en-eta span{color:#c5d7e0;font-size:13px}.en-eta b{font-size:20px;font-weight:600}.en-tag{border:1px solid #798699;border-radius:3px;color:#98a8bf;font-size:11px;font-style:normal;margin-left:4px;padding:0 6px}.en-progress-list{display:flex;flex-direction:column;gap:10px}.en-progress-name{align-items:baseline;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:space-between;margin-bottom:6px}.en-progress-goal{font-feature-settings:"tnum";color:#98a8bf;font-size:12px;font-variant-numeric:tabular-nums;font-weight:400;white-space:nowrap}.en-progress-track i.done{background:#83a6ff}.en-progress-row{align-items:center;display:flex;gap:12px}.en-progress-track{background:#2a313b;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.en-progress-track i{background:#47cd89;border-radius:4px;display:block;height:100%;transition:width .4s ease}.en-progress-pct{font-feature-settings:"tnum";color:#c5d7e0;font-size:13px;font-variant-numeric:tabular-nums;text-align:right;width:40px}.en-note{color:#798699;font-size:11px;margin:0}@media (max-width:1600px){.en-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1200px){.en-bottom,.en-charts{grid-template-columns:minmax(0,1fr)}.en-reports{display:none}}.mmc-card{background:#1a1e24;border:1px solid #0000;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:flex-end;overflow:hidden;padding:14px 20px 16px;position:relative;text-align:left;transition:border-color .15s,background .15s}.mmc-card:hover{background:#1f242b;border-color:#c5d7e059}.mmc-alarm,.mmc-alarm:hover{border-color:#f04438}.mmc-no{font-feature-settings:"tnum";color:#2a313b;font-size:64px;font-variant-numeric:tabular-nums;font-weight:800;left:8px;letter-spacing:-1px;line-height:1;pointer-events:none;position:absolute;top:-6px;-webkit-user-select:none;user-select:none}.mmc-alarm .mmc-no{color:#f044388c}.mmc-icons{align-items:center;display:inline-flex;gap:8px;position:absolute;right:18px;top:18px}.mmc-status-icon{color:#798699;font-size:28px;font-variation-settings:"FILL" 0,"wght" 300}.mmc-status-running .mmc-status-icon{color:#98a8bf}.mmc-status-idle .mmc-status-icon{color:#fdb022}.mmc-status-stopped .mmc-status-icon{color:#798699}.mmc-alarm .mmc-status-icon{color:#f04438}.mmc-badge{align-items:center;background:#f04438;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 5px}.mmc-row{align-items:baseline;display:flex;gap:10px;justify-content:space-between;position:relative}.mmc-label{color:#c5d7e0;font-size:15px;white-space:nowrap}.mmc-value{font-feature-settings:"tnum";color:#fff;font-size:22px;font-variant-numeric:tabular-nums;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mmc-spec{border-top:1px solid #ffffff0f;gap:18px;justify-content:flex-start;padding-top:8px}.mmc-spec-item{align-items:baseline;display:inline-flex;gap:8px;min-width:0}.mmc-spec-label{color:#98a8bf;font-size:13px;font-weight:600;letter-spacing:.3px}.mmc-spec-value{font-feature-settings:"tnum";color:#fff;font-size:17px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.efo-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.efo-page::-webkit-scrollbar{width:8px}.efo-page::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:4px}.efo-page button{cursor:pointer;font-family:inherit}.efo-header{background:#111418;border:1px solid #ffffff14;border-radius:8px;flex-shrink:0;gap:16px;height:56px;justify-content:space-between;padding:0 16px}.efo-crumb,.efo-header{align-items:center;display:flex}.efo-crumb{font-size:16px;gap:10px}.efo-crumb-icon{color:#c5d7e0;font-size:22px}.efo-crumb-root{color:#c5d7e0}.efo-crumb-sep{color:#798699;font-size:20px}.efo-header-right{align-items:center;display:flex;gap:12px}.efo-time{font-feature-settings:"tnum";color:#c5d7e0;font-size:16px;font-variant-numeric:tabular-nums}.efo-refresh{align-items:center;background:none;border:none;border-radius:6px;color:#c5d7e0;display:inline-flex;height:34px;justify-content:center;width:34px}.efo-refresh:hover{background:#2a313b;color:#fff}.efo-header-right.refreshing .efo-refresh .material-symbols-outlined{animation:efoSpin 1s linear infinite}@keyframes efoSpin{to{transform:rotate(1turn)}}.efo-error{align-items:center;background:#f044381f;border:1px solid #f04438;border-radius:6px;color:#f04438;display:flex;font-size:14px;gap:12px;padding:10px 16px}.efo-error button{background:#f04438;border:none;border-radius:4px;color:#fff;height:30px;padding:0 12px}.efo-message{color:#98a8bf;min-height:200px}.efo-empty,.efo-message{align-items:center;display:flex;font-size:15px;justify-content:center}.efo-empty{color:#c5d7e0;flex:1 1;min-height:120px}.efo-kpis{grid-gap:8px;display:grid;flex-shrink:0;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.efo-kpi{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 16px}.efo-kpi-head{align-items:center;color:#c5d7e0;display:flex;font-size:15px;gap:8px;justify-content:space-between}.efo-kpi-value{font-feature-settings:"tnum";font-size:34px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.1}.efo-kpi-value small{color:#c5d7e0;font-size:15px;font-weight:400;margin-left:6px}.efo-kpi-sub{color:#98a8bf;overflow:hidden;text-overflow:ellipsis}.efo-badge,.efo-kpi-sub{font-size:13px;white-space:nowrap}.efo-badge{align-items:center;border:1px solid;border-radius:4px;display:inline-flex;height:26px;padding:0 10px}.efo-badge-good{color:#47cd89}.efo-badge-warn{color:#fdb022}.efo-badge-bad{color:#f04438}.efo-factory{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:grid;flex-shrink:0;grid-template-columns:380px minmax(0,1fr) minmax(0,.62fr);height:420px;min-height:400px;overflow:hidden}.efo-factory>div{display:flex;flex-direction:column;gap:14px;min-height:0;min-width:0;padding:16px 18px}.efo-factory>div+div{border-left:1px solid #ffffff0f}.efo-col-title{color:#fff;font-size:18px;font-weight:700;margin:0}.efo-summary-head{align-items:center;background:none;border:none;color:#fff;display:flex;gap:8px;padding:0;text-align:left}.efo-summary-head:hover .efo-factory-name{color:#83a6ff}.efo-flag{display:inline-flex;flex-shrink:0}.efo-flag-none .material-symbols-outlined{color:#98a8bf;font-size:22px}.efo-factory-name{font-size:18px;font-weight:700;white-space:nowrap}.efo-factory-en{color:#c5d7e0;font-size:16px}.efo-chip{align-items:center;background:#83a6ff26;border-radius:12px;color:#83a6ff;display:inline-flex;font-size:13px;gap:5px;height:24px;padding:0 10px}.efo-chip i{background:#83a6ff;border-radius:50%;height:5px;width:5px}.efo-state{border:1px solid;border-radius:4px;font-size:13px;height:26px;line-height:24px;margin-left:auto;padding:0 10px;white-space:nowrap}.efo-state-running{color:#47cd89}.efo-state-partial{color:#fdb022}.efo-state-stopped{color:#f04438}.efo-state-none{color:#798699}.efo-ring-row{align-items:center;display:flex;flex:1 1;gap:28px;justify-content:center;min-height:0}.efo-ring{flex-shrink:0;height:168px;position:relative;width:168px}.efo-ring-track{stroke:#2a313b}.efo-ring-seg,.efo-ring-track{fill:none;stroke-width:9}.efo-ring-run{stroke:#47cd89}.efo-ring-idle{stroke:#fdb022}.efo-ring-stop{stroke:#798699}.efo-ring-text{align-items:center;display:flex;flex-direction:column;gap:2px;inset:0;justify-content:center;position:absolute}.efo-ring-text b{font-feature-settings:"tnum";font-size:34px;font-variant-numeric:tabular-nums;font-weight:700}.efo-ring-text b small{color:#c5d7e0;font-size:15px;font-weight:400;margin-left:3px}.efo-ring-text span{color:#c5d7e0;font-size:14px}.efo-ring-legend{color:#c5d7e0;display:flex;flex-direction:column;font-size:15px;gap:14px;list-style:none;margin:0;padding:0}.efo-ring-legend li{align-items:center;display:flex;gap:6px;white-space:nowrap}.efo-ring-legend i{border-radius:2px;height:12px;width:12px}.efo-ring-legend i.run{background:#47cd89}.efo-ring-legend i.idle{background:#fdb022}.efo-ring-legend i.stop{background:#798699}.efo-summary-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}.efo-summary-stats div{display:flex;flex-direction:column;gap:6px}.efo-summary-stats span{color:#c5d7e0;font-size:15px}.efo-summary-stats b{font-feature-settings:"tnum";font-size:30px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.efo-summary-stats b small{color:#c5d7e0;font-size:14px;font-weight:400;margin-left:3px}.efo-machine-grid{grid-gap:12px;display:grid;flex:1 1;gap:12px;grid-auto-rows:182px;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;overflow-y:auto;padding-right:4px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.efo-alarm-list::-webkit-scrollbar,.efo-machine-grid::-webkit-scrollbar{width:6px}.efo-alarm-list::-webkit-scrollbar-thumb,.efo-machine-grid::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:3px}.efo-alarm-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.efo-filters{display:inline-flex;gap:8px}.efo-filter{background:#0000;border:1px solid;border-radius:4px;font-size:15px;height:36px;padding:0 14px;white-space:nowrap}.efo-filter b{font-weight:500;margin-left:6px}.efo-filter-all{border-color:#c5d7e059;color:#fff}.efo-filter-error{border-color:#f0443899;color:#f04438}.efo-filter-warning{border-color:#fdb02299;color:#fdb022}.efo-filter.on{background:#ffffff0f}.efo-filter-all.on{border-color:#fff}.efo-filter-error.on{background:#f044381f;border-color:#f04438}.efo-filter-warning.on{background:#fdb0221a;border-color:#fdb022}.efo-alarm-list{flex:1 1;gap:10px;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.efo-alarm,.efo-alarm-list{display:flex;flex-direction:column}.efo-alarm{background:#1a1e24;border:1px solid #ffffff14;border-left-width:4px;border-radius:4px;color:#fff;flex-shrink:0;gap:8px;padding:14px 18px;text-align:left}.efo-alarm:hover{filter:brightness(1.15)}.efo-alarm-error{background:#f044381f;border-color:#f044388c #f044388c #f044388c #f04438}.efo-alarm-warning{background:#fdb02214;border-color:#fdb02273 #fdb02273 #fdb02273 #fdb022}.efo-alarm-info{border-left-color:#83a6ff}.efo-alarm-top{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.efo-alarm-equip{font-size:20px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efo-alarm-error .efo-alarm-equip{color:#f04438}.efo-alarm-warning .efo-alarm-equip{color:#fdb022}.efo-alarm-meta{color:#c5d7e0;font-size:13px;white-space:nowrap}.efo-alarm-msg{color:#fff;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1500px){.efo-factory{grid-template-columns:340px minmax(0,1fr);height:auto}.efo-factory>.efo-alarms{border-left:none;border-top:1px solid #ffffff0f;grid-column:1/-1;max-height:360px}.efo-machine-grid{max-height:420px}}@media (max-width:1000px){.efo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.efo-factory{grid-template-columns:minmax(0,1fr)}.efo-factory>div+div{border-left:none;border-top:1px solid #ffffff0f}.efo-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{touch-action:none;z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color-default);background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-default);fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(--xy-minimap-mask-stroke-color-default);stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(--xy-minimap-mask-stroke-width-default);stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-default);fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(--xy-minimap-node-stroke-color-default);stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(--xy-minimap-node-stroke-width-default);stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-dots-color-default);fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-lines-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected-default);box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color-default);background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color-default);background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-default);background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(--xy-controls-button-color-hover-default);color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:where(.dataflow-root) :where(*,:before,:after){border:0 solid;box-sizing:border-box;margin:0;padding:0}:where(.dataflow-root) :where(button,input,optgroup,select,textarea){background:#0000;border-radius:0;color:inherit;font:inherit;letter-spacing:inherit}:where(.dataflow-root) :where(button){cursor:pointer}:where(.dataflow-root) :where(button:disabled){cursor:default}:where(.dataflow-root) :where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(.dataflow-root) :where(ul,ol,menu){list-style:none}:where(.dataflow-root) :where(a){color:inherit;text-decoration:inherit}:where(.dataflow-root) :where(img,svg,video,canvas){display:block;vertical-align:middle}:where(.dataflow-root) :where(img,video){height:auto;max-width:100%}:where(.dataflow-root) :where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(.dataflow-root) :where(::placeholder){color:color-mix(in srgb,currentColor 50%,#0000);opacity:1}.dataflow-root{--bg:#1a1e24;--bg-elevated:#111418;--surface:#1a1e24;--border:#ffffff14;--fg:#fff;--fg-muted:#98a8bf;--status-healthy:#47cd89;--status-running:#4e8df5;--status-warning:#fdb022;--status-error:#f04438;--status-recovering:#9e77ed;--status-offline:#98a8bf;font-feature-settings:"tnum" 1,"cv11" 1;background:var(--bg);color:var(--fg);color-scheme:dark;font-family:inherit;height:100%;overflow:hidden}.dataflow-root .tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dataflow-root [data-status=healthy]{--node-color:var(--status-healthy)}.dataflow-root [data-status=running]{--node-color:var(--status-running)}.dataflow-root [data-status=warning]{--node-color:var(--status-warning)}.dataflow-root [data-status=error]{--node-color:var(--status-error)}.dataflow-root [data-status=recovering]{--node-color:var(--status-recovering)}.dataflow-root [data-status=offline]{--node-color:var(--status-offline)}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.35}}.dataflow-root .status-pulse{animation:status-pulse 1.2s ease-in-out infinite}.dataflow-root .react-flow{--xy-background-color:#111418;--xy-edge-stroke:#4e8df5;--xy-minimap-background-color:#1a1e24;--xy-minimap-mask-background-color:#1114188c;--xy-attribution-background-color:#0000}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.dataflow-root .skeleton{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#1a1e24 25%,#2a313b 50%,#1a1e24 75%);background-size:200% 100%;border-radius:6px}@keyframes live-pulse{0%{box-shadow:0 0 0 0 #2dd4bf8c}70%{box-shadow:0 0 0 6px #2dd4bf00}to{box-shadow:0 0 0 0 #2dd4bf00}}.dataflow-root .live-dot{animation:live-pulse 1.6s ease-out infinite}.dataflow-root ::-webkit-scrollbar{height:10px;width:10px}.dataflow-root ::-webkit-scrollbar-track{background:#0000}.dataflow-root ::-webkit-scrollbar-thumb{background:#2a2f38;background-clip:padding-box;border:2px solid #0000;border-radius:6px}.dataflow-root ::-webkit-scrollbar-thumb:hover{background:#3f4550;background-clip:padding-box}@media (prefers-reduced-motion:reduce){.dataflow-root *,.dataflow-root :after,.dataflow-root :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.dfv-screen{color:#fff;display:flex;flex-direction:column;font-size:15px;gap:8px;height:100%;min-height:0}.dfv-screen button,.dfv-screen input,.dfv-screen select{font-family:inherit}.dfv-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;min-height:0;min-width:0}.dfv-panel__title{color:#fff;font-size:20px;font-weight:700;line-height:1.3;margin:0}.dfv-scroll{overflow-y:auto;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.dfv-empty{color:#98a8bf;font-size:14px;padding:16px 4px;text-align:center}.dfv-empty.is-good{color:#47cd89;text-align:left}.dfv-empty.is-bad{color:#f04438}.dfv-link{background:none;border:0;color:#83a6ff;cursor:pointer;padding:0}.dataflow-root .is-good{color:#47cd89}.dataflow-root .is-warn{color:#fdb022}.dataflow-root .is-bad{color:#f04438}.dataflow-root .is-off{color:#98a8bf}.dataflow-root .is-muted{color:#c5d7e0}.dfv-btn{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:6px;height:40px;justify-content:center;padding:0 18px;white-space:nowrap}.dfv-btn .material-symbols-outlined{font-size:20px}.dfv-btn--primary{background:#256ef4;border:1px solid #256ef4;color:#fff;min-width:150px}.dfv-btn--primary:hover{background:#3b7df6}.dfv-btn--danger{background:#0000;border:1px solid #f04438;color:#f04438;min-width:150px}.dfv-btn--danger:hover{background:#f044381a}.dfv-btn--ghost{background:#1a1e24;border:1px solid #c5d7e033;color:#fff;font-size:13px;height:32px;padding:0 12px}.dfv-btn--ghost:hover{background:#2a313b}.dfv-icon-btn{background:none;border:0;border-radius:4px;color:#98a8bf;cursor:pointer;display:inline-grid;height:30px;place-items:center;width:30px}.dfv-icon-btn .material-symbols-outlined{font-size:20px}.dfv-icon-btn:hover{background:#2a313b;color:#fff}.dfv-icon-btn--lg{color:#c5d7e0;height:36px;width:36px}.dfv-icon-btn--lg .material-symbols-outlined{font-size:26px}.dfv-badge{align-items:center;border:1px solid;border-radius:3px;box-sizing:border-box;display:inline-flex;font-size:13px;height:26px;justify-content:center;min-width:72px;padding:0 10px}.dfv-badge.is-good{background:#47cd8914}.dfv-badge.is-warn{background:#fdb02214}.dfv-badge.is-bad{background:#f0443814}.dfv-header{grid-gap:16px;align-items:center;background:#111418;border:1px solid #ffffff14;border-radius:8px;display:grid;flex-shrink:0;gap:16px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:64px;padding:0 16px}.dfv-header__crumb{align-items:center;display:flex;font-size:16px;gap:10px;min-width:0}.dfv-header__icon{color:#c5d7e0;font-size:22px}.dfv-header__root{color:#c5d7e0;white-space:nowrap}.dfv-header__sep{color:#798699;font-size:20px}.dfv-header__stats{align-items:center;display:flex;gap:22px;white-space:nowrap}.dfv-header__right{align-items:center;display:flex;gap:10px;justify-content:flex-end}.dfv-header__time{font-feature-settings:"tnum";color:#c5d7e0;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.dfv-stat{align-items:baseline;color:#c5d7e0;display:inline-flex;font-size:16px;gap:8px}.dfv-stat__value{font-feature-settings:"tnum";color:#fff;font-size:19px;font-variant-numeric:tabular-nums;font-weight:600}.dfv-stat__value.is-bad{color:#f04438}.dfv-stat__unit{color:#c5d7e0;font-size:13px;margin-left:-5px}.dfv-select{position:relative}.dfv-select__trigger{align-items:center;background:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:24px;height:44px;justify-content:space-between;min-width:260px;padding:0 12px 0 14px}.dfv-select__trigger:hover{border-color:#c5d7e059}.dfv-select__trigger .material-symbols-outlined{color:#98a8bf;font-size:22px}.dfv-select__menu{background:#1a1e24;border:1px solid #c5d7e033;border-radius:6px;box-shadow:0 10px 30px #00000080;left:0;list-style:none;margin:0;min-width:100%;overflow:hidden;padding:0;position:absolute;top:calc(100% + 6px);z-index:60}.dfv-select__item{background:none;border:0;color:#fff;cursor:pointer;display:block;font-size:15px;padding:11px 14px;text-align:left;width:100%}.dfv-select__item.is-active,.dfv-select__item:hover{background:#2a313b}.dfv-select__item.is-active{color:#83a6ff}.dfv-topology{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:336px minmax(0,1fr) 392px;min-height:0}.dfv-center{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}.dfv-canvas{flex:1 1;overflow:hidden;position:relative}.dfv-canvas:fullscreen{border-radius:0}.dfv-canvas-msg{align-items:center;color:#98a8bf;display:flex;flex-direction:column;font-size:14px;gap:10px;height:100%;justify-content:center;padding:24px;text-align:center}.dfv-canvas-msg>.material-symbols-outlined{color:#798699;font-size:40px}.dfv-error-banner{align-items:center;background:#1a1e24;border:1px solid #f0443880;border-radius:6px;box-shadow:0 10px 30px #0006;color:#fff;display:flex;font-size:13px;gap:8px;left:50%;padding:8px 10px;position:absolute;top:12px;transform:translateX(-50%);width:min(720px,calc(100% - 24px));z-index:20}.dfv-error-banner>.material-symbols-outlined{color:#f04438;font-size:20px}.dfv-error-banner__msg{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-side{display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:16px 16px 0}.dfv-search{align-items:center;background:#1a1e24;border:1px solid #0000;border-radius:4px;display:flex;gap:8px;height:44px;padding:0 12px;position:relative}.dfv-search:focus-within{border-color:#83a6ff}.dfv-search .material-symbols-outlined{color:#98a8bf;font-size:22px}.dfv-search input{background:none;border:0;color:#fff;flex:1 1;font-size:15px;height:100%;min-width:0;outline:none}.dfv-search input::placeholder{color:#98a8bf}.dfv-counts{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.dfv-count{align-items:center;background:#1a1e24;border-radius:4px;display:flex;flex-direction:column;gap:2px;height:66px;justify-content:center}.dfv-count b{font-feature-settings:"tnum";font-size:26px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.dfv-count span{color:#fff;font-size:15px}.dfv-count.is-off b{color:#c5d7e0}.dfv-chips{display:flex;flex-wrap:wrap;gap:6px}.dfv-chip{align-items:center;background:#0000;border:1px solid color-mix(in srgb,#98a8bf 45%,#0000);border:1px solid color-mix(in srgb,var(--node-color,#98a8bf) 45%,#0000);border-radius:13px;color:color-mix(in srgb,#98a8bf 55%,#111418);color:color-mix(in srgb,var(--node-color,#98a8bf) 55%,#111418);cursor:pointer;display:inline-flex;font-size:13px;gap:4px;height:26px;padding:0 11px;white-space:nowrap}.dfv-chip:hover{color:#c5d7e0;color:var(--node-color,#c5d7e0)}.dfv-chip.is-active{background:color-mix(in srgb,#83a6ff 14%,#0000);background:color-mix(in srgb,var(--node-color,#83a6ff) 14%,#0000);border-color:#83a6ff;border-color:var(--node-color,#83a6ff);color:#fff;color:var(--node-color,#fff)}.dfv-chip--type{--node-color:#98a8bf}.dfv-chip--type.is-active{--node-color:#83a6ff}.dfv-chip--reset{--node-color:#c5d7e0;border-style:dashed}.dfv-chip--reset .material-symbols-outlined{font-size:15px}.dfv-tree{flex:1 1;margin:0 -8px;min-height:0;padding:0 8px 12px}.dfv-tree__group{margin-top:4px}.dfv-tree__head{align-items:center;background:none;border:0;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:6px;height:34px;padding:0 4px;text-align:left;width:100%}.dfv-tree__head .material-symbols-outlined{color:#c5d7e0;font-size:20px}.dfv-tree__group--l1 .dfv-tree__head{font-size:16px;padding-left:20px}.dfv-tree__title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-tree__count{font-feature-settings:"tnum";color:#c5d7e0;font-variant-numeric:tabular-nums}.dfv-tree__rows{list-style:none;margin:0;padding:0}.dfv-tree__row{align-items:center;background:none;border:0;border-left:2px solid #0000;color:#fff;cursor:pointer;display:flex;font-size:15px;gap:8px;height:36px;padding:0 10px 0 34px;text-align:left;width:100%}.dfv-tree__row:hover{background:#1a1e24}.dfv-tree__row.is-selected{background:#256ef42e}.dfv-tree__dot{background:var(--node-color);flex:none;height:6px;width:6px}.dfv-tree__icon{color:#c5d7e0;font-size:18px}.dfv-tree__name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-tree__value{font-feature-settings:"tnum";color:#98a8bf;flex:none;font-size:14px;font-variant-numeric:tabular-nums}.dfv-tree__row[data-status=error],.dfv-tree__row[data-status=warning]{background:color-mix(in srgb,var(--node-color) 13%,#0000);border-left-color:var(--node-color)}.dfv-tree__row[data-status=error] .dfv-tree__icon,.dfv-tree__row[data-status=error] .dfv-tree__name,.dfv-tree__row[data-status=error] .dfv-tree__value,.dfv-tree__row[data-status=warning] .dfv-tree__icon,.dfv-tree__row[data-status=warning] .dfv-tree__name,.dfv-tree__row[data-status=warning] .dfv-tree__value{color:var(--node-color)}.dfv-tree__row[data-status=offline] .dfv-tree__name{color:#c5d7e0}.dfv-log{display:flex;flex-direction:column;flex-shrink:0;height:262px;overflow:hidden}.dfv-log.is-collapsed{height:56px}.dfv-log__head{align-items:center;display:flex;flex-shrink:0;gap:16px;min-height:54px;padding:0 16px}.dfv-log__toggle{align-items:center;background:none;border:0;color:#fff;cursor:pointer;display:inline-flex;font-size:20px;font-weight:700;gap:8px}.dfv-log__toggle .material-symbols-outlined{color:#c5d7e0;font-size:24px}.dfv-log__count{color:#c5d7e0;font-size:18px;font-weight:400}.dfv-log__chips{display:flex;flex-wrap:wrap;gap:8px}.dfv-level-chip{background:#0000;border:1px solid var(--lvl);border-radius:3px;color:var(--lvl);cursor:pointer;font-size:13px;height:26px;padding:0 11px}.dfv-level-chip.is-active{background:color-mix(in srgb,var(--lvl) 18%,#0000)}.dataflow-root [data-level=success]{--lvl:#47cd89}.dataflow-root [data-level=error]{--lvl:#f04438}.dataflow-root [data-level=warning]{--lvl:#fdb022}.dataflow-root [data-level=info]{--lvl:#4e8df5}.dfv-log__list{flex:1 1;list-style:none;margin:0;min-height:0;padding:0 16px 12px}.dfv-log__row{align-items:center;border-left:2px solid #0000;display:flex;font-size:13px;gap:14px;height:29px;padding-left:8px}.dfv-log__row[data-level=error],.dfv-log__row[data-level=warning]{border-left-color:var(--lvl)}.dfv-log__row.is-clickable{cursor:pointer}.dfv-log__row.is-clickable:hover{background:#1a1e24}.dfv-log__time{font-feature-settings:"tnum";color:#c5d7e0;flex:none;font-variant-numeric:tabular-nums;width:58px}.dfv-log__level{background:color-mix(in srgb,var(--lvl) 20%,#0000);border-radius:2px;color:var(--lvl);flex:none;height:22px;line-height:22px;text-align:center;width:66px}.dfv-log__node{flex:none;font-weight:600;width:110px}.dfv-log__msg,.dfv-log__node{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-log__msg{color:#c5d7e0;flex:1 1;min-width:0}.dfv-right{padding:16px}.dfv-detail,.dfv-summary{display:flex;flex-direction:column;gap:12px}.dfv-tiles{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.dfv-tile{background:#1a1e24;border-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;min-height:66px;padding:8px 10px}.dfv-tile--wide{grid-column:1/-1}.dfv-tile__label{color:#fff;font-size:15px}.dfv-tile__value{align-items:baseline;display:flex;gap:4px;justify-content:flex-end}.dfv-tile__value b{font-feature-settings:"tnum";font-size:28px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.dfv-tile__value small{color:#c5d7e0;font-size:13px}.dfv-section-head{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.dfv-section-head h3{color:#fff;font-size:16px;font-weight:500;margin:0}.dfv-section-head span{color:#c5d7e0;font-size:15px}.dfv-status-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}.dfv-status-chip{align-items:center;border:1px solid var(--node-color);border-radius:2px;color:var(--node-color);display:flex;font-size:13px;gap:6px;height:32px;padding:0 10px}.dfv-status-chip i{background:var(--node-color);height:6px;width:6px}.dfv-status-chip span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-status-chip b{font-feature-settings:"tnum";color:#fff;font-size:18px;font-variant-numeric:tabular-nums;font-weight:600}.dfv-factory,.dfv-factory-list{display:flex;flex-direction:column;gap:8px}.dfv-factory{background:#1a1e24;border-radius:4px;padding:10px 12px}.dfv-factory__head{align-items:center;display:flex;font-size:15px;gap:6px}.dfv-factory__head .material-symbols-outlined{color:#c5d7e0;font-size:18px}.dfv-factory__name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-factory__tp{color:#c5d7e0;font-size:13px;white-space:nowrap}.dfv-factory__tp b{font-feature-settings:"tnum";color:#fff;font-size:18px;font-variant-numeric:tabular-nums;font-weight:500}.dfv-factory__stats{display:flex;flex-wrap:wrap;font-size:14px;gap:4px 18px}.dfv-factory__stats b{font-feature-settings:"tnum";color:#fff;font-variant-numeric:tabular-nums;font-weight:600;margin-left:4px}.dfv-factory__stages{display:flex;flex-wrap:wrap;gap:6px}.dfv-stage{align-items:center;background:#2a313b;border:0;border-radius:2px;color:#c5d7e0;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;height:26px;padding:0 10px}.dfv-stage i{background:var(--node-color);height:6px;width:6px}.dfv-stage:hover{color:#fff}.dfv-problems{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.dfv-problem{align-items:center;background:color-mix(in srgb,var(--node-color) 12%,#0000);border:0;border-left:2px solid var(--node-color);color:var(--node-color);cursor:pointer;display:flex;font-size:15px;gap:8px;height:38px;padding:0 10px 0 12px;text-align:left;width:100%}.dfv-problem>i{background:var(--node-color);height:6px;width:6px}.dfv-problem .material-symbols-outlined{font-size:18px}.dfv-problem__name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfv-problem__badge{border:1px solid var(--node-color);border-radius:2px;box-sizing:border-box;font-size:13px;height:22px;line-height:20px;min-width:80px;padding:0 8px;text-align:center}.dfv-detail__head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.dfv-detail__head .dfv-panel__title{overflow-wrap:anywhere}.dfv-detail__status{align-items:baseline;display:flex;font-size:15px;gap:12px;justify-content:space-between}.dfv-detail__state{color:#fff;flex:none}.dfv-detail__desc{color:#fff;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dfv-detail__status[data-status=error] .dfv-detail__state{color:#f04438}.dfv-detail__status[data-status=warning] .dfv-detail__state{color:#fdb022}.dfv-detail__row{align-items:center;color:#fff;display:flex;font-size:15px;gap:8px;justify-content:space-between}.dfv-detail__row>span{align-items:center;display:inline-flex;gap:4px}.dfv-detail__row .material-symbols-outlined{font-size:18px}.dfv-detail__row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:400}.dfv-chart{background:#1a1e24;border-radius:4px;padding:8px 4px 0}.dfv-chart-empty{color:#98a8bf;display:grid;font-size:13px;place-items:center}.dfv-chart-tip{background:#111418;border:1px solid #c5d7e033;border-radius:4px;color:#c5d7e0;font-size:12px;padding:4px 8px}.dfv-chart-tip b{color:#fff;display:block;font-size:14px}.dfv-kv{border-collapse:initial;border-spacing:0 1px;font-size:15px;width:100%}.dfv-kv td,.dfv-kv th{font-weight:400;height:36px;max-width:0;overflow:hidden;padding:0 12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dfv-kv th{background:#2a313b;color:#fff;width:44%}.dfv-kv td{font-feature-settings:"tnum";background:#1a1e24;color:#fff;font-variant-numeric:tabular-nums}.dfv-aerial{grid-gap:8px;align-content:stretch;display:grid;flex:1 1;gap:8px;min-height:0;padding-bottom:76px}.dfv-aerial--one{grid-template-columns:minmax(0,1fr)}.dfv-aerial--many,.dfv-aerial--two{grid-template-columns:repeat(2,minmax(0,1fr))}.dfv-aerial--many{grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content}.dfv-aerial--msg{display:grid;place-items:center}.dfv-aerial__error{grid-column:1/-1;position:static;transform:none;width:auto}.dfv-aerial__card{display:flex;flex-direction:column;gap:14px;min-height:0;padding:16px}.dfv-aerial__art{background:#1a1e24;border-radius:4px;display:grid;flex:1 1;min-height:150px;overflow:hidden;place-items:center}.dfv-aerial--many .dfv-aerial__art{flex:none;height:152px}.dfv-aerial__art img{height:100%;object-fit:cover;width:100%}.dfv-aerial__art-empty{align-items:center;color:#798699;display:flex;flex-direction:column;font-size:14px;gap:6px}.dfv-aerial__art-empty .material-symbols-outlined{color:#2a313b;font-size:44px}.dfv-aerial__title{align-items:center;border-bottom:1px solid #c5d7e033;display:flex;gap:8px;padding-bottom:12px}.dfv-aerial__title h3{font-size:19px;font-weight:700;margin:0;white-space:nowrap}.dfv-aerial__en{color:#c5d7e0;font-size:18px}.dfv-aerial__title .dfv-badge{margin-left:auto}.dfv-flag{display:inline-flex;flex:none}.dfv-flag-none .material-symbols-outlined{color:#c5d7e0;font-size:20px}.dfv-code-chip{align-items:center;background:#4e8df529;border-radius:12px;color:#83a6ff;display:inline-flex;font-size:15px;gap:6px;height:24px;padding:0 10px}.dfv-code-chip i{background:#83a6ff;border-radius:50%;height:5px;width:5px}.dfv-aerial__body{align-items:center;display:flex;gap:20px}.dfv-aerial__metrics{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.dfv-aerial__tiles{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.dfv-aerial__tiles .dfv-tile{min-height:86px;padding:12px 16px}.dfv-aerial__tiles .dfv-tile__label{color:#c5d7e0}.dfv-donut{flex:none;height:140px;position:relative;width:140px}.dfv-donut svg{height:100%;width:100%}.dfv-donut__track{fill:none;stroke:#2a313b;stroke-width:10}.dfv-donut__bar{fill:none;stroke:#47cd89;stroke-width:10;stroke-linecap:round}.dfv-donut.is-warn .dfv-donut__bar{stroke:#fdb022}.dfv-donut__text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.dfv-donut__text span{align-items:baseline;display:flex;gap:2px}.dfv-donut__text b{font-feature-settings:"tnum";color:#fff;font-size:34px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.dfv-donut__text b.is-long{font-size:28px}.dfv-donut__text em,.dfv-donut__text small{color:#c5d7e0;font-size:15px}.dfv-donut__text em{font-style:normal;margin-top:4px}.dfv-eqbar{align-items:center;display:flex;gap:10px;margin-top:6px}.dfv-eqbar__label{color:#c5d7e0;flex:none;font-size:15px}.dfv-eqbar__track{background:#2a313b;border-radius:4px;display:flex;flex:1 1;height:8px;overflow:hidden}.dfv-eqbar__track i{display:block;height:100%}.dataflow-root .is-run{background:#47cd89}.dataflow-root .is-idle{background:#fdb022}.dataflow-root .is-stop{background:#798699}.dfv-eqbar__legend{color:#c5d7e0;display:flex;font-size:14px;gap:14px;justify-content:flex-end}.dfv-eqbar__legend span{align-items:center;display:inline-flex;gap:4px}.dfv-eqbar__legend i{height:10px;width:10px}.dfv-aerial__foot{flex-wrap:wrap;gap:12px;justify-content:space-between}.dfv-aerial__foot,.dfv-env{align-items:center;display:flex}.dfv-env{background:#1a1e24;border-radius:4px;color:#c5d7e0;font-size:15px;gap:18px;height:40px;padding:0 12px}.dfv-env__item b{font-feature-settings:"tnum";color:#fff;font-size:17px;font-variant-numeric:tabular-nums;font-weight:600;margin-left:6px}.dfv-env__item small{color:#c5d7e0;font-size:12px;margin-left:2px}.dfv-aerial__actions{display:flex;gap:8px;margin-left:auto}@media (max-width:1500px){.dfv-topology{grid-template-columns:300px minmax(0,1fr) 340px}.dfv-header__stats{gap:14px}}@media (max-width:1200px){.dfv-topology{grid-template-columns:280px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.dfv-right{grid-column:1/-1;max-height:320px}.dfv-aerial--many,.dfv-aerial--two{grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content;grid-template-columns:minmax(0,1fr)}.dfv-aerial--two .dfv-aerial__art{flex:none;height:180px}.dfv-header{grid-template-columns:minmax(0,1fr) auto}.dfv-header__stats{display:none}}.dfv-canvas .react-flow__node{transition:opacity .18s ease}.dfv-canvas .react-flow__node.is-filtered-out .dfv-node{filter:saturate(.4)}.dfv-canvas .react-flow__edge{transition:opacity .18s ease}.dfv-edge-packet{pointer-events:none}.dfv-node{align-items:center;color:#fff;cursor:pointer;display:flex;flex-direction:column;height:100%;outline:none;-webkit-user-select:none;user-select:none;width:100%}.dfv-node:focus-visible .dfv-node__box,.dfv-node:focus-visible .dfv-node__circle{box-shadow:0 0 0 3px #83a6ff99}.dfv-node__circle{background:#111418;border:2px solid var(--node-color);border-radius:50%;box-sizing:border-box;display:grid;height:40px;margin-top:2px;place-items:center;position:relative;width:40px}.dfv-node__mark{color:var(--node-color);font-size:20px;font-weight:700;line-height:1}.dfv-node[data-status=offline] .dfv-node__mark{font-size:24px;font-weight:400}.dfv-node__spin{animation:dfv-spin 2.5s linear infinite;color:var(--node-color);font-size:22px}@keyframes dfv-spin{to{transform:rotate(1turn)}}.dfv-node__tag{background:#1a1e24;border-radius:3px;color:#98a8bf;font-size:12px;line-height:18px;margin-top:4px;padding:1px 5px;white-space:nowrap}.dfv-node[data-status=error] .dfv-node__tag{color:#f04438}.dfv-node[data-status=warning] .dfv-node__tag{color:#fdb022}.dfv-node[data-status=recovering] .dfv-node__tag{color:#9e77ed}.dfv-node[data-status=offline] .dfv-node__tag{color:#798699}.dfv-node.is-selected .dfv-node__circle{box-shadow:0 0 0 4px #ffffff1f,0 0 18px var(--node-color)}.dfv-node.is-selected .dfv-node__tag{background:#256ef4;color:#fff}.dfv-node__box{background:#111418;border:3px solid var(--node-color);border-radius:14px;box-sizing:border-box;color:var(--node-color);display:grid;font-size:20px;font-weight:600;height:60px;letter-spacing:-.5px;margin-top:4px;place-items:center;position:relative;width:60px}.dfv-node__nub{background:var(--node-color);border-radius:2px;position:absolute}.dfv-node__nub--b,.dfv-node__nub--t{height:5px;left:50%;transform:translateX(-50%);width:14px}.dfv-node__nub--t{top:-4px}.dfv-node__nub--b{bottom:-4px}.dfv-node__nub--l,.dfv-node__nub--r{height:14px;top:50%;transform:translateY(-50%);width:5px}.dfv-node__nub--l{left:-4px}.dfv-node__nub--r{right:-4px}.dfv-node__caption{align-items:center;background:#1a1e24;border:1px solid #0000;border-radius:3px;color:#fff;display:flex;flex-direction:column;font-size:15px;line-height:19px;margin-top:6px;padding:2px 8px;text-align:center;white-space:nowrap}.dfv-node[data-status=offline] .dfv-node__caption{color:#98a8bf}.dfv-node.is-selected .dfv-node__box{box-shadow:0 0 0 4px #ffffff1a,0 0 22px var(--node-color)}.dfv-node.is-selected .dfv-node__caption{border-color:#fff}.dfv-legend{background:#1a1e24;border-radius:6px;color:#fff;font-size:13px;min-width:118px;padding:6px 8px 8px}.dfv-legend__toggle{align-items:center;background:none;border:0;color:#c5d7e0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0 0 6px;width:100%}.dfv-legend__toggle .material-symbols-outlined{color:#98a8bf;font-size:18px}.dfv-legend__list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.dfv-legend__item{align-items:center;display:flex;gap:8px;white-space:nowrap}.dfv-legend__swatch{border:2px solid var(--node-color);border-radius:3px;box-sizing:border-box;height:16px;width:30px}.dfv-legend__line{border-top:2px solid var(--node-color);width:14px}.dfv-legend__item[data-status=error] .dfv-legend__line,.dfv-legend__item[data-status=warning] .dfv-legend__line{border-top-style:dashed}.dfv-legend__item[data-status=offline] .dfv-legend__line,.dfv-legend__item[data-status=offline] .dfv-legend__swatch{border-color:#c5d7e0}.dfv-controls{display:flex;flex-direction:column;gap:4px;margin-bottom:148px!important}.dfv-controls__btn{background:#1a1e24;border:0;border-radius:4px;color:#98a8bf;cursor:pointer;display:grid;height:28px;place-items:center;width:28px}.dfv-controls__btn .material-symbols-outlined{font-size:18px}.dfv-controls__btn:hover{background:#2a313b;color:#fff}.dfv-canvas .react-flow__minimap{background:#1a1e24;border-radius:6px;overflow:hidden}.dfv-canvas .react-flow__minimap-mask{fill:#1114188c}.dfv-canvas .react-flow__attribution{background:#0000;font-size:9px;opacity:.35}.dfv-canvas .react-flow__attribution a{color:#798699}@media (prefers-reduced-motion:reduce){.dfv-node__spin{animation:none}.dfv-edge-packet{display:none}}.dataflow-page{background-color:#1a1e24}.dataflow-page,.fo-page{box-sizing:border-box;height:100%;min-height:0;overflow:hidden;padding:8px}.fo-page{background:#1a1e24;color:#e5e7eb;display:flex;flex-direction:column;gap:8px}.fo-panel{background:#111418;border:1px solid #22262d;border-radius:6px;box-sizing:border-box;padding:14px 16px}.fo-panel-title{color:#f3f4f6;font-size:17px;font-weight:700;margin:0}.fo-panel-head{gap:12px;justify-content:space-between;margin-bottom:12px}.fo-empty,.fo-panel-head{align-items:center;display:flex}.fo-empty{color:#6b7280;font-size:14px;gap:6px;justify-content:center;min-height:120px}.fo-empty .material-symbols-outlined{color:#22c55e;font-size:18px}.fo-message{align-items:center;color:#e5e7eb;display:flex;flex:1 1;flex-direction:column;font-size:18px;gap:10px;justify-content:center}.fo-message-sub{color:#9ca3af;font-size:14px}.fo-message-error{color:#ef4444}.fo-retry{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:8px;padding:8px 16px}.fo-header{background:#111418;border:1px solid #22262d;border-radius:6px;flex-shrink:0;height:64px;justify-content:space-between;padding:0 16px}.fo-breadcrumb,.fo-header{align-items:center;display:flex}.fo-breadcrumb{font-size:16px;gap:10px}.fo-breadcrumb-icon{color:#e5e7eb;font-size:22px}.fo-breadcrumb-root{color:#e5e7eb}.fo-breadcrumb-sep{color:#6b7280;font-size:20px}.fo-factory-select{position:relative}.fo-factory-trigger{align-items:center;background:#1a1d24;border:1px solid #2a2f38;border-radius:4px;color:#e5e7eb;cursor:pointer;display:flex;font-size:16px;gap:24px;height:40px;justify-content:space-between;min-width:260px;padding:0 12px 0 14px;transition:border-color .15s}.fo-factory-trigger:hover{border-color:#3f4550}.fo-factory-trigger .material-symbols-outlined{color:#9ca3af;font-size:22px}.fo-factory-menu{background:#1a1d24;border:1px solid #2a2f38;border-radius:6px;box-shadow:0 10px 30px #00000080;left:0;min-width:100%;overflow:hidden;position:absolute;top:calc(100% + 6px);z-index:50}.fo-factory-item{align-items:flex-start;background:none;border:none;border-bottom:1px solid #22262d;color:#e5e7eb;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 14px;text-align:left;width:100%}.fo-factory-item:last-child{border-bottom:none}.fo-factory-item.active,.fo-factory-item:hover{background:#111418}.fo-factory-item.active .fo-factory-item-name{color:#60a5fa}.fo-factory-item-name{font-size:15px}.fo-factory-item-sub{color:#9ca3af;font-size:12px}.fo-header-right{align-items:center;display:flex;gap:12px}.fo-sync-time{font-feature-settings:"tnum";color:#e5e7eb;font-size:18px;font-variant-numeric:tabular-nums}.fo-refresh-btn{align-items:center;background:none;border:none;border-radius:50%;color:#e5e7eb;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.fo-refresh-btn:hover{background:#111418}.fo-refresh-icon{font-size:22px;transition:transform .3s}.fo-header-right.refreshing .fo-refresh-icon{animation:fo-spin 1.2s linear infinite}@keyframes fo-spin{to{transform:rotate(1turn)}}.fo-overview{flex-shrink:0;padding:12px 16px 14px}.fo-overview-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.fo-overview-title{align-items:center;display:flex;gap:8px}.fo-flag{align-items:center;border-radius:50%;display:inline-flex;flex:0 0 auto;justify-content:center;overflow:hidden}.fo-flag,.fo-flag svg{height:22px;width:22px}.fo-flag svg{display:block}.fo-flag-kr{box-shadow:0 0 0 1px #ffffff40}.fo-flag-none{background:#30363d;color:#9ca3af}.fo-flag-none .material-symbols-outlined{font-size:14px}.fo-overview-name{color:#f3f4f6;font-size:18px;font-weight:700}.fo-code-badge{align-items:center;background:#1f2937;border-radius:12px;color:#9ca3af;display:inline-flex;font-size:13px;gap:6px;padding:2px 10px}.fo-code-dot{background:#3b82f6;border-radius:50%;height:6px;width:6px}.fo-overview-tag{color:#9ca3af;font-size:14px;letter-spacing:.04em}.fo-overview-body{align-items:stretch;display:flex;gap:20px}.fo-gauge{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative;width:210px}.fo-gauge-svg{display:block;height:auto;width:100%}.fo-gauge-fill,.fo-gauge-track{fill:none;stroke-width:7;stroke-linecap:round}.fo-gauge-track{stroke:#2a2f38}.fo-gauge-fill{stroke:#3b82f6;transition:stroke-dasharray .6s ease}.fo-gauge-text{align-items:baseline;display:flex;gap:8px;justify-content:center;left:0;position:absolute;right:0;top:52%}.fo-gauge-label{color:#d1d5db;font-size:16px}.fo-gauge-value{color:#f9fafb;font-size:30px;font-weight:800;letter-spacing:-.01em}.fo-gauge-value small{color:#d1d5db;font-size:16px;font-weight:600;margin-left:2px}.fo-kpis{grid-gap:8px;display:grid;flex:1 1;grid-template-columns:repeat(7,minmax(0,1fr))}.fo-kpi,.fo-kpis{gap:8px;min-width:0}.fo-kpi{display:flex;flex-direction:column;justify-content:center}.fo-kpi-label{align-items:center;color:#d1d5db;display:flex;font-size:15px;gap:6px;white-space:nowrap}.fo-kpi-label .material-symbols-outlined{color:#9ca3af;font-size:20px}.fo-kpi-value{font-feature-settings:"tnum";color:#f9fafb;font-size:34px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;white-space:nowrap}.fo-env-value small,.fo-kpi-value small,.fo-line-side-value small{color:#d1d5db;font-size:15px;font-weight:400;margin-left:4px}.fo-env{align-items:center;background:#1a1d24;border-radius:6px;display:flex;flex-shrink:0;gap:22px;padding:10px 22px}.fo-env-title{color:#d1d5db;font-size:15px;padding-right:6px}.fo-env-item{display:flex;flex-direction:column;gap:8px}.fo-env-label{align-items:center;color:#d1d5db;display:flex;font-size:14px;gap:4px;white-space:nowrap}.fo-env-label .material-symbols-outlined{color:#9ca3af;font-size:18px}.fo-env-value{font-feature-settings:"tnum";color:#f9fafb;font-size:26px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;white-space:nowrap}.fo-lines{flex-shrink:0}.fo-lines .fo-panel-title{margin-bottom:12px}.fo-line-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-columns:repeat(var(--fo-line-cols,3),minmax(0,1fr))}.fo-line-card{background:#1a1d24;border:1px solid #2a2f38;border-radius:6px;cursor:pointer;display:flex;overflow:hidden;transition:border-color .15s,transform .15s}.fo-line-card.is-active{border-color:#22c55e}.fo-line-card:hover{transform:translateY(-1px)}.fo-line-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.fo-line-main{display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:0;padding:14px 20px 14px 22px}.fo-line-head{align-items:baseline;display:flex;justify-content:space-between}.fo-line-name{color:#f3f4f6;font-size:26px;font-weight:700}.fo-line-pct{font-feature-settings:"tnum";color:#f3f4f6;font-size:24px;font-variant-numeric:tabular-nums}.fo-line-bar{background:#2a2f38;border-radius:4px;display:flex;height:8px;overflow:hidden;position:relative}.fo-line-bar-run{background:#10b981;height:100%}.fo-line-bar-idle{background:#f59e0b;height:100%}.fo-line-legend{color:#d1d5db;display:flex;font-size:14px;justify-content:space-between}.fo-line-legend span{align-items:center;display:inline-flex;gap:6px}.fo-dot{border-radius:2px;display:inline-block;height:10px;width:10px}.fo-dot-run{background:#10b981}.fo-dot-idle{background:#f59e0b}.fo-dot-stop{background:#6b7280}.fo-line-side{border-left:1px solid #2a2f38;flex-shrink:0;gap:12px;justify-content:center;padding:12px 8px;width:140px}.fo-line-side,.fo-line-side-item{align-items:center;display:flex;flex-direction:column}.fo-line-side-item{gap:4px}.fo-line-side-label{color:#9ca3af;font-size:13px}.fo-line-side-value{font-feature-settings:"tnum";color:#f3f4f6;font-size:20px;font-variant-numeric:tabular-nums;font-weight:500}.fo-line-side-value small{font-size:13px}.fo-bottom{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);min-height:0}.fo-alarms,.fo-machines{display:flex;flex-direction:column;min-height:0}.fo-alarm-scroll,.fo-machine-scroll{flex:1 1;min-height:0;overflow-y:auto;padding-right:4px}.fo-alarm-scroll::-webkit-scrollbar,.fo-machine-scroll::-webkit-scrollbar{width:6px}.fo-alarm-scroll::-webkit-scrollbar-thumb,.fo-machine-scroll::-webkit-scrollbar-thumb{background:#3f4550;border-radius:3px}.fo-filters{display:flex;gap:8px}.fo-filter{align-items:center;display:inline-flex;position:relative}.fo-filter select{appearance:none;-webkit-appearance:none;background:#1a1d24;border:1px solid #2a2f38;border-radius:4px;color:#e5e7eb;cursor:pointer;font-size:14px;height:34px;outline:none;padding:0 30px 0 12px}.fo-filter select:focus{border-color:#3b82f6}.fo-filter .material-symbols-outlined{color:#9ca3af;font-size:20px;pointer-events:none;position:absolute;right:6px}.fo-machine-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.fo-machine-card{background:#1a1d24;border:1px solid #2a2f38;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:12px 14px 14px;position:relative;transition:border-color .15s,background-color .15s}.fo-machine-card:hover{background:#1f232b;border-color:#3f4550}.fo-machine-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.fo-machine-card.is-danger{border-color:#ef4444}.fo-machine-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:-10px;min-height:40px}.fo-machine-no{font-feature-settings:"tnum";color:#262a32;font-size:76px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:.9;margin-top:-18px;-webkit-user-select:none;user-select:none}.fo-machine-running .fo-machine-no{color:#2b3340}.fo-machine-idle .fo-machine-no{color:#3a3323}.fo-machine-card.is-danger .fo-machine-no{color:#7f1d1d}.fo-machine-icons{align-items:center;display:flex;gap:8px;padding-top:8px}.fo-alarm-badge{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;height:22px;min-width:22px;padding:0 6px}.fo-machine-state-icon{align-items:center;border:1.5px solid #4b5563;border-radius:50%;color:#9ca3af;display:inline-flex;height:24px;justify-content:center;width:24px}.fo-machine-state-icon .material-symbols-outlined{font-size:16px}.fo-machine-state-icon.run{border-color:#4b5563}.fo-machine-running .fo-machine-state-icon.run{border-color:#22c55e;color:#22c55e}.fo-machine-idle .fo-machine-state-icon.stop{border-color:#f59e0b;color:#f59e0b}.fo-machine-card.is-danger .fo-machine-state-icon{border-color:#ef4444;color:#ef4444}.fo-machine-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.fo-machine-key{color:#9ca3af;font-size:14px;white-space:nowrap}.fo-machine-spec{border-top:1px solid #ffffff0f;gap:16px;justify-content:flex-start;padding-top:8px}.fo-machine-spec-item{align-items:baseline;display:inline-flex;gap:6px;min-width:0}.fo-machine-spec-key{color:#9ca3af;font-size:13px;font-weight:600;letter-spacing:.3px}.fo-machine-spec-val{font-feature-settings:"tnum";color:#f3f4f6;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.fo-machine-val{font-feature-settings:"tnum";color:#f3f4f6;font-size:18px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fo-alarm-filters{display:flex;gap:8px}.fo-alarm-chip{align-items:center;background:#1a1d24;border:1px solid #2a2f38;border-radius:4px;color:#d1d5db;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;height:34px;padding:0 14px;transition:border-color .15s,background-color .15s}.fo-alarm-chip b{font-weight:600}.fo-alarm-chip-all.active{border-color:#e5e7eb;color:#f9fafb}.fo-alarm-chip-critical{background:#ef444414;border-color:#ef444459;color:#ef4444}.fo-alarm-chip-critical.active{background:#ef44442e;border-color:#ef4444}.fo-alarm-chip-warning{background:#f59e0b14;border-color:#f59e0b59;color:#f59e0b}.fo-alarm-chip-warning.active{background:#f59e0b2e;border-color:#f59e0b}.fo-alarm-scroll{gap:8px}.fo-alarm-card,.fo-alarm-scroll{display:flex;flex-direction:column}.fo-alarm-card{background:#1a1d24;border:1px solid #2a2f38;border-left-width:3px;border-radius:4px;cursor:pointer;gap:6px;padding:14px 16px;transition:filter .15s}.fo-alarm-card:hover{filter:brightness(1.1)}.fo-alarm-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.fo-alarm-critical{background:linear-gradient(90deg,#ef444438,#ef44440f);border-color:#ef4444}.fo-alarm-critical .fo-alarm-machine{color:#f87171}.fo-alarm-warning{background:linear-gradient(90deg,#f59e0b38,#f59e0b0f);border-color:#f59e0b}.fo-alarm-warning .fo-alarm-machine{color:#fbbf24}.fo-alarm-info{background:linear-gradient(90deg,#3b82f62e,#3b82f60d);border-color:#3b82f6}.fo-alarm-info .fo-alarm-machine{color:#60a5fa}.fo-alarm-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.fo-alarm-machine{font-size:18px;font-weight:600}.fo-alarm-meta{color:#d1d5db;font-size:12px;white-space:nowrap}.fo-alarm-message{color:#e5e7eb;font-size:15px}@media (max-width:1600px){.fo-kpi-value{font-size:28px}.fo-env-value{font-size:22px}.fo-env{gap:16px;padding:10px 16px}.fo-machine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1280px){.fo-overview-body{flex-wrap:wrap}.fo-kpis{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px}.fo-env{justify-content:space-between;width:100%}.fo-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fo-bottom{grid-template-columns:minmax(0,1fr)}.fo-page{overflow-y:auto}.fo-alarms,.fo-machines{min-height:360px}}@media (max-width:900px){.fo-line-grid{grid-template-columns:minmax(0,1fr)}.fo-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fo-factory-trigger{min-width:180px}}.fm-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow:hidden;padding:8px}.fm-page button,.fm-page select{font-family:inherit}.fm-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;padding:14px 16px 16px}.fm-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.fm-title{color:#fff;font-size:20px;font-weight:700;margin:0 4px 0 0;white-space:nowrap}.fm-field{align-items:center;color:#c5d7e0;display:inline-flex;font-size:15px;gap:10px;white-space:nowrap}.fm-select{-webkit-appearance:none;appearance:none;background-color:#1a1e24;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2398A8BF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 14px center;background-repeat:no-repeat;border:1px solid #c5d7e033;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;height:44px;min-width:160px;padding:0 40px 0 14px}.fm-select:hover{border-color:#c5d7e059}.fm-select:focus{outline:1px solid #83a6ff}.fm-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-auto-rows:172px;grid-template-columns:repeat(5,minmax(0,1fr));min-height:0;overflow-y:auto;padding-right:2px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.fm-grid::-webkit-scrollbar{width:8px}.fm-grid::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:4px}.fm-grid::-webkit-scrollbar-thumb:hover{background:#3f4550}.fm-message{align-items:center;color:#98a8bf;display:flex;flex:1 1;flex-direction:column;font-size:15px;gap:12px;justify-content:center;min-height:240px}.fm-message-error{color:#f04438}.fm-retry{background:#256ef4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;height:36px;padding:0 16px}@media (max-width:1600px){.fm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1200px){.fm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:800px){.fm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-select{min-width:120px}}.fd-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow:hidden;padding:8px}.fd-page button,.fd-page select{font-family:inherit}.fd-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0;padding:14px 16px 16px}.fd-panel-top{flex:none;gap:14px}.fd-panel-fill{flex:1 1}.fd-panel-head{align-items:center;display:flex;flex:none;gap:12px;justify-content:space-between}.fd-panel-title{align-items:baseline;color:#fff;display:flex;font-size:17px;font-weight:700;gap:10px;margin:0}.fd-panel-count,.fd-panel-sub{color:#98a8bf;font-size:13px;font-weight:400}.fd-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.fd-title{color:#fff;font-size:20px;font-weight:700;margin:0 4px 0 0;white-space:nowrap}.fd-field{align-items:center;color:#c5d7e0;display:inline-flex;font-size:15px;gap:10px;white-space:nowrap}.fd-retention{color:#798699;font-size:12px;margin-left:auto}.fd-select{-webkit-appearance:none;appearance:none;background-color:#1a1e24;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2398A8BF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 14px center;background-repeat:no-repeat;border:1px solid #c5d7e033;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;height:44px;min-width:150px;padding:0 40px 0 14px}.fd-select:hover{border-color:#c5d7e059}.fd-select:focus{outline:1px solid #83a6ff}.fd-kpis{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.fd-kpi{background:#1a1e24;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:clamp(10px,1.3vh,16px) 16px}.fd-kpi-label{color:#c5d7e0;font-size:14px}.fd-kpi-value{font-feature-settings:"tnum";font-size:clamp(22px,3vh,28px);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-kpi-sub{color:#98a8bf;font-size:12px}.fd-kpi-bad .fd-kpi-value{color:#f04438}.fd-mid{grid-gap:8px;display:grid;flex:1.25 1;gap:8px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0}.fd-matrix-wrap{border:1px solid #ffffff14;border-radius:6px;flex:1 1;min-height:0;overflow:auto}.fd-matrix{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.fd-matrix td,.fd-matrix th{border-bottom:1px solid #ffffff0f;padding:2px 6px;text-align:center;white-space:nowrap}.fd-matrix thead th{color:#c5d7e0;font-weight:500;top:0;z-index:1}.fd-matrix tfoot td,.fd-matrix thead th{background:#1c1f26;padding:7px 6px;position:-webkit-sticky;position:sticky}.fd-matrix tfoot td{bottom:0;color:#fff;font-weight:600}.fd-mx-eq{padding-left:12px!important;text-align:left!important}.fd-matrix tbody tr.active td{background:#83a6ff14}.fd-mx-nodata{color:#798699}.fd-mx-name{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0}.fd-mx-name:hover{color:#83a6ff}.fd-mx-cell{font-feature-settings:"tnum";background:#0000;border:1px solid #0000;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-variant-numeric:tabular-nums;height:26px;min-width:44px;width:100%}.fd-mx-cell:hover:not(:disabled){border-color:#c5d7e059}.fd-mx-cell.active{border-color:#83a6ff}.fd-mx-cell:disabled{color:#798699;cursor:default}.fd-mx-rate,.fd-mx-total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fd-mx-rate{color:#98a8bf}.fd-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;vertical-align:middle;width:8px}.fd-chart{flex:1 1;min-height:120px;min-width:0}.fd-table-wrap{border:1px solid #ffffff14;border-radius:6px;flex:1 1;min-height:0;overflow:auto}.fd-table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.fd-table td,.fd-table th{border-bottom:1px solid #ffffff0f;padding:clamp(5px,.8vh,9px) 12px;text-align:center;white-space:nowrap}.fd-table th{background:#1c1f26;color:#c5d7e0;font-weight:500;position:-webkit-sticky;position:sticky;top:0;z-index:1}.fd-table tbody tr{cursor:pointer}.fd-table tbody tr:hover td{background:#ffffff08}.fd-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fd-strong{color:#a78bfa;font-weight:600}.fd-type-tag{border-radius:3px;color:#111418;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.fd-thumb-cell{padding-bottom:3px!important;padding-top:3px!important}.fd-thumb{background:#2b2f36;border-radius:3px;height:30px;object-fit:cover;vertical-align:middle;width:52px}.fd-chip{align-items:center;background:#1a1e24;border:1px solid #83a6ff;border-radius:15px;color:#83a6ff;cursor:pointer;display:inline-flex;font-size:13px;gap:4px;height:30px;padding:0 8px 0 12px}.fd-chip .material-symbols-outlined{font-size:16px}.fd-pagination{align-items:center;display:flex;flex:none;gap:12px;justify-content:center}.fd-page-nav{align-items:center;background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;gap:2px;height:32px;padding:0 10px}.fd-page-nav:hover:not(:disabled){background:#2a313b}.fd-page-nav:disabled{color:#798699;cursor:not-allowed}.fd-page-info{font-feature-settings:"tnum";color:#98a8bf;font-size:14px;font-variant-numeric:tabular-nums}.fd-message{align-items:center;color:#98a8bf;display:flex;flex:1 1;flex-direction:column;font-size:15px;gap:12px;justify-content:center;min-height:120px}.fd-message-error{color:#f04438}.fd-retry{background:#256ef4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;height:36px;padding:0 16px}.fd-matrix-wrap,.fd-table-wrap{scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.fd-matrix-wrap::-webkit-scrollbar,.fd-table-wrap::-webkit-scrollbar{height:8px;width:8px}.fd-matrix-wrap::-webkit-scrollbar-thumb,.fd-table-wrap::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:4px}@media (max-width:1400px){.fd-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.fd-retention{margin-left:0;width:100%}}@media (max-width:1200px){.fd-page{height:auto;overflow:visible}.fd-mid{flex:none;grid-template-columns:minmax(0,1fr);grid-template-rows:none}.fd-mid>.fd-panel{height:360px}.fd-panel-fill{flex:none;height:560px}}.rs-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow:hidden;padding:8px}.rs-page button,.rs-page input,.rs-page select{font-family:inherit}.rs-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;padding:14px 16px 16px}.rs-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.rs-field{align-items:center;color:#c5d7e0;display:inline-flex;font-size:15px;gap:10px;white-space:nowrap}.rs-select{-webkit-appearance:none;appearance:none;background-color:#1a1e24;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2398A8BF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 14px center;background-repeat:no-repeat;border:1px solid #c5d7e033;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;height:44px;min-width:160px;padding:0 40px 0 14px}.rs-select:hover{border-color:#c5d7e059}.rs-select:focus{outline:1px solid #83a6ff}.rs-checks{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.rs-check{align-items:center;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;gap:8px;position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap}.rs-check input{cursor:pointer;height:20px;margin:0;opacity:0;position:absolute;width:20px}.rs-check-box{align-items:center;background:#1a1e24;border:1px solid #c5d7e059;border-radius:3px;box-sizing:border-box;display:inline-flex;height:20px;justify-content:center;width:20px}.rs-check-box .material-symbols-outlined{color:#fff;font-size:16px;opacity:0}.rs-check.checked .rs-check-box{background:#256ef4;border-color:#256ef4}.rs-check.checked .rs-check-box .material-symbols-outlined{opacity:1}.rs-check input:focus-visible+.rs-check-box{outline:1px solid #83a6ff;outline-offset:2px}.rs-summary{color:#c5d7e0;font-size:15px;margin-left:auto;white-space:nowrap}.rs-table-wrap{border:1px solid #ffffff14;border-radius:4px;flex:1 1;min-height:0;overflow:auto;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.rs-table-wrap::-webkit-scrollbar{height:8px;width:8px}.rs-table-wrap::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:4px}.rs-table-wrap::-webkit-scrollbar-thumb:hover{background:#3f4550}.rs-table-wrap::-webkit-scrollbar-corner{background:#0000}.rs-table{border-collapse:initial;border-spacing:0;font-size:15px;min-width:1500px;width:100%}.rs-table td,.rs-table th{font-feature-settings:"tnum";border-bottom:1px solid #ffffff0f;border-right:1px solid #ffffff0f;font-variant-numeric:tabular-nums;height:44px;padding:0 10px;text-align:center;white-space:nowrap}.rs-table td:last-child,.rs-table th:last-child{border-right:none}.rs-table th{background:#1a1e24;color:#fff;font-weight:500;height:52px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.rs-table td{background:#111418;color:#fff}.rs-table tbody tr:hover td{background:#161a1f}.rs-sticky{left:0;position:-webkit-sticky;position:sticky;z-index:1}.rs-table th.rs-sticky{z-index:3}.rs-name{padding-left:16px!important;text-align:left!important}.rs-dot{border-radius:50%;display:inline-block;height:6px;margin-right:8px;vertical-align:middle;width:6px}.rs-dot-running{background:#47cd89}.rs-dot-idle{background:#fdb022}.rs-dot-stopped{background:#798699}.rs-table tbody tr.rs-row-stopped td{color:#798699}.rs-arrow{font-size:12px;font-weight:600;margin-left:8px}.rs-arrow.up{color:#47cd89}.rs-arrow.down{color:#f04438}.rs-table td.rs-dev{background:#f0443852;color:#fff;font-weight:700}.rs-table tbody tr:hover td.rs-dev{background:#f0443866}.rs-table td.rs-flash:not(.rs-dev){animation:rsChanged 7s ease-out}.rs-table td.rs-flash.rs-dev{animation:rsChangedDev 7s ease-out}@keyframes rsChanged{0%,60%{background-color:#83a6ff47;box-shadow:inset 0 0 0 1px #83a6ff99}to{background-color:#111418;box-shadow:inset 0 0 0 1px #0000}}@keyframes rsChangedDev{0%,60%{box-shadow:inset 0 0 0 1px #83a6ffcc}to{box-shadow:inset 0 0 0 1px #0000}}.rs-empty{color:#98a8bf!important;height:160px!important}.rs-message{align-items:center;color:#98a8bf;display:flex;flex:1 1;flex-direction:column;font-size:15px;gap:12px;justify-content:center;min-height:240px}.rs-message-error{color:#f04438}.rs-retry{background:#256ef4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;height:36px;padding:0 16px}@media (max-width:1400px){.rs-summary{margin-left:0}}.sp-root{color:var(--smi-text-primary);display:flex;flex-direction:column;gap:10px}.sp-root button,.sp-root select{font-family:inherit}.sp-panel{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px 12px}.sp-panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.sp-panel-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.sp-field{align-items:center;display:inline-flex;gap:8px}.sp-field-label{color:var(--smi-text-secondary);font-size:14px;white-space:nowrap}.sp-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.sp-select{-webkit-appearance:none;appearance:none;background-color:var(--smi-bg-card);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239CA3AF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:14px;font-weight:500;height:40px;min-width:180px;padding:0 36px 0 14px}.sp-select option:disabled{color:var(--smi-text-muted)}.sp-grid-2{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.sp-chart{height:320px;min-width:0}.sp-note{font-size:12px}.sp-message,.sp-note{color:var(--smi-text-tertiary)}.sp-message{align-items:center;display:flex;font-size:14px;justify-content:center;min-height:120px}.sp-message-error{color:var(--smi-error);min-height:0}.sp-message-short{min-height:60px}.sp-scroll{overflow-x:auto}.sp-table{border:1px solid #ffffff14;border-collapse:initial;border-radius:8px;border-spacing:0;font-size:14px;overflow:hidden;width:100%}.sp-table td,.sp-table th{border-bottom:1px solid var(--smi-border);padding:12px 8px;text-align:center;white-space:nowrap}.sp-table th{background:#ffffff0a;color:var(--smi-text-secondary);font-weight:600}.sp-table td{background:#ffffff05;color:var(--smi-text-primary)}.sp-table tr:last-child td{border-bottom:none}.sp-table-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sp-table-warn{color:var(--smi-error)}.sp-cards{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.sp-cards-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sp-card{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:8px;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:16px}.sp-card-label{align-items:center;color:var(--smi-text-secondary);display:inline-flex;font-size:14px;gap:6px;white-space:nowrap}.sp-tag{border:1px solid var(--smi-text-muted);border-radius:3px;color:var(--smi-text-tertiary);font-size:11px;font-style:normal;line-height:18px;padding:0 6px}.sp-card-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:28px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1;white-space:nowrap}.sp-card-value small{color:var(--smi-text-secondary);font-size:13px;font-weight:400;margin-left:4px}.sp-root{flex:1 1;min-height:0}.sp-root>*{flex:none}.sp-charts-row{flex:1 1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(240px,.42fr);grid-template-rows:minmax(0,1fr);min-height:0}.sp-charts-row>.sp-panel{min-height:0}.sp-charts-row .sp-chart{flex:1 1;height:auto;min-height:120px}.sp-anomaly-panel .sp-scroll{flex:1 1;min-height:0;overflow:auto}.sp-anomaly-panel .sp-message-short{flex:1 1;min-height:60px}.sp-bottom-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.75fr)}.sp-bottom-row>.sp-panel{gap:8px;padding:10px 14px}.sp-bottom-row .sp-cards-6{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-bottom-row .sp-cards{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.sp-bottom-row .sp-card{padding:clamp(6px,1vh,12px) 12px}.sp-bottom-row .sp-card-label{font-size:13px}.sp-bottom-row .sp-card-value{font-size:clamp(18px,2.4vh,24px)}.sp-bottom-row .sp-message-error{font-size:12px}@media (max-width:1400px){.sp-charts-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(200px,.36fr)}}@media (max-width:1200px){.sp-root{flex:none}.sp-charts-row{flex:none;grid-template-columns:minmax(0,1fr);grid-template-rows:none}.sp-charts-row .sp-chart{flex:none;height:280px}.sp-bottom-row{grid-template-columns:minmax(0,1fr)}}@media (max-width:1400px){.sp-card-value{font-size:24px}.sp-cards-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1200px){.sp-cards,.sp-cards-6{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-grid-2{grid-template-columns:minmax(0,1fr)}.sp-chart{height:280px}}@media (max-width:600px){.sp-cards,.sp-cards-6{grid-template-columns:minmax(0,1fr)}.sp-select{min-width:0;width:100%}.sp-field{width:100%}}.sj-root{grid-gap:10px;color:var(--smi-text-primary);display:grid;gap:10px;grid-template-columns:minmax(300px,.62fr) minmax(0,1fr) minmax(360px,.95fr);grid-template-rows:auto auto}.sj-root-lstm{grid-template-columns:minmax(0,1.65fr) minmax(380px,1fr);grid-template-rows:auto}.sj-root button,.sj-root input,.sj-root select{font-family:inherit}.sj-info{grid-column:1;grid-row:1/span 2}.sj-history{grid-column:2;grid-row:1/span 2}.sj-compare{grid-column:3;grid-row:1}.sj-measured{grid-column:3;grid-row:2}.sj-panel{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px 16px 12px}.sj-panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.sj-panel-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.sj-title-row{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px}.sj-sub-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.sj-sub-title{color:var(--smi-text-primary);font-size:15px;font-weight:700;margin:0}.sj-divider{background:var(--smi-border);height:1px}.sj-footnote{font-size:12px;line-height:1.5;margin:auto 0 0}.sj-footnote,.sj-message{color:var(--smi-text-tertiary)}.sj-message{align-items:center;display:flex;font-size:14px;justify-content:center;min-height:160px}.sj-message-sm{font-size:13px;min-height:48px}.sj-message-error{color:var(--smi-error)}.sj-badge{align-items:center;border:1px solid;border-radius:4px;box-sizing:border-box;display:inline-flex;font-size:12px;font-weight:500;height:24px;padding:0 8px;white-space:nowrap}.sj-badge-success{color:var(--smi-success)}.sj-badge-error{color:var(--smi-error)}.sj-badge-warning{color:var(--smi-warning)}.sj-badge-muted{color:var(--smi-text-tertiary)}.sj-badge-accent{color:var(--smi-accent)}.sj-tag{border:1px solid var(--smi-text-muted);border-radius:3px;color:var(--smi-text-tertiary);font-size:11px;font-style:normal;line-height:18px;margin-right:6px;padding:0 6px;vertical-align:middle}.sj-drawing{align-items:center;background:var(--smi-bg-card);border:1px dashed var(--smi-border-strong);border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;height:200px;justify-content:center;padding:16px;position:relative}.sj-drawing img{max-height:130px;max-width:100%;object-fit:contain}.sj-drawing-icon{color:var(--smi-text-muted);font-size:48px}.sj-drawing-caption{color:var(--smi-text-tertiary);font-size:12px}.sj-rows{display:flex;flex-direction:column;gap:10px;margin:0}.sj-rows>div{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.sj-rows dt{color:var(--smi-text-secondary);font-size:14px;white-space:nowrap}.sj-rows dd{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:17px;font-variant-numeric:tabular-nums;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sj-measured-value small,.sj-rows dd small{color:var(--smi-text-tertiary);font-size:12px;font-weight:400;margin-left:4px}.sj-rows-setting dd{color:var(--smi-accent)}.sj-rows-setting dd small{color:var(--smi-accent);opacity:.8}.sj-controls{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px}.sj-select{-webkit-appearance:none;appearance:none;background-color:var(--smi-bg-card);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239CA3AF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:36px;padding:0 34px 0 12px}.sj-select:focus{outline:1px solid var(--smi-accent)}.sj-check-btn{align-items:center;border:1px solid var(--smi-error);border-radius:4px;box-sizing:border-box;color:var(--smi-error);cursor:pointer;display:inline-flex;font-size:14px;gap:8px;height:36px;padding:0 12px;position:relative;-webkit-user-select:none;user-select:none}.sj-check-btn input{cursor:pointer;height:100%;left:0;margin:0;opacity:0;position:absolute;top:0;width:100%}.sj-check-box{align-items:center;border:1px solid var(--smi-error);border-radius:2px;box-sizing:border-box;display:flex;height:16px;justify-content:center;width:16px}.sj-check-box .material-symbols-outlined{color:#fff;font-size:14px;opacity:0}.sj-check-btn.active .sj-check-box{background:var(--smi-error)}.sj-check-btn.active .sj-check-box .material-symbols-outlined{opacity:1}.sj-check-btn.active{background:#f044381f}.sj-table-wrap{border:1px solid var(--smi-border);border-radius:4px;max-height:560px;overflow:auto}.sj-table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.sj-table td,.sj-table th{font-feature-settings:"tnum";border-bottom:1px solid var(--smi-border);font-variant-numeric:tabular-nums;padding:12px 8px;text-align:center;white-space:nowrap}.sj-table th{background:var(--smi-bg-card);color:var(--smi-text-secondary);font-weight:500;position:-webkit-sticky;position:sticky;top:0;z-index:1}.sj-table td{color:var(--smi-text-primary)}.sj-table tbody tr{cursor:pointer}.sj-table tbody tr:hover td{background:#ffffff08}.sj-td-shot{font-weight:700}.sj-td-out{background:#f0443847;color:var(--smi-error)!important;font-weight:500}.sj-row-active td{background:#83a6ff14}.sj-row-active td:first-child{box-shadow:inset 2px 0 0 var(--smi-accent)}.sj-row-active td{border-bottom:1px solid var(--smi-accent);border-top:1px solid var(--smi-accent)}.sj-legend{color:var(--smi-text-secondary);font-size:12px;gap:12px}.sj-legend,.sj-legend span{align-items:center;display:inline-flex}.sj-legend span{gap:5px;white-space:nowrap}.sj-legend i{border-radius:2px;display:inline-block;height:10px;width:10px}.sj-radar{min-height:0;width:100%}.sj-compare-foot{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.sj-spec-note{color:var(--smi-text-tertiary);font-size:13px}.sj-spec-out{color:var(--smi-error)}.sj-spec-ok{color:var(--smi-success)}.sj-spec-box{background:var(--smi-bg-card);border-radius:6px;padding:14px 16px}.sj-spec-box,.sj-spec-box .sj-spec-note{font-size:14px}.sj-btn-primary{align-items:center;background:var(--smi-accent-strong);border:1px solid var(--smi-accent-strong);border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;height:40px;padding:0 16px;white-space:nowrap}.sj-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.sj-btn-primary:disabled{cursor:not-allowed;opacity:.5}.sj-btn-sm{font-size:13px;height:34px;padding:0 12px}.sj-btn-star{font-size:12px}.sj-icon-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--smi-text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.sj-icon-btn:hover{background:var(--smi-bg-raised);color:var(--smi-text-primary)}.sj-judge-inline{align-items:center;display:inline-flex;gap:8px}.sj-judge-label{color:var(--smi-text-secondary);font-size:14px}.sj-measured-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.sj-measured-card{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:6px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 8px}.sj-measured-label{color:var(--smi-text-secondary);font-size:12px;white-space:nowrap}.sj-measured-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:17px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.sj-measured-out{border-color:var(--smi-error)}.sj-measured-out .sj-measured-value,.sj-measured-out .sj-measured-value small{color:var(--smi-error)}.sj-root-detail{display:flex;flex-direction:column;gap:10px}.sj-detail-bar{align-items:center;display:flex}.sj-detail-body{height:920px;min-height:0}.sj-btn-back{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;display:inline-flex;font-size:14px;gap:6px;height:36px;padding:0 14px}.sj-btn-back:hover{background:var(--smi-bg-raised);border-color:var(--smi-border-hover)}.sj-btn-back .material-symbols-outlined{font-size:18px}.sj-lstm-body{display:flex;flex-direction:column;gap:12px}.sj-lstm-sub{color:var(--smi-text-primary);font-size:15px;font-weight:700;margin:4px 0 0}.sj-lstm-sub-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.sj-importance{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.sj-confidence,.sj-importance li{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:76px minmax(0,1fr) 44px}.sj-importance-label{color:var(--smi-text-primary);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sj-importance-track{background:var(--smi-bg-raised);border-radius:4px;display:block;height:8px;overflow:hidden}.sj-importance-fill{border-radius:4px;display:block;height:100%;transition:width .3s ease}.sj-fill-error{background:var(--smi-error)}.sj-fill-warning{background:var(--smi-warning)}.sj-fill-muted{background:var(--smi-text-tertiary)}.sj-fill-success{background:var(--smi-success)}.sj-importance-pct{font-feature-settings:"tnum";font-size:14px;font-variant-numeric:tabular-nums}.sj-confidence-pct,.sj-importance-pct{color:var(--smi-text-primary);text-align:right}.sj-confidence-pct{font-feature-settings:"tnum";font-size:20px;font-variant-numeric:tabular-nums;font-weight:700}.sj-lstm-note{background:var(--smi-bg-card);border-radius:6px;color:var(--smi-text-primary);font-size:14px;padding:12px 14px}.sj-rec-table{border:1px solid var(--smi-border);border-collapse:initial;border-radius:4px;border-spacing:0;font-size:14px;overflow:hidden;width:100%}.sj-rec-table td,.sj-rec-table th{border-bottom:1px solid var(--smi-border);border-right:1px solid var(--smi-border);padding:12px 14px;text-align:left}.sj-rec-table td:last-child,.sj-rec-table th:last-child{border-right:none}.sj-rec-table tr:last-child td{border-bottom:none}.sj-rec-table th{background:var(--smi-bg-card);color:var(--smi-text-secondary);font-weight:500}.sj-rec-table td{font-feature-settings:"tnum";color:var(--smi-text-primary);font-variant-numeric:tabular-nums}.sj-radar{flex:1 1;min-height:160px}@media (min-width:1501px){.sj-root{grid-template-rows:minmax(0,1fr) auto}.sj-root>.sj-panel{min-height:0}.sj-info{overflow-y:auto}.sj-history .sj-table-wrap{flex:1 1;max-height:none;min-height:0}.sj-compare{overflow:hidden}.sj-root-lstm{grid-template-rows:minmax(0,1fr)}.sj-root-lstm>*{min-height:0;overflow-y:auto}.sj-root-detail .sj-detail-body{flex:1 1;height:auto;overflow:auto}}@media (max-width:1500px){.sj-radar{flex:none;height:380px}.sj-root{grid-template-columns:minmax(280px,.7fr) minmax(0,1fr)}.sj-info{grid-column:1;grid-row:1}.sj-history{grid-column:2;grid-row:1}.sj-compare{grid-column:1/-1;grid-row:2}.sj-measured{grid-column:1/-1;grid-row:3}.sj-root-lstm{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.sj-root{grid-template-columns:minmax(0,1fr)}.sj-compare,.sj-history,.sj-info,.sj-measured{grid-column:1;grid-row:auto}.sj-measured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ss-root{--ss-match:var(--smi-success);--ss-check:var(--smi-warning);--ss-none:var(--smi-error);--ss-pending:var(--smi-text-tertiary);--ss-shot:var(--smi-accent);color:var(--smi-text-primary);display:flex;flex-direction:column;gap:14px}.ss-muted{color:var(--smi-text-tertiary)}.ss-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ss-right{text-align:right}.ss-head{gap:12px;justify-content:space-between}.ss-head,.ss-sources{align-items:center;display:flex;flex-wrap:wrap}.ss-sources{gap:8px}.ss-source-label{color:var(--smi-text-tertiary);font-size:14px;margin-right:2px}.ss-chip{border:1px solid;border-radius:12px;font-size:13px;padding:3px 10px}.ss-chip-demo{border-color:var(--smi-warning);color:var(--smi-warning)}.ss-chip-real{border-color:var(--smi-success);color:var(--smi-success)}.ss-chip-stale{border-color:var(--smi-error);color:var(--smi-error)}.ss-chip-muted{border-color:var(--smi-border-strong);color:var(--smi-text-tertiary)}.ss-engine{align-items:center;display:flex;font-size:14px;gap:6px;margin-left:auto}.ss-dot{background-color:var(--smi-text-tertiary);border-radius:50%;height:9px;width:9px}.ss-dot-on{background-color:var(--smi-success);box-shadow:0 0 0 3px #22c55e2e}.ss-warn{align-items:center;border:1px solid var(--smi-warning);border-radius:6px;color:var(--smi-warning);display:flex;flex-wrap:wrap;font-size:13px;gap:10px;padding:8px 12px}.ss-warn .material-symbols-outlined{font-size:18px}.ss-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.ss-kpi{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:78px;padding:12px 16px}.ss-kpi-label{color:var(--smi-text-tertiary);font-size:13px}.ss-kpi-value{font-feature-settings:"tnum";font-size:24px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.ss-kpi-good .ss-kpi-value{color:var(--smi-success)}.ss-kpi-bad .ss-kpi-value{color:var(--smi-error)}.ss-kpi-accent .ss-kpi-value{color:var(--smi-accent)}.ss-middle{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.ss-panel{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 16px}.ss-panel-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.ss-panel-title{font-size:15px;font-weight:600}.ss-panel-sub{color:var(--smi-text-tertiary);font-size:12px}.ss-tl{display:block;height:auto;width:100%}.ss-tl-axis{stroke:var(--smi-border-strong);stroke-width:1.5}.ss-tl-label{fill:var(--smi-text-secondary);font-size:14px;font-weight:600}.ss-tl-tick{fill:var(--smi-text-tertiary);text-anchor:middle;font-size:11px}.ss-tl-tick.ss-left{text-anchor:start}.ss-tl-note{font-size:12px}.ss-tl-note,.ss-tl-shotno{fill:var(--smi-text-tertiary)}.ss-tl-shotno{text-anchor:middle;font-size:11px}.ss-tl-window{fill:var(--smi-accent);opacity:.08}.ss-tl-pending-area{fill:var(--smi-text-tertiary);opacity:.06}.ss-tl-settle{stroke:var(--smi-text-tertiary);stroke-dasharray:4 4}.ss-tl-shot{fill:var(--ss-shot);stroke:var(--ss-shot);stroke-width:2}.ss-tl-shot-empty{fill:var(--smi-bg-panel)}.ss-tl-link{stroke-width:2.2;opacity:.85}.ss-tl-link.ss-tl-check{stroke-dasharray:6 4}.ss-tl-img.ss-tl-pending{fill:none;stroke:var(--ss-pending);stroke-width:1.5}.ss-tl-match{fill:var(--ss-match);stroke:var(--ss-match);background-color:var(--ss-match)}.ss-tl-check{fill:var(--ss-check);stroke:var(--ss-check);background-color:var(--ss-check)}.ss-tl-none{fill:var(--ss-none);stroke:var(--ss-none);background-color:var(--ss-none)}.ss-tl-pending{stroke:var(--ss-pending)}.ss-legend{color:var(--smi-text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:14px}.ss-legend span{align-items:center;display:inline-flex;gap:6px}.ss-legend i{display:inline-block}.ss-lg-shot{background-color:var(--ss-shot);border:2px solid var(--ss-shot);border-radius:50%;height:10px;width:10px}.ss-lg-shot.ss-lg-empty{background-color:initial}.ss-lg-img{border-radius:2px;height:10px;width:10px}.ss-lg-img.ss-tl-pending{background-color:initial;border:1.5px solid var(--ss-pending)}.ss-lg-window{background-color:var(--smi-accent);border-radius:3px;height:10px;opacity:.25;width:18px}.ss-trend-svg{display:block;height:auto;width:100%}.ss-bar{stroke:none}.ss-trend-foot{color:var(--smi-text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;justify-content:space-between}.ss-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.ss-filter-label{font-size:15px;margin-left:4px}.ss-select-wrap{display:inline-flex;position:relative}.ss-select{appearance:none;-webkit-appearance:none;background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:38px;min-width:150px;padding:0 36px 0 12px}.ss-select-icon{color:var(--smi-text-tertiary);pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.ss-seg{border:1px solid var(--smi-border-strong);border-radius:4px;display:inline-flex;overflow:hidden}.ss-seg-btn{background-color:var(--smi-bg-panel);border:none;border-right:1px solid var(--smi-border-strong);color:var(--smi-text-secondary);cursor:pointer;font-size:14px;height:38px;padding:0 14px}.ss-seg-btn:last-child{border-right:none}.ss-seg-btn.active{background-color:var(--smi-accent);color:#fff}.ss-reasons{font-size:13px}.ss-reasons,.ss-result-count{color:var(--smi-text-tertiary)}.ss-result-count{font-size:14px;margin-left:auto}.ss-table-wrap{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;overflow-x:auto}.ss-table{border-collapse:collapse;font-size:14px;width:100%}.ss-table td,.ss-table th{border-bottom:1px solid var(--smi-border-strong);padding:7px 12px;text-align:left;vertical-align:middle;white-space:nowrap}.ss-table th{background-color:var(--smi-bg-card);color:var(--smi-text-tertiary);font-size:13px;font-weight:500}.ss-table td.ss-right,.ss-table th.ss-right{text-align:right}.ss-table tbody tr{cursor:pointer}.ss-table tbody tr:hover{background-color:var(--smi-bg-raised)}.ss-row-none td:first-child{box-shadow:inset 3px 0 0 var(--ss-none)}.ss-thumb{border-radius:3px;display:block;height:40px;object-fit:cover;width:64px}.ss-badge{align-items:center;border:1px solid;border-radius:3px;display:inline-flex;font-size:12px;font-weight:500;height:24px;justify-content:center;min-width:64px;padding:0 8px}.ss-badge-match{border-color:var(--ss-match);color:var(--ss-match)}.ss-badge-check{border-color:var(--ss-check);color:var(--ss-check)}.ss-badge-none{border-color:var(--ss-none);color:var(--ss-none)}.ss-badge-pending{border-color:var(--ss-pending);color:var(--ss-pending)}.ss-conf{align-items:center;display:inline-flex;gap:8px}.ss-conf-bar{background-color:var(--smi-bg-card);border-radius:4px;display:inline-block;height:8px;overflow:hidden;width:80px}.ss-conf-fill{border-radius:4px;display:block;height:100%}.ss-verdict{font-size:13px;font-weight:500}.ss-verdict-ok{color:var(--smi-success)}.ss-verdict-ng{color:var(--smi-error)}.ss-demo-tag{border:1px solid var(--smi-warning);border-radius:8px;color:var(--smi-warning);font-size:11px;margin-left:6px;padding:1px 6px}.ss-pagination{align-items:center;display:flex;gap:14px;justify-content:center}.ss-page-nav{align-items:center;background:none;border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-secondary);cursor:pointer;display:inline-flex;gap:2px;height:32px;padding:0 10px}.ss-page-nav:disabled{cursor:default;opacity:.4}.ss-page-info{font-feature-settings:"tnum";color:var(--smi-text-secondary);font-size:14px;font-variant-numeric:tabular-nums}.ss-note{font-size:12px;line-height:1.5}.ss-message,.ss-note{color:var(--smi-text-tertiary)}.ss-message{font-size:14px;padding:28px;text-align:center}.ss-message-error{color:var(--smi-error)}.ss-empty{align-items:center;background-color:var(--smi-bg-panel);border:1px dashed var(--smi-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:10px;padding:56px 24px;text-align:center}.ss-empty-icon{color:var(--smi-text-tertiary);font-size:40px}.ss-empty-title{font-size:17px;font-weight:600}.ss-empty-desc{color:var(--smi-text-secondary);font-size:14px;line-height:1.6;max-width:560px}.ss-empty-meta{color:var(--smi-text-tertiary);font-size:13px}.ss-modal-backdrop{align-items:center;background-color:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.ss-modal{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:8px;display:flex;flex-direction:column;max-height:90vh;overflow:auto;width:min(920px,92vw)}.ss-modal-head{align-items:center;border-bottom:1px solid var(--smi-border-strong);display:flex;justify-content:space-between;padding:14px 18px}.ss-modal-title{font-size:16px;font-weight:600}.ss-modal-close{background:none;border:none;color:var(--smi-text-secondary);cursor:pointer}.ss-modal-body{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding:18px}.ss-modal-img{align-items:center;background-color:var(--smi-bg-card);border-radius:6px;display:flex;justify-content:center;min-height:240px}.ss-modal-img img{border-radius:4px;max-height:60vh;max-width:100%}.ss-modal-info{grid-gap:10px 14px;align-content:start;display:grid;font-size:14px;gap:10px 14px;grid-template-columns:auto 1fr;margin:0}.ss-modal-info dt{color:var(--smi-text-tertiary)}.ss-modal-info dd{margin:0}.ss-modal-note{color:var(--smi-text-tertiary);font-size:12px;line-height:1.5;padding:0 18px 16px}.ss-source-note{align-items:center;color:var(--smi-warning);display:flex;font-size:13px;gap:6px}.ss-source-note .material-symbols-outlined{font-size:16px}.ss-inline{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}@media (max-width:1440px){.ss-kpi-value{font-size:20px}.ss-kpi-label{font-size:12px}.ss-middle{grid-template-columns:minmax(0,1fr)}}.vi-root{color:var(--smi-text-primary);display:flex;flex-direction:column;gap:16px}.vi-type-FLASH{--vi-type:#f59e0b}.vi-type-WELDLINE{--vi-type:#a855f7}.vi-type-SHORT{--vi-type:#ef4444}.vi-type-SINK{--vi-type:#06b6d4}.vi-type-UNKNOWN{--vi-type:#9ca3af}.vi-type-dot{background-color:#9ca3af;background-color:var(--vi-type,#9ca3af);border-radius:50%;display:inline-block;flex-shrink:0;height:10px;margin-right:6px;width:10px}.vi-top{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.vi-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.vi-kpi{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:96px;padding:16px}.vi-kpi-label{color:var(--smi-text-tertiary);font-size:14px}.vi-kpi-value{font-feature-settings:"tnum";font-size:28px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.vi-kpi-good .vi-kpi-value{color:var(--smi-success)}.vi-kpi-bad .vi-kpi-value{color:var(--smi-error)}.vi-kpi-muted .vi-kpi-value{color:var(--smi-text-tertiary)}.vi-types{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:12px 16px}.vi-types-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:2px}.vi-panel-title{font-size:15px;font-weight:600}.vi-types-sub{color:var(--smi-text-tertiary);font-size:13px}.vi-type-row{grid-gap:8px;align-items:center;background:none;border:1px solid #0000;border-radius:4px;color:var(--smi-text-primary);cursor:pointer;display:grid;font-size:14px;gap:8px;grid-template-columns:16px 72px minmax(0,1fr) 48px 40px;margin:0 -6px;padding:3px 6px;text-align:left}.vi-type-row:hover{background-color:var(--smi-bg-raised)}.vi-type-row.active{border-color:var(--smi-accent)}.vi-type-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vi-type-bar{background-color:var(--smi-bg-card);border-radius:5px;height:10px;overflow:hidden}.vi-type-fill{background-color:var(--vi-type);border-radius:5px;display:block;height:100%;transition:width .3s}.vi-type-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.vi-type-pct{font-feature-settings:"tnum";color:var(--smi-text-tertiary);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.vi-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.vi-filter-label{font-size:15px;margin-left:4px}.vi-select-wrap{display:inline-flex;position:relative}.vi-select{appearance:none;-webkit-appearance:none;background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:15px;height:40px;min-width:160px;outline:none;padding:0 40px 0 12px}.vi-select:focus{border-color:var(--smi-accent)}.vi-select-icon{color:var(--smi-text-tertiary);font-size:22px;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.vi-seg{border:1px solid var(--smi-border-strong);border-radius:4px;display:inline-flex;overflow:hidden}.vi-seg-btn{background-color:var(--smi-bg-panel);border:none;border-right:1px solid var(--smi-border-strong);color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:38px;padding:0 16px}.vi-seg-btn:last-child{border-right:none}.vi-seg-btn:hover:not(.active){background-color:var(--smi-bg-raised)}.vi-seg-btn.active{background-color:var(--smi-accent)}.vi-chips{flex-wrap:wrap;gap:6px}.vi-chip,.vi-chips{display:inline-flex}.vi-chip{align-items:center;background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:17px;color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:34px;padding:0 12px}.vi-chip:hover:not(.active){border-color:var(--smi-border-hover)}.vi-chip.active{border-color:var(--smi-accent);color:var(--smi-accent)}.vi-result-count{color:var(--smi-text-tertiary);font-size:14px;margin-left:auto}.vi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.vi-card{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;color:var(--smi-text-primary);cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:12px;text-align:left;transition:border-color .15s}.vi-card:hover{border-color:var(--smi-accent)}.vi-card-ng{border-color:var(--smi-error)}.vi-card-img{align-items:center;aspect-ratio:7/4;background-color:#2b2f36;border:1px solid #343941;border-radius:4px;display:flex;justify-content:center;overflow:hidden;position:relative}.vi-card-img img{display:block;height:100%;object-fit:contain;width:100%}.vi-card-noimg{color:var(--smi-text-tertiary);font-size:13px}.vi-type-tag{background-color:var(--vi-type);border-radius:3px;color:#111418;font-size:12px;font-weight:600;left:8px;padding:3px 8px;position:absolute;top:8px}.vi-card-footer{align-items:center;display:flex;gap:12px}.vi-card-title{flex:1 1;font-size:16px}.vi-card-time{font-feature-settings:"tnum";color:var(--smi-text-primary);color:var(--smi-text-secondary,var(--smi-text-primary));font-size:15px;font-variant-numeric:tabular-nums}.vi-badge{align-items:center;border:1px solid;border-radius:3px;display:inline-flex;font-size:13px;font-weight:500;height:26px;justify-content:center;min-width:52px;padding:0 10px}.vi-badge-ok{border-color:var(--smi-success);color:var(--smi-success)}.vi-badge-ng{border-color:var(--smi-error);color:var(--smi-error)}.vi-message{align-items:center;color:var(--smi-text-tertiary);display:flex;font-size:14px;justify-content:center;min-height:240px}.vi-message-error{color:var(--smi-error)}.vi-pagination{display:flex;gap:8px}.vi-page-nav,.vi-page-num,.vi-pagination{align-items:center;justify-content:center}.vi-page-nav,.vi-page-num{background:none;border:none;border-radius:6px;color:var(--smi-text-primary);cursor:pointer;display:inline-flex;font-size:16px;height:40px;min-width:40px;padding:0 8px}.vi-page-nav .material-symbols-outlined{font-size:20px}.vi-page-nav:hover:not(:disabled),.vi-page-num:hover:not(.active){background-color:var(--smi-bg-raised)}.vi-page-nav:disabled{color:var(--smi-text-muted);cursor:not-allowed}.vi-page-num.active{background-color:var(--smi-accent);cursor:default}.vi-page-gap{color:var(--smi-text-tertiary);letter-spacing:2px;padding:0 4px}.vi-modal-backdrop{align-items:center;background-color:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.vi-modal{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:8px;color:var(--smi-text-primary);max-height:100%;overflow:auto;width:min(1000px,100%)}.vi-modal-head{align-items:center;border-bottom:1px solid var(--smi-border-strong);display:flex;justify-content:space-between;padding:14px 18px}.vi-modal-title{font-size:17px;font-weight:600}.vi-modal-close{background:none;border:none;color:var(--smi-text-tertiary);cursor:pointer;display:inline-flex}.vi-modal-close:hover{color:var(--smi-text-primary)}.vi-modal-body{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);padding:18px}.vi-modal-img{align-items:center;aspect-ratio:7/4;background-color:#2b2f36;border-radius:4px;display:flex;justify-content:center;overflow:hidden}.vi-modal-img img{height:100%;object-fit:contain;width:100%}.vi-modal-info{grid-gap:12px 16px;align-content:start;display:grid;font-size:14px;gap:12px 16px;grid-template-columns:-webkit-max-content minmax(0,1fr);grid-template-columns:max-content minmax(0,1fr);margin:0}.vi-modal-info dt{color:var(--smi-text-tertiary)}.vi-modal-info dd{align-items:center;display:flex;margin:0;word-break:break-all}.vi-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.vi-small{font-size:12px}.vi-modal-note,.vi-muted{color:var(--smi-text-tertiary)}.vi-modal-note{font-size:12px;padding:0 18px 16px}.vi-root>*{flex:none}.vi-root>.vi-grid,.vi-root>.vi-message{flex:1 1;min-height:0}.vi-kpi{gap:4px;min-height:0;padding:clamp(8px,1.2vh,16px) 16px}.vi-kpi-value{font-size:clamp(22px,3vh,28px)}.vi-types{grid-column-gap:18px;grid-row-gap:2px;align-content:center;column-gap:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2px}.vi-types-head{grid-column:1/-1}.vi-type-row{grid-template-columns:14px 78px minmax(0,1fr) 40px 36px;margin:0}.vi-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.vi-card{gap:8px;min-height:0;padding:10px}.vi-card-img{aspect-ratio:auto;flex:1 1;min-height:0}@media (max-width:1440px){.vi-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.vi-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.vi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1200px){.vi-top{grid-template-columns:minmax(0,1fr)}.vi-root>.vi-grid{flex:none}.vi-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.vi-card-img{aspect-ratio:7/4;flex:none}}@media (max-width:1024px){.vi-grid,.vi-modal-body{grid-template-columns:minmax(0,1fr)}.vi-result-count{margin-left:0;width:100%}}.fu-root{--fu-vision:#38bdf8;--fu-process:#f59e0b;--fu-fusion:#a78bfa;color:var(--smi-text-primary);display:flex;flex-direction:column;gap:14px}.fu-tone-vision{background-color:var(--fu-vision)}.fu-tone-process{background-color:var(--fu-process)}.fu-tone-fusion{background-color:var(--fu-fusion)}.fu-tone-ng{background-color:var(--smi-error)}.fu-c-vision{color:var(--fu-vision)}.fu-c-process{color:var(--fu-process)}.fu-c-ng{color:var(--smi-error)}.fu-c-ok{color:var(--smi-success)}.fu-type-FLASH{--fu-type:#f59e0b}.fu-type-WELDLINE{--fu-type:#a855f7}.fu-type-SHORT{--fu-type:#ef4444}.fu-type-SINK{--fu-type:#06b6d4}.fu-type-PROCESS{--fu-type:#f97316}.fu-type-DEFAULT{--fu-type:#9ca3af}.fu-panel{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px}.fu-panel-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.fu-panel-title{font-size:15px;font-weight:600}.fu-panel-sub{font-size:13px}.fu-note,.fu-panel-sub{color:var(--smi-text-tertiary)}.fu-note{font-size:12px;line-height:1.5}.fu-muted{color:var(--smi-text-tertiary)}.fu-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fu-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.fu-top{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.fu-formula-eq{font-family:Times New Roman,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:.3px;padding:10px 0 2px}.fu-formula-eq sub{font-size:13px}.fu-formula-rule{color:var(--smi-text-tertiary);font-size:14px}.fu-formula-legend{display:flex;flex-direction:column;font-size:13px;gap:6px;list-style:none;margin:4px 0 0;padding:0}.fu-formula-legend li{align-items:center;display:flex;gap:8px}.fu-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.fu-version{border:1px solid var(--smi-border-strong);border-radius:10px;color:var(--smi-text-tertiary);font-size:12px;padding:2px 8px;white-space:nowrap}.fu-version-plan{border-color:var(--smi-warning);color:var(--smi-warning)}.fu-wtable{border-collapse:collapse;font-size:14px;width:100%}.fu-wtable td,.fu-wtable th{border-bottom:1px solid var(--smi-border-strong);padding:6px 8px;text-align:left}.fu-wtable th{color:var(--smi-text-tertiary);font-size:13px;font-weight:500}.fu-wtable tr:last-child td{border-bottom:none}.fu-split{background:var(--smi-bg-card);border-radius:4px;display:flex;height:8px;overflow:hidden;width:120px}.fu-split-v{background-color:var(--fu-vision)}.fu-split-p{background-color:var(--fu-process)}.fu-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.fu-kpi{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;color:var(--smi-text-primary);display:flex;flex-direction:column;font:inherit;gap:6px;padding:14px 16px;text-align:left}.fu-kpi:disabled{cursor:default}.fu-kpi-click{cursor:pointer}.fu-kpi-click:hover{border-color:var(--smi-border-hover)}.fu-kpi.active{border-color:var(--smi-accent)}.fu-kpi-label{color:var(--smi-text-tertiary);font-size:13px}.fu-kpi-value{font-feature-settings:"tnum";font-size:26px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.fu-kpi-sub{color:var(--smi-text-tertiary);font-size:12px}.fu-kpi-process .fu-kpi-value{color:var(--fu-process)}.fu-kpi-vision .fu-kpi-value{color:var(--fu-vision)}.fu-kpi-fusion .fu-kpi-value{color:var(--fu-fusion)}.fu-kpi-muted .fu-kpi-value{color:var(--smi-text-tertiary)}.fu-mid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.fu-matrix{grid-gap:8px;display:grid;gap:8px;grid-template-columns:90px repeat(2,minmax(0,1fr))}.fu-mx-head{align-self:end;color:var(--smi-text-tertiary);font-size:13px;text-align:center}.fu-mx-row{align-self:center;padding-right:4px;text-align:right}.fu-mx-cell{align-items:center;background-color:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:6px;color:var(--smi-text-primary);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:4px;justify-content:center;min-height:74px}.fu-mx-cell:hover{border-color:var(--smi-border-hover)}.fu-mx-cell.active{border-color:var(--smi-accent)}.fu-mx-disagree{border-color:var(--fu-fusion);border-style:dashed}.fu-mx-both{border-color:var(--smi-error)}.fu-mx-total{font-feature-settings:"tnum";font-size:22px;font-variant-numeric:tabular-nums;font-weight:600}.fu-mx-fused{color:var(--fu-fusion);font-size:12px}.fu-type-row{grid-gap:8px;align-items:center;display:grid;font-size:14px;gap:8px;grid-template-columns:14px 92px minmax(0,1fr) 48px}.fu-type-dot{background-color:var(--fu-type);border-radius:50%;height:10px;width:10px}.fu-type-bar{background-color:var(--smi-bg-card);border-radius:5px;height:10px;overflow:hidden}.fu-type-fill{background-color:var(--fu-type);border-radius:5px;display:block;height:100%;transition:width .3s}.fu-type-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.fu-type-tag{background-color:var(--fu-type);border-radius:3px;color:#111418;font-size:11px;font-weight:600;padding:1px 6px;white-space:nowrap}.fu-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.fu-filter-label{font-size:15px;margin-left:4px}.fu-select-wrap{display:inline-flex;position:relative}.fu-select{appearance:none;-webkit-appearance:none;background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:15px;height:40px;min-width:160px;outline:none;padding:0 40px 0 12px}.fu-select:focus{border-color:var(--smi-accent)}.fu-select-icon{color:var(--smi-text-tertiary);font-size:22px;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.fu-seg{border:1px solid var(--smi-border-strong);border-radius:4px;display:inline-flex;overflow:hidden}.fu-seg-btn{background-color:var(--smi-bg-panel);border:none;border-right:1px solid var(--smi-border-strong);color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:38px;padding:0 16px}.fu-seg-btn:last-child{border-right:none}.fu-seg-btn.active{background-color:var(--smi-accent)}.fu-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.fu-chip{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:17px;color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:34px;padding:0 12px}.fu-chip:hover:not(.active){border-color:var(--smi-border-hover)}.fu-chip.active{border-color:var(--smi-accent);color:var(--smi-accent)}.fu-result-count{color:var(--smi-text-tertiary);font-size:14px;margin-left:auto}.fu-table-wrap{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:6px;overflow-x:auto}.fu-table{border-collapse:collapse;font-size:14px;width:100%}.fu-table td,.fu-table th{border-bottom:1px solid var(--smi-border-strong);padding:9px 12px;text-align:left;white-space:nowrap}.fu-table th{background-color:var(--smi-bg-card);color:var(--smi-text-tertiary);font-size:13px;font-weight:500}.fu-table tbody tr{cursor:pointer}.fu-table tbody tr:hover{background-color:var(--smi-bg-raised)}.fu-row-ng td:first-child{box-shadow:inset 3px 0 0 var(--smi-error)}.fu-col-score{min-width:200px}.fu-weight{font-size:13px}.fu-cell-score{align-items:center;display:inline-flex;gap:8px}.fu-bar{background:var(--smi-bg-card);border-radius:4px;display:inline-block;height:8px;overflow:visible;position:relative;width:110px}.fu-bar-fill{border-radius:4px;display:block;height:100%}.fu-bar-theta{background-color:var(--smi-text-primary);height:14px;opacity:.8;position:absolute;top:-3px;width:2px}.fu-badge{align-items:center;border:1px solid;border-radius:3px;display:inline-flex;font-size:12px;font-weight:500;height:24px;justify-content:center;min-width:44px;padding:0 8px}.fu-badge-ok{border-color:var(--smi-success);color:var(--smi-success)}.fu-badge-ng{border-color:var(--smi-error);color:var(--smi-error)}.fu-case{background-color:var(--smi-bg-card);border-radius:10px;color:var(--smi-text-tertiary);font-size:12px;padding:2px 8px}.fu-case-both_ng{color:var(--smi-error)}.fu-case-both_ok_fused_ng,.fu-case-process_only_ng_fused_ng,.fu-case-vision_only_ng_fused_ng{border:1px solid var(--fu-fusion);color:var(--fu-fusion)}.fu-case-process_only_ng_fused_ok,.fu-case-vision_only_ng_fused_ok{color:var(--fu-process)}.fu-message{align-items:center;color:var(--smi-text-tertiary);display:flex;font-size:14px;justify-content:center;min-height:200px}.fu-message-error{color:var(--smi-error)}.fu-pagination{align-items:center;display:flex;gap:12px;justify-content:center}.fu-page-nav{align-items:center;background:none;border:none;border-radius:6px;color:var(--smi-text-primary);cursor:pointer;display:inline-flex;font-size:15px;gap:2px;height:36px;padding:0 10px}.fu-page-nav:hover:not(:disabled){background-color:var(--smi-bg-raised)}.fu-page-nav:disabled{color:var(--smi-text-muted);cursor:not-allowed}.fu-page-info{font-feature-settings:"tnum";color:var(--smi-text-tertiary);font-size:14px;font-variant-numeric:tabular-nums}.fu-modal-backdrop{align-items:center;background-color:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.fu-modal{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:8px;color:var(--smi-text-primary);max-height:100%;overflow:auto;width:min(1080px,100%)}.fu-modal-head{align-items:center;border-bottom:1px solid var(--smi-border-strong);display:flex;justify-content:space-between;padding:14px 18px}.fu-modal-title{font-size:17px;font-weight:600}.fu-modal-close{background:none;border:none;color:var(--smi-text-tertiary);cursor:pointer;display:inline-flex}.fu-modal-close:hover{color:var(--smi-text-primary)}.fu-modal-body{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding:18px}.fu-modal-img{align-items:center;aspect-ratio:7/4;background-color:#2b2f36;border-radius:4px;display:flex;justify-content:center;overflow:hidden}.fu-modal-img img{height:100%;object-fit:contain;width:100%}.fu-modal-right{display:flex;flex-direction:column;gap:12px}.fu-score-line{grid-gap:10px;align-items:center;display:grid;font-size:14px;gap:10px;grid-template-columns:48px minmax(0,1fr) 52px 52px}.fu-score-line .fu-bar{width:100%}.fu-score-name{color:var(--smi-text-tertiary)}.fu-score-final{border-top:1px solid var(--smi-border-strong);padding-top:6px}.fu-calc{background-color:var(--smi-bg-card);border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.fu-calc-title{color:var(--smi-text-tertiary);font-size:13px}.fu-calc-eq{font-size:15px}.fu-calc-meta{color:var(--smi-text-tertiary);font-size:12px}.fu-info{grid-gap:8px 14px;display:grid;font-size:14px;gap:8px 14px;grid-template-columns:-webkit-max-content minmax(0,1fr);grid-template-columns:max-content minmax(0,1fr);margin:0}.fu-info dt{color:var(--smi-text-tertiary)}.fu-info dd{margin:0;word-break:break-all}.fu-root>*{flex:none}.fu-root>.fu-message,.fu-root>.fu-table-wrap{flex:1 1;min-height:0}.fu-kpi{gap:2px;padding:clamp(8px,1.1vh,14px) 14px}.fu-kpi-value{font-size:clamp(20px,2.7vh,26px)}.fu-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr)}.fu-top>.fu-panel{gap:6px;padding:10px 14px}.fu-formula-line{align-items:baseline;display:flex;flex-wrap:wrap;gap:14px}.fu-formula-line .fu-formula-eq{font-size:17px;padding:0}.fu-formula-line .fu-formula-rule{font-size:12px}.fu-wtable td,.fu-wtable th{font-size:13px;padding:clamp(2px,.45vh,6px) 8px}.fu-note-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fu-matrix{gap:6px;grid-template-columns:76px repeat(2,minmax(0,1fr))}.fu-mx-cell{min-height:clamp(44px,6.5vh,74px)}.fu-mx-total{font-size:clamp(17px,2.2vh,22px)}.fu-type-row{font-size:13px}.fu-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1}.fu-table td,.fu-table th{padding:clamp(5px,.8vh,9px) 12px}.fu-foot{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.fu-foot .fu-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1440px){.fu-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.fu-kpi-label{font-size:12px}.fu-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr)}}@media (max-width:1200px){.fu-root>.fu-table-wrap{flex:none;max-height:560px}.fu-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.fu-foot,.fu-top{grid-template-columns:minmax(0,1fr)}}@media (max-width:1024px){.fu-modal-body{grid-template-columns:minmax(0,1fr)}.fu-result-count{margin-left:0;width:100%}}.pd-root{color:var(--smi-text-primary);gap:10px}.pd-panel,.pd-root{display:flex;flex-direction:column}.pd-panel{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;box-sizing:border-box;gap:12px;min-width:0;padding:14px 16px 12px}.pd-panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.pd-panel-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.pd-footnote,.pd-note{color:var(--smi-text-tertiary);font-size:12px}.pd-footnote{line-height:1.5;margin:0}.pd-message{align-items:center;color:var(--smi-text-tertiary);display:flex;font-size:14px;justify-content:center;min-height:200px}.pd-message-error{color:var(--smi-error)}.pd-chart{height:440px;width:100%}.pd-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.pd-kpi{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:8px;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:16px 20px}.pd-kpi-label{align-items:center;color:var(--smi-text-secondary);display:inline-flex;font-size:14px;gap:6px;white-space:nowrap}.pd-tag{border:1px solid var(--smi-text-muted);border-radius:3px;color:var(--smi-text-tertiary);font-size:11px;font-style:normal;line-height:18px;padding:0 6px}.pd-kpi-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:28px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1;white-space:nowrap}.pd-kpi-value small{color:var(--smi-text-secondary);font-size:13px;font-weight:400;margin-left:4px}@media (max-width:1400px){.pd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-chart{height:360px}}.pd-root>*{flex:none}.pd-root>.pd-panel:first-child{flex:1 1;min-height:0}.pd-root>.pd-panel:first-child .pd-chart{flex:1 1;height:auto;min-height:140px}.pd-root>.pd-panel:first-child .pd-message{flex:1 1;min-height:0}.pd-root>.pd-panel:not(:first-child){gap:8px;padding-bottom:10px;padding-top:10px}.pd-kpi{padding:clamp(8px,1.3vh,16px) 20px}.pd-kpi-value{font-size:clamp(22px,2.8vh,28px)}@media (max-width:1200px){.pd-root>.pd-panel:first-child{flex:none}.pd-root>.pd-panel:first-child .pd-chart{flex:none;height:360px}}@media (max-width:700px){.pd-kpis{grid-template-columns:minmax(0,1fr)}.pd-kpi-value{font-size:22px}}.ip-root{background-color:var(--smi-bg-page);box-sizing:border-box;color:var(--smi-text-primary);display:flex;flex-direction:column;gap:16px;min-height:100%;padding:4px 16px 16px}.ip-subtabs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);max-width:880px}.ip-subtab{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:15px;font-weight:500;height:40px;padding:0 16px;transition:border-color .15s,color .15s,background-color .15s}.ip-subtab:hover:not(.active){background-color:var(--smi-bg-raised);border-color:var(--smi-border-hover)}.ip-subtab.active{border-color:var(--smi-accent);color:var(--smi-accent);cursor:default}.ip-root{height:100%;min-height:560px}.ip-subtabs{flex:none}.ip-root>.fu-root,.ip-root>.pd-root,.ip-root>.sj-root,.ip-root>.sp-root,.ip-root>.vi-root{flex:1 1;min-height:0}@media (max-width:1200px){.ip-root{height:auto}.ip-root>.fu-root,.ip-root>.pd-root,.ip-root>.sj-root,.ip-root>.sp-root,.ip-root>.vi-root{flex:none}}@media (max-width:1024px){.ip-subtabs{grid-template-columns:repeat(2,1fr)!important;max-width:none}}.ov-root{color:var(--smi-text-primary);gap:8px;min-height:100%;padding:4px 0 8px}.ov-panel,.ov-root{box-sizing:border-box;display:flex;flex-direction:column}.ov-panel{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;min-width:0;padding:14px 16px}.ov-panel-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.ov-panel-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.ov-link{align-items:center;background:none;border:none;color:var(--smi-accent);cursor:pointer;display:inline-flex;font-size:13px;gap:2px;padding:0;white-space:nowrap}.ov-link .material-symbols-outlined{font-size:18px}.ov-link:hover{color:#93c5fd}.ov-message{align-items:center;color:var(--smi-text-tertiary);display:flex;font-size:14px;justify-content:center;min-height:240px}.ov-message-error{color:var(--smi-error)}.ov-empty{align-items:center;color:var(--smi-text-muted);display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:120px}.ov-row-top{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,3fr) minmax(320px,2fr)}.ov-status-chip{align-items:center;border:1px solid;border-radius:4px;display:inline-flex;font-size:13px;gap:6px;height:26px;padding:0 10px;white-space:nowrap}.ov-status-running{background:#22c55e14;border-color:var(--smi-success);color:var(--smi-success)}.ov-status-idle{background:#f59e0b14;border-color:var(--smi-warning);color:var(--smi-warning)}.ov-status-stopped{background:#6b72801a;border-color:var(--smi-text-muted);color:var(--smi-text-tertiary)}.ov-estimate-tag{background:#ffffff14;border-radius:3px;color:var(--smi-text-secondary);font-size:11px;font-style:normal;padding:0 5px}.ov-realtime-body{grid-gap:12px;align-items:stretch;display:grid;flex:1 1;gap:12px;grid-template-columns:minmax(0,1fr) 300px}.ov-model{align-items:center;display:flex;min-width:0;padding:0 4px;position:relative}.ov-model-stage{aspect-ratio:767/398;isolation:isolate;position:relative}.ov-model-stage svg{display:block;height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.ov-model-loading,.ov-model-stage svg+svg{pointer-events:none}.ov-model-loading{align-items:center;color:var(--smi-text-muted);display:flex;font-size:13px;inset:0;justify-content:center;position:absolute}.ov-values{background:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:6px;padding:14px 16px}.ov-values-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0 0 10px}.ov-quality-list,.ov-values-list{display:flex;flex-direction:column;margin:0}.ov-quality-list>div,.ov-values-list>div{align-items:baseline;border-bottom:1px solid var(--smi-border);display:flex;gap:12px;justify-content:space-between;padding:9px 0}.ov-quality-list>div:last-child,.ov-values-list>div:last-child{border-bottom:none}.ov-quality-list dt,.ov-values-list dt{color:var(--smi-text-secondary);font-size:14px;white-space:nowrap}.ov-quality-list dd,.ov-values-list dd{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:24px;font-variant-numeric:tabular-nums;font-weight:500;margin:0;white-space:nowrap}.ov-donut-value small,.ov-kpi-value small,.ov-quality-list dd small,.ov-temp-value small,.ov-values-list dd small{color:var(--smi-text-secondary);font-size:14px;font-weight:400;margin-left:4px}.ov-rec{align-items:center;color:var(--smi-error);display:inline-flex;font-size:13px;gap:6px;letter-spacing:.04em}.ov-rec i{animation:ov-blink 1.2s ease-in-out infinite;background:var(--smi-error);border-radius:50%;height:8px;width:8px}@keyframes ov-blink{0%,to{opacity:1}50%{opacity:.25}}.ov-cctv-view{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:6px;color:var(--smi-text-tertiary);display:flex;flex:1 1;flex-direction:column;font-size:14px;gap:6px;justify-content:center;min-height:320px}.ov-cctv-view small{color:var(--smi-text-muted);font-size:12px}.ov-kpis{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.ov-kpi{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;min-height:96px;padding:14px 16px}.ov-kpi-alert{border-color:var(--smi-error)}.ov-kpi-alert .ov-kpi-value{color:var(--smi-error)}.ov-kpi-label{font-size:17px;font-weight:600}.ov-kpi-label,.ov-kpi-value{color:var(--smi-text-primary)}.ov-kpi-value{font-feature-settings:"tnum";align-self:flex-end;font-size:34px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.ov-row-bottom{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.ov-temp-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.ov-temp-tile{background:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:6px;flex-direction:column;padding:12px 14px}.ov-temp-head,.ov-temp-tile{align-items:center;display:flex;gap:10px}.ov-temp-head{color:var(--smi-text-secondary);font-size:14px}.ov-temp-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:32px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.ov-badge{align-items:center;border:1px solid;border-radius:3px;display:inline-flex;font-size:12px;height:22px;padding:0 10px}.ov-badge-ok{border-color:var(--smi-success);color:var(--smi-success)}.ov-badge-warn{border-color:var(--smi-warning);color:var(--smi-warning)}.ov-alarm-list{display:flex;flex:1 1;flex-direction:column;gap:8px}.ov-alarm{border:1px solid;border-radius:4px;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.ov-alarm-critical{background:linear-gradient(90deg,#ef444438,#ef44440f);border-color:var(--smi-error)}.ov-alarm-critical .ov-alarm-title{color:#f87171}.ov-alarm-warning{background:linear-gradient(90deg,#f59e0b38,#f59e0b0f);border-color:var(--smi-warning)}.ov-alarm-warning .ov-alarm-title{color:#fbbf24}.ov-alarm-info{background:linear-gradient(90deg,#3b82f62e,#3b82f60d);border-color:var(--smi-accent)}.ov-alarm-info .ov-alarm-title{color:var(--smi-accent)}.ov-alarm-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.ov-alarm-title{font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-alarm-time{color:var(--smi-text-secondary);font-size:12px;white-space:nowrap}.ov-alarm-msg{color:var(--smi-text-primary);font-size:14px}.ov-quality{grid-gap:16px;align-items:center;display:grid;flex:1 1;gap:16px;grid-template-columns:200px minmax(0,1fr)}.ov-donut-wrap{height:200px;position:relative;width:200px}.ov-donut{display:block;height:100%;width:100%}.ov-donut-fill,.ov-donut-track{fill:none;stroke-width:12}.ov-donut-track{stroke:var(--smi-border-strong)}.ov-donut-fill{stroke:var(--smi-success);stroke-linecap:round;transition:stroke-dasharray .6s ease}.ov-donut-text{align-items:center;display:flex;flex-direction:column;gap:4px;inset:0;justify-content:center;position:absolute}.ov-donut-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:40px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.ov-donut-label{color:var(--smi-text-secondary);font-size:14px}.ov-quality-list{background:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:6px;padding:4px 16px}.ov-root{height:100%;min-height:560px}.ov-row-top{flex:1.4 1;min-height:0}.ov-kpis{flex:none}.ov-row-bottom{flex:1 1;min-height:0}.ov-row-bottom>.ov-panel,.ov-row-top>.ov-panel{min-height:0;overflow:hidden}.ov-panel-head{flex:none}.ov-model,.ov-realtime-body{min-height:0}.ov-model{justify-content:center}.ov-model-stage{max-height:100%;width:100%}.ov-values{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.ov-values-list{flex:1 1;justify-content:space-between;min-height:0}.ov-values-list>div{padding:clamp(2px,.55vh,9px) 0}.ov-values-list dd{font-size:clamp(16px,2.1vh,24px)}.ov-values-title{margin-bottom:clamp(4px,.8vh,10px)}.ov-values{padding:clamp(8px,1.2vh,14px) 16px}.ov-cctv-view,.ov-kpi{min-height:0}.ov-kpi{padding:clamp(10px,1.3vh,14px) 16px}.ov-kpi-value{font-size:clamp(26px,3.3vh,34px)}.ov-temp-grid{grid-auto-rows:minmax(0,1fr);min-height:0}.ov-temp-tile{gap:clamp(4px,.8vh,10px);justify-content:center;min-height:0;padding:clamp(6px,1vh,12px) 14px}.ov-temp-value{font-size:clamp(22px,3vh,32px)}.ov-alarm-list{min-height:0;overflow-y:auto}.ov-alarm{flex:none}.ov-quality{min-height:0}.ov-donut-wrap{align-self:center;aspect-ratio:1;height:auto;justify-self:center;max-height:100%;max-width:200px;width:100%}.ov-quality{align-items:stretch;grid-template-rows:minmax(0,1fr)}.ov-quality-list{align-self:center}.ov-quality-list>div{padding:clamp(3px,.8vh,9px) 0}.ov-quality-list dd{font-size:clamp(17px,2.3vh,24px)}.ov-donut-value{font-size:clamp(26px,3.6vh,40px)}@media (max-width:1200px){.ov-root{height:auto}.ov-row-bottom,.ov-row-top{flex:none}}@media (max-width:1500px){.ov-realtime-body{grid-template-columns:minmax(0,1fr) 260px}.ov-quality{grid-template-columns:160px minmax(0,1fr)}.ov-donut-wrap{max-width:160px}.ov-donut-value{font-size:32px}.ov-kpi-value{font-size:28px}}@media (max-width:1200px){.ov-row-bottom,.ov-row-top{grid-template-columns:minmax(0,1fr)}.ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-realtime-body{grid-template-columns:minmax(0,1fr)}}.pr-root{box-sizing:border-box;color:var(--smi-text-primary);display:flex;flex-direction:column;gap:10px;min-height:100%;padding:4px 0 8px}.pr-subtab-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.pr-subtabs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,165px)}.pr-subtab{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:15px;font-weight:500;height:40px;padding:0 16px;transition:border-color .15s,color .15s,background-color .15s}.pr-subtab:hover:not(.active){background-color:var(--smi-bg-raised);border-color:var(--smi-border-hover)}.pr-subtab.active{border-color:var(--smi-accent);color:var(--smi-accent);cursor:default}.pr-controls{align-items:center;color:var(--smi-text-primary);display:flex;font-size:14px;gap:18px}.pr-check{align-items:center;cursor:pointer;display:inline-flex;gap:8px}.pr-check input{accent-color:var(--smi-accent);height:16px;width:16px}.pr-control-label{color:var(--smi-text-secondary)}.pr-select{-webkit-appearance:none;appearance:none;background-color:var(--smi-bg-card);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239CA3AF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);font-size:14px;height:40px;min-width:180px;padding:0 36px 0 14px}.pr-panel{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;min-width:0;padding:14px 16px 12px}.pr-panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.pr-panel-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.pr-head-right{align-items:center;display:flex;gap:14px}.pr-head-note,.pr-overlay{color:var(--smi-text-secondary);font-size:13px}.pr-overlay{white-space:nowrap}.pr-legend{align-items:center;color:var(--smi-text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.pr-legend-item{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.pr-legend-swatch{border:1px solid #0000;border-radius:2px;box-sizing:border-box;display:inline-block;height:10px;width:10px}.pr-grid-2{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.pr-grid-single{grid-template-columns:minmax(0,1fr)}.pr-grid-3{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.pr-grid-temp{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.pr-chart{height:250px;min-width:0}.pr-chart-tall,.pr-grid-single .pr-chart{height:420px}.pr-axis-note{color:var(--smi-text-tertiary);font-size:11px;margin-top:4px}.pr-empty,.pr-message{align-items:center;color:var(--smi-text-tertiary);display:flex;font-size:14px;justify-content:center;min-height:160px}.pr-message-error{color:var(--smi-error)}.pr-badge{align-items:center;border:1px solid;border-radius:3px;display:inline-flex;font-size:12px;height:24px;padding:0 10px;white-space:nowrap}.pr-badge-ok{border-color:var(--smi-success);color:var(--smi-success)}.pr-badge-idle{border-color:var(--smi-text-muted);color:var(--smi-text-secondary)}.pr-badge-err,.pr-badge-stop{border-color:var(--smi-error);color:var(--smi-error)}.pr-stats{grid-gap:10px;display:grid;gap:10px}.pr-stats-5{grid-template-columns:repeat(5,minmax(0,1fr))}.pr-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pr-stat{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:4px;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:18px 20px}.pr-stat-label{font-size:15px}.pr-stat-label,.pr-stat-value{color:var(--smi-text-primary);white-space:nowrap}.pr-stat-value{font-feature-settings:"tnum";font-size:34px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.pr-metric-value small,.pr-stat-value small,.pr-zone-sub small,.pr-zone-temp small{color:var(--smi-text-secondary);font-size:14px;font-weight:400;margin-left:4px}.pr-zone-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.pr-zone-card{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 16px}.pr-zone-warn{border-color:var(--smi-error)}.pr-zone-head{align-items:center;display:flex;justify-content:space-between}.pr-zone-name{font-size:17px}.pr-zone-name,.pr-zone-temp{color:var(--smi-text-primary)}.pr-zone-temp{font-feature-settings:"tnum";font-size:34px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.pr-zone-sub{color:var(--smi-text-secondary);display:flex;flex-wrap:wrap;font-size:14px;gap:16px}.pr-zone-sub b{color:var(--smi-text-primary);font-weight:500;margin-left:6px}.pr-drive-card{gap:6px}.pr-drive-inactive{border-color:var(--smi-text-muted)}.pr-metric{display:flex;flex-direction:column;gap:4px;margin-top:8px}.pr-metric-row{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.pr-metric-label{color:var(--smi-text-primary);font-size:17px}.pr-metric-label-sm{color:var(--smi-text-secondary);font-size:14px}.pr-metric-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:22px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.pr-metric-bar-row{align-items:center;display:flex;gap:12px}.pr-bar{background:var(--smi-border-strong);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.pr-bar-fill{border-radius:4px;height:100%;transition:width .4s ease}.pr-bar-fill,.pr-drive-injection .pr-bar-fill{background:var(--smi-success)}.pr-metric-pct{font-feature-settings:"tnum";color:var(--smi-text-secondary);font-size:14px;font-variant-numeric:tabular-nums;text-align:right;width:40px}.pr-metric-elapsed{border-top:1px solid var(--smi-border);margin-top:12px;padding-top:10px}.pr-table{border:1px solid var(--smi-border);border-collapse:initial;border-radius:4px;border-spacing:0;font-size:15px;overflow:hidden;width:100%}.pr-table td,.pr-table th{border-right:1px solid var(--smi-border);padding:14px 12px;text-align:center}.pr-table td:last-child,.pr-table th:last-child{border-right:none}.pr-table th{background:var(--smi-bg-card);border-bottom:1px solid var(--smi-border);font-weight:500}.pr-table td,.pr-table th{color:var(--smi-text-primary)}.pr-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pr-root{height:100%;min-height:560px}.pr-root>*{flex:none}.pr-root>.pr-grid-2,.pr-root>.pr-grid-3+.pr-grid-3,.pr-root>.pr-grid-temp,.pr-root>.pr-setup-cards+.pr-panel,.pr-root>.pr-watch-panel{flex:1 1;min-height:0}.pr-root>.pr-grid-2,.pr-root>.pr-grid-3+.pr-grid-3,.pr-root>.pr-grid-temp{grid-auto-rows:minmax(0,1fr)}.pr-root .pr-panel{min-height:0}.pr-root .pr-panel-head{flex:none}.pr-root .pr-panel>.pr-chart{flex:1 1;height:auto;min-height:90px}.pr-root .pr-axis-note{flex:none}.pr-stat{padding:clamp(8px,1.4vh,18px) 20px}.pr-stat-value{font-size:clamp(24px,3.2vh,34px)}.pr-stats-panel{padding-bottom:clamp(8px,1.2vh,12px);padding-top:clamp(8px,1.2vh,14px)}.pr-stats-panel .pr-panel-head{margin-bottom:clamp(4px,.8vh,10px)}.pr-root>.pr-watch-panel .pr-watch-blocks{flex:1 1;min-height:0;overflow:auto}.pr-root>.pr-setup-cards+.pr-panel .pr-empty{flex:1 1;min-height:0}@media (max-width:1200px){.pr-root{height:auto}.pr-root>*{flex:none!important}.pr-root .pr-panel>.pr-chart{flex:none;height:250px}}@media (max-width:1400px){.pr-subtabs{grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.pr-stat-value,.pr-zone-temp{font-size:28px}.pr-stats-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1200px){.pr-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-grid-temp{grid-template-columns:minmax(0,1fr)}.pr-zone-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-chart-tall{height:320px}}@media (max-width:900px){.pr-grid-2,.pr-grid-3{grid-template-columns:minmax(0,1fr)}.pr-stats-4,.pr-stats-5,.pr-zone-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-subtabs{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-table{display:block;overflow-x:auto}}@media (max-width:600px){.pr-stats-4,.pr-stats-5,.pr-zone-cards{grid-template-columns:minmax(0,1fr)}.pr-subtabs{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-controls{flex-wrap:wrap;gap:10px;justify-content:flex-start;width:100%}.pr-select{min-width:0;width:100%}}.pr-watch-panel{gap:12px}.pr-setup-actions button,.pr-watch-panel button,.pr-watch-panel input,.pr-watch-panel select{font-family:inherit}.pr-watch-controls{gap:16px;justify-content:space-between}.pr-watch-controls,.pr-watch-controls-left{align-items:center;display:flex;flex-wrap:wrap}.pr-watch-controls-left{gap:20px}.pr-watch-field{align-items:center;display:inline-flex;gap:8px}.pr-watch-field-label{color:var(--smi-text-secondary);font-size:14px;white-space:nowrap}.pr-watch-select{font-weight:500;min-width:159px}.pr-watch-shot{align-items:center;display:inline-flex;font-size:14px;gap:8px}.pr-watch-shot b{font-feature-settings:"tnum";color:var(--smi-text-primary);font-variant-numeric:tabular-nums;font-weight:600}.pr-watch-note{color:var(--smi-text-tertiary);font-size:12px}.pr-watch-legend{align-items:center;display:flex;font-size:13px;gap:20px}.pr-watch-legend-item{align-items:center;display:inline-flex;gap:4px;white-space:nowrap}.pr-watch-legend-item i{box-sizing:border-box;display:inline-block;height:12px;width:12px}.pr-watch-legend-out{color:var(--smi-error)}.pr-watch-legend-out i{background:var(--smi-error)}.pr-watch-legend-important{color:var(--smi-text-primary)}.pr-watch-legend-important i{border:1px dashed var(--smi-text-primary)}.pr-watch-block,.pr-watch-blocks{display:flex;flex-direction:column;gap:8px}.pr-watch-title{color:var(--smi-text-primary);font-size:15px;font-weight:500}.pr-watch-scroll{overflow-x:auto}.pr-watch-table{grid-gap:1px;border:1px solid #ffffff14;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(9,minmax(0,1fr));min-width:900px;overflow:hidden}.pr-watch-col{display:flex;flex-direction:column;gap:1px;min-width:0;position:relative}.pr-watch-col-important{border-radius:7px;outline:1px dashed var(--smi-accent);outline-offset:-1px;z-index:1}.pr-watch-cell{font-feature-settings:"tnum";align-items:center;background:#ffffff05;color:var(--smi-text-primary);display:flex;font-size:14px;font-variant-numeric:tabular-nums;height:40px;justify-content:center;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.pr-watch-head{color:var(--smi-text-secondary);font-weight:600;height:46px}.pr-watch-cell-label,.pr-watch-head{background:#ffffff0a}.pr-watch-out{background:linear-gradient(#ff303333,#ff303333),#0003;font-weight:600}.pr-watch-check{cursor:pointer;display:inline-flex;height:20px;position:relative;width:20px}.pr-watch-check input{cursor:pointer;height:100%;left:0;margin:0;opacity:0;position:absolute;top:0;width:100%}.pr-watch-check-box{align-items:center;border:1px solid var(--smi-text-primary);border-radius:2px;box-sizing:border-box;display:flex;height:20px;justify-content:center;transition:background-color .15s,border-color .15s;width:20px}.pr-watch-check-box .material-symbols-outlined{color:var(--smi-text-primary);font-size:14px;opacity:0}.pr-watch-check input:checked+.pr-watch-check-box{background:var(--smi-accent);border-color:var(--smi-accent)}.pr-watch-check input:checked+.pr-watch-check-box .material-symbols-outlined{opacity:1}.pr-watch-check input:focus-visible+.pr-watch-check-box{outline:2px solid var(--smi-accent);outline-offset:1px}@media (max-width:1400px){.pr-watch-select{min-width:140px}}@media (max-width:900px){.pr-watch-legend{width:100%}}.pr-setup-actions{align-items:center;display:flex;gap:8px}.pr-btn{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;height:40px;justify-content:center;min-width:78px;padding:0 16px;transition:background-color .15s,border-color .15s,opacity .15s}.pr-btn .material-symbols-outlined{font-size:18px}.pr-btn:disabled{cursor:not-allowed;opacity:.45}.pr-btn-outline{background:#0000;border:1px solid var(--smi-accent-strong);color:var(--smi-accent-strong)}.pr-btn-outline:hover:not(:disabled){background:#256ef41f}.pr-btn-primary{background:var(--smi-accent-strong);border:1px solid var(--smi-accent-strong);color:var(--smi-text-primary)}.pr-btn-primary:hover:not(:disabled){background:var(--smi-accent);border-color:var(--smi-accent)}.pr-setup-cards{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.pr-setup-card{background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:8px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px}.pr-setup-card-head{align-items:center;border-bottom:1px solid #c5d7e033;display:flex;gap:8px;justify-content:space-between;padding-bottom:8px}.pr-setup-card-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.pr-setup-card-count{color:var(--smi-text-secondary);font-size:13px;white-space:nowrap}.pr-setup-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.pr-setup-row{align-items:baseline;display:flex;gap:8px;justify-content:space-between;min-width:0}.pr-setup-label{color:var(--smi-text-secondary);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-setup-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:17px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.pr-setup-value small{color:var(--smi-text-secondary);font-size:13px;font-weight:400;margin-left:4px}.pr-history-table{grid-gap:1px;border:1px solid #ffffff14;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(5,minmax(0,1fr));min-width:700px;overflow:hidden}@media (max-width:1200px){.pr-setup-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.pr-setup-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-setup-actions{width:100%}}@media (max-width:600px){.pr-setup-cards{grid-template-columns:minmax(0,1fr)}.pr-setup-actions{flex-wrap:wrap}}.dl-root{box-sizing:border-box;color:var(--smi-text-primary);display:flex;flex-direction:column;gap:10px;min-height:100%;padding:4px 0 8px}.dl-root button,.dl-root input,.dl-root select{font-family:inherit}.dl-subtabs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,165px)}.dl-subtab{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:15px;font-weight:500;height:40px;padding:0 16px;transition:border-color .15s,color .15s,background-color .15s}.dl-subtab:hover:not(.active){background-color:var(--smi-bg-raised);border-color:var(--smi-border-hover)}.dl-subtab.active{border-color:var(--smi-accent);color:var(--smi-accent);cursor:default}.dl-panel{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px 16px 12px}.dl-panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.dl-panel-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.dl-title-group{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.dl-subtitle{align-items:center;color:var(--smi-text-secondary);display:inline-flex;font-size:14px;gap:6px}.dl-tag{border:1px solid var(--smi-text-muted);border-radius:3px;font-size:11px;font-style:normal;line-height:18px;padding:0 6px}.dl-note,.dl-tag{color:var(--smi-text-tertiary)}.dl-note{font-size:12px}.dl-legend{color:var(--smi-text-secondary);font-size:12px;gap:14px}.dl-legend,.dl-legend-item{align-items:center;display:inline-flex}.dl-legend-item{gap:5px;white-space:nowrap}.dl-legend-item i{border-radius:2px;display:inline-block;height:10px;width:10px}.dl-message{align-items:center;color:var(--smi-text-tertiary);display:flex;font-size:14px;justify-content:center;min-height:120px}.dl-message-error{color:var(--smi-error);min-height:0}.dl-layout{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:330px minmax(0,1fr)}.dl-badge-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dl-search-block{width:100%}.dl-filter{gap:14px}.dl-filter-head{align-items:center;display:flex;justify-content:space-between}.dl-field{display:flex;flex-direction:column;gap:6px}.dl-field-inline{align-items:center;flex-direction:row;gap:8px}.dl-field-label{color:var(--smi-text-secondary);font-size:14px;white-space:nowrap}.dl-input,.dl-select{background-color:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:4px;box-sizing:border-box;color:var(--smi-text-primary);font-size:14px;height:40px;min-width:0;padding:0 14px}.dl-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239CA3AF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.dl-field-inline .dl-select{min-width:150px}.dl-input::placeholder{color:var(--smi-text-muted)}.dl-input:focus,.dl-search input:focus,.dl-select:focus{outline:1px solid var(--smi-accent)}.dl-divider{background:var(--smi-border);height:1px}.dl-check-list{display:flex;flex-direction:column;gap:12px}.dl-check{align-items:center;color:var(--smi-text-primary);cursor:pointer;display:inline-flex;font-size:14px;gap:8px;position:relative}.dl-check input{cursor:pointer;height:20px;margin:0;opacity:0;position:absolute;width:20px}.dl-check-box{align-items:center;border:1px solid var(--smi-text-primary);border-radius:2px;box-sizing:border-box;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:background-color .15s,border-color .15s;width:20px}.dl-check-box .material-symbols-outlined{color:var(--smi-text-primary);font-size:14px;opacity:0}.dl-check input:checked+.dl-check-box{background:var(--smi-accent);border-color:var(--smi-accent)}.dl-check input:checked+.dl-check-box .material-symbols-outlined{opacity:1}.dl-check input:focus-visible+.dl-check-box{outline:2px solid var(--smi-accent);outline-offset:1px}.dl-toolbar{gap:12px;justify-content:space-between}.dl-toolbar,.dl-toolbar-left{align-items:center;display:flex;flex-wrap:wrap}.dl-toolbar-left{gap:16px}.dl-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dl-colpicker{position:relative}.dl-colpicker-btn{background-color:var(--smi-bg-card);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239CA3AF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--smi-border-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;font-size:14px;height:40px;min-width:220px;padding:0 36px 0 14px;text-align:left}.dl-colpicker-btn.open,.dl-colpicker-btn:hover{border-color:var(--smi-border-hover)}.dl-colpicker-pop{background:var(--smi-bg-card);box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;gap:10px;min-width:220px;padding:12px 14px;position:absolute;right:0;top:44px;z-index:5}.dl-colpicker-pop,.dl-search{border:1px solid var(--smi-border-strong);border-radius:4px}.dl-search{align-items:center;background-color:var(--smi-bg-card);box-sizing:border-box;display:inline-flex;gap:8px;height:40px;max-width:100%;padding:0 12px;width:293px}.dl-search .material-symbols-outlined{color:var(--smi-text-tertiary);font-size:20px}.dl-search input{background:#0000;border:none;color:var(--smi-text-primary);flex:1 1;font-size:14px;min-width:0}.dl-search input::placeholder{color:var(--smi-text-tertiary)}.dl-btn-primary{align-items:center;background:var(--smi-accent-strong);border:1px solid var(--smi-accent-strong);border-radius:4px;color:var(--smi-text-primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;height:40px;justify-content:center;min-width:78px;padding:0 16px;transition:background-color .15s,opacity .15s}.dl-btn-primary .material-symbols-outlined{font-size:18px}.dl-btn-sm{height:36px;min-width:0;padding:0 12px}.dl-btn-primary:hover:not(:disabled){background:var(--smi-accent);border-color:var(--smi-accent)}.dl-btn-primary:disabled{cursor:not-allowed;opacity:.45}.dl-scroll{max-height:640px;overflow:auto}.dl-table{border:1px solid #ffffff14;border-collapse:initial;border-radius:8px;border-spacing:0;font-size:14px;overflow:hidden;width:100%}.dl-table td,.dl-table th{font-feature-settings:"tnum";border-bottom:1px solid var(--smi-border);font-variant-numeric:tabular-nums;padding:11px 8px;text-align:center;white-space:nowrap}.dl-table th{background:#1c1f26;color:var(--smi-text-secondary);font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.dl-table td{background:#ffffff05;color:var(--smi-text-primary)}.dl-table tr:last-child td{border-bottom:none}.dl-table-left td.dl-td-wide,.dl-table-left th.dl-th-wide{min-width:240px;text-align:left;white-space:normal}.dl-table-left td.dl-td-left,.dl-table-left th.dl-th-left{text-align:left}.dl-code{font-family:Consolas,monospace;font-size:13px}.dl-out{background:linear-gradient(#ff303333,#ff303333),#0003!important;font-weight:600}.dl-badge{align-items:center;border:1px solid;border-radius:3px;display:inline-flex;font-size:12px;height:24px;padding:0 10px;white-space:nowrap}.dl-badge-critical{background:#f0443814;color:var(--smi-error)}.dl-badge-warning{background:#fdb02214;color:var(--smi-warning)}.dl-badge-info{background:#c5d7e014;color:var(--smi-text-secondary)}.dl-badge-status{background:#4ba7ff14;color:#4ba7ff}.dl-grid-2{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.dl-chart{height:420px;min-width:0}.dl-panel-tall{min-height:760px}.dl-chart-tall{flex:1 1;height:auto;min-height:660px}.dl-root{height:100%;min-height:560px}.dl-root>*{flex:none}.dl-root>.dl-grid-2,.dl-root>.dl-layout,.dl-root>.dl-panel{flex:1 1;min-height:0}.dl-root>.dl-layout{align-items:stretch;grid-template-rows:minmax(0,1fr)}.dl-root>.dl-layout>.dl-panel{min-height:0}.dl-root>.dl-layout>.dl-filter{overflow-y:auto}.dl-root .dl-panel>.dl-scroll{flex:1 1;max-height:none;min-height:0}.dl-root .dl-panel>.dl-note,.dl-root .dl-panel>.dl-panel-head,.dl-root .dl-panel>.dl-toolbar{flex:none}.dl-root>.dl-grid-2{grid-template-rows:minmax(0,1fr)}.dl-root>.dl-grid-2>.dl-panel-tall{min-height:0}.dl-root>.dl-grid-2 .dl-chart-tall{flex:1 1;min-height:160px}@media (max-width:1200px){.dl-root{height:auto}.dl-root>.dl-grid-2,.dl-root>.dl-layout,.dl-root>.dl-panel{flex:none}.dl-root .dl-panel>.dl-scroll{flex:none;max-height:640px}.dl-root>.dl-grid-2{grid-template-rows:none}}@media (max-width:1400px){.dl-subtabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1200px){.dl-grid-2,.dl-layout{grid-template-columns:minmax(0,1fr)}.dl-chart{height:320px}.dl-panel-tall{min-height:0}.dl-chart-tall{min-height:420px}.dl-check-list{flex-direction:row;flex-wrap:wrap;gap:12px 20px}}@media (max-width:600px){.dl-subtabs{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-search,.dl-toolbar-left{width:100%}}.wg-root{flex-direction:column;gap:8px;min-height:0}.wg-message,.wg-root{display:flex;height:100%}.wg-message{align-items:center;color:var(--smi-text-tertiary);font-size:13px;justify-content:center;min-height:80px}.wg-rows{display:flex;flex:1 1;flex-direction:column;gap:10px;margin:0;min-height:0;overflow:hidden}.wg-rows-tight{gap:6px}.wg-rows>div{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.wg-rows dt{color:var(--smi-text-secondary);font-size:13px;white-space:nowrap}.wg-rows dd{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:17px;font-variant-numeric:tabular-nums;font-weight:500;margin:0;white-space:nowrap}.wg-donut-text small,.wg-kpi-value small,.wg-rows dd small,.wg-zone-value small{color:var(--smi-text-tertiary);font-size:12px;font-weight:400;margin-left:4px}.wg-text-error{color:var(--smi-error)!important}.wg-zones{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));min-height:0}.wg-zones-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.wg-zone{background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:6px;display:flex;flex-direction:column;gap:4px;min-height:0;min-width:0;padding:10px 12px}.wg-zone-warn{border-color:var(--smi-warning)}.wg-zone-head{align-items:center;display:flex;gap:6px;justify-content:space-between}.wg-zone-name{color:var(--smi-text-secondary);font-size:12px;white-space:nowrap}.wg-badge{border:1px solid;border-radius:3px;font-size:11px;height:20px;line-height:18px;padding:0 8px;white-space:nowrap}.wg-badge-warn{color:var(--smi-warning)}.wg-zone-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:20px;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.wg-zone-value-warn{color:var(--smi-warning)}.wg-zone-set{color:var(--smi-accent);font-size:11px;white-space:nowrap}.wg-bars{align-items:flex-end;display:flex;gap:3px;height:22px;margin-top:auto}.wg-bars i{background:var(--smi-text-tertiary);border-radius:2px 2px 0 0;flex:1 1;min-width:0;opacity:.6}.wg-bars i.wg-bar-warn{background:var(--smi-warning);opacity:1}.wg-bars i.wg-bar-accent{background:var(--smi-accent);opacity:1}.wg-bars-lg{flex:1 1;gap:8px;height:auto;min-height:60px}.wg-bars-lg i{background:var(--smi-text-tertiary);border-radius:4px;opacity:1}.wg-kpi-value{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:32px;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.1}.wg-kpi-sub{color:var(--smi-text-secondary);font-size:13px}.wg-kpi-sub b{color:var(--smi-text-primary);font-weight:500;margin-left:6px}.wg-alarms{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;overflow:hidden;padding:0}.wg-alarm{align-items:center;border-left:2px solid var(--smi-text-tertiary);display:flex;font-size:13px;gap:10px;justify-content:space-between;padding-left:10px}.wg-alarm-error{border-left-color:var(--smi-error)}.wg-alarm-warning{border-left-color:var(--smi-warning)}.wg-alarm-info{border-left-color:var(--smi-accent)}.wg-alarm-msg{color:var(--smi-text-primary);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wg-alarm-time{font-feature-settings:"tnum";color:var(--smi-text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.wg-legend{align-items:center;color:var(--smi-text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.wg-legend>span{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.wg-legend i{display:inline-block;height:2px;width:12px}.wg-legend i.wg-legend-dashed{background:none;border-top:2px dashed;height:0}.wg-legend i.wg-legend-dot{border-radius:50%;height:8px;width:8px}.wg-legend-note{color:var(--smi-text-tertiary);margin-left:auto}.wg-chart{flex:1 1;min-height:0}.wg-stats{display:flex;gap:20px}.wg-stats>div{display:flex;flex-direction:column;gap:2px}.wg-stats span{color:var(--smi-text-secondary);font-size:12px}.wg-stats b{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:18px;font-variant-numeric:tabular-nums;font-weight:500}.wg-quality{align-items:center;display:flex;flex:1 1;gap:16px;min-height:0}.wg-donut-wrap{flex-shrink:0;height:120px;position:relative;width:120px}.wg-donut{height:100%;width:100%}.wg-donut-track{fill:none;stroke:var(--smi-border-strong);stroke-width:8}.wg-donut-fill{fill:none;stroke:var(--smi-success);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .4s ease}.wg-donut-text{align-items:center;display:flex;flex-direction:column;gap:2px;inset:0;justify-content:center;position:absolute}.wg-donut-text b{font-feature-settings:"tnum";color:var(--smi-text-primary);font-size:22px;font-variant-numeric:tabular-nums;font-weight:600}.wg-donut-text span{color:var(--smi-text-tertiary);font-size:11px}.wg-quality .wg-rows{flex:1 1}@media (max-width:1400px){.wg-zones{grid-template-columns:repeat(3,minmax(0,1fr))}.wg-kpi-value{font-size:26px}}.wd-root{color:var(--smi-text-primary);display:flex;flex-direction:column;gap:8px;padding:0 0 8px}.wd-root button,.wd-root input{font-family:inherit}.wd-toolbar{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:8px;box-sizing:border-box;justify-content:space-between;min-height:56px;padding:6px 16px}.wd-toolbar,.wd-toolbar-left,.wd-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.wd-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.wd-hint,.wd-sub{color:var(--smi-text-tertiary);font-size:13px}.wd-pill{align-items:center;border:1px solid var(--smi-accent);border-radius:16px;color:var(--smi-accent);display:inline-flex;font-size:13px;font-weight:500;gap:8px;height:32px;padding:0 14px}.wd-pill i{background:var(--smi-accent);border-radius:50%;height:8px;width:8px}.wd-btn{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;height:40px;justify-content:center;padding:0 16px;transition:background-color .15s,border-color .15s,opacity .15s}.wd-btn .material-symbols-outlined{font-size:18px}.wd-btn:disabled{cursor:not-allowed;opacity:.45}.wd-btn-primary{background:var(--smi-accent-strong);border:1px solid var(--smi-accent-strong);color:var(--smi-text-primary)}.wd-btn-primary:hover:not(:disabled){background:var(--smi-accent);border-color:var(--smi-accent)}.wd-btn-outline{background:#0000;border:1px solid var(--smi-accent-strong);color:var(--smi-accent)}.wd-btn-outline:hover:not(:disabled){background:#256ef41f}.wd-btn-sm{height:36px;padding:0 14px}.wd-item .wd-btn-sm{flex-shrink:0;height:44px;width:130px}.wd-modal-foot .wd-btn-primary{height:44px;width:150px}.wd-grid{grid-gap:8px;display:grid;gap:8px;grid-auto-rows:250px;grid-template-columns:repeat(4,minmax(0,1fr))}.wd-card{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:8px;display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0;overflow:hidden;padding:12px 16px}.wd-grid-edit .wd-card{border:1px dashed var(--smi-accent);cursor:grab}.wd-grid-edit .wd-card:active{cursor:grabbing}.wd-card-head{align-items:center;display:flex;gap:8px;min-height:28px}.wd-handle{color:var(--smi-text-muted);font-size:18px}.wd-card-title{color:var(--smi-text-primary);flex:1 1;font-size:15px;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-card-note{color:var(--smi-text-tertiary);font-size:12px;white-space:nowrap}.wd-card-tools{align-items:center;display:inline-flex;gap:6px}.wd-size-badge{background:#3b82f626;border:1px solid #3b82f680;border-radius:3px;color:var(--smi-accent);cursor:pointer;font-size:12px;height:22px;padding:0 8px}.wd-size-badge:hover{background:#3b82f64d}.wd-remove{align-items:center;background:none;border:none;border-radius:4px;color:var(--smi-text-tertiary);cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.wd-remove .material-symbols-outlined{font-size:18px}.wd-remove:hover{background:#ef444426;color:var(--smi-error)}.wd-body{flex:1 1;min-height:0;position:relative}.wd-empty{align-items:center;background:#0000;border:1px dashed #c5d7e033;border-radius:8px;color:var(--smi-accent);cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;transition:border-color .15s,background-color .15s}.wd-empty .material-symbols-outlined{font-size:20px}.wd-empty-text{font-size:13px}.wd-empty:hover{background:#3b82f60f;border-color:var(--smi-accent)}.wd-grid-edit .wd-empty{border-color:#3b82f666}.wd-empty-over{background:#3b82f626;border-color:var(--smi-accent)}.wd-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10000}.wd-modal{background:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:8px;box-shadow:0 16px 48px #00000080;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;max-height:92vh;max-width:100%;padding:24px;width:880px}.wd-modal-size{width:760px}.wd-modal-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.wd-modal-title{color:var(--smi-text-primary);font-size:17px;font-weight:700;margin:0}.wd-modal-title em{color:var(--smi-accent);font-style:normal;font-weight:500}.wd-modal-hint{color:var(--smi-text-tertiary);font-size:13px;margin:-4px 0 0}.wd-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--smi-text-tertiary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.wd-modal-close:hover{background:var(--smi-bg-raised);color:var(--smi-text-primary)}.wd-search{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border-strong);border-radius:4px;display:flex;gap:8px;height:44px;padding:0 14px}.wd-search .material-symbols-outlined{color:var(--smi-text-tertiary);font-size:20px}.wd-search input{background:#0000;border:none;color:var(--smi-text-primary);flex:1 1;font-size:14px;min-width:0}.wd-search input::placeholder{color:var(--smi-text-tertiary)}.wd-search input:focus{outline:none}.wd-chips-row{align-items:center;gap:12px;justify-content:space-between}.wd-chips,.wd-chips-row{display:flex;flex-wrap:wrap}.wd-chips{gap:8px}.wd-chip{background:#0000;border:1px solid #c5d7e033;border-radius:16px;color:var(--smi-text-secondary);cursor:pointer;font-size:13px;height:32px;padding:0 14px}.wd-chip:hover{border-color:var(--smi-border-hover)}.wd-chip.active{background:#3b82f626;border-color:var(--smi-accent);color:var(--smi-accent)}.wd-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;min-height:0;overflow-y:auto}.wd-list-empty{color:var(--smi-text-tertiary);font-size:14px;padding:32px 0;text-align:center}.wd-item{background:var(--smi-bg-card);border:1px solid var(--smi-border);display:flex;gap:14px;padding:12px 20px 12px 16px}.wd-item,.wd-item-icon{align-items:center;border-radius:6px}.wd-item-icon{background:#83a6ff1f;color:var(--smi-accent);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.wd-item-icon .material-symbols-outlined{font-size:22px}.wd-item-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.wd-item-name{align-items:center;color:var(--smi-text-primary);display:flex;font-size:15px;font-weight:600;gap:8px}.wd-item-desc{color:var(--smi-text-tertiary);font-size:13px}.wd-tag{border:1px solid #c5d7e033;border-radius:10px;font-size:11px;font-style:normal;font-weight:400;line-height:20px;padding:0 8px}.wd-placed,.wd-tag{color:var(--smi-text-secondary)}.wd-placed{align-items:center;display:inline-flex;font-size:13px;gap:4px;justify-content:flex-end;white-space:nowrap;width:130px}.wd-placed .material-symbols-outlined{font-size:16px}.wd-modal-foot{align-items:center;display:flex;gap:12px;justify-content:space-between}.wd-size-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.wd-size-option{align-items:center;background:var(--smi-bg-card);border:1px solid var(--smi-border);border-radius:8px;color:var(--smi-text-primary);cursor:pointer;display:flex;flex-direction:column;gap:10px;height:220px;justify-content:center;padding:16px;transition:border-color .15s,background-color .15s}.wd-size-option:hover:not(:disabled){border-color:var(--smi-border-hover)}.wd-size-option.active{background:#3b82f61f;border-color:var(--smi-accent)}.wd-size-option:disabled{cursor:not-allowed;opacity:.4}.wd-size-preview{background:var(--smi-border-strong);border-radius:6px;display:block}.wd-size-preview-1x1{height:56px;width:56px}.wd-size-preview-2x1{height:56px;width:120px}.wd-size-preview-1x2{height:120px;width:56px}.wd-size-preview-2x2{height:120px;width:120px}.wd-size-option.active .wd-size-preview{background:var(--smi-accent)}.wd-size-label{align-items:center;color:var(--smi-text-primary);display:inline-flex;font-size:15px;font-weight:600;gap:6px}.wd-size-check{color:var(--smi-accent);font-size:16px}.wd-size-desc{color:var(--smi-text-tertiary);font-size:13px}@media (max-width:1400px){.wd-grid{grid-auto-rows:230px}}@media (max-width:1200px){.wd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.wd-grid,.wd-size-options{grid-template-columns:minmax(0,1fr)}.wd-size-option{height:auto}}.machine-container{--smi-bg-page:#1a1e24;--smi-bg-panel:#111418;--smi-bg-card:#1a1e24;--smi-bg-raised:#2a313b;--smi-border:#ffffff14;--smi-border-strong:#c5d7e033;--smi-border-hover:#c5d7e059;--smi-text-primary:#fff;--smi-text-secondary:#c5d7e0;--smi-text-tertiary:#98a8bf;--smi-text-muted:#798699;--smi-accent:#83a6ff;--smi-accent-strong:#256ef4;--smi-success:#47cd89;--smi-warning:#fdb022;--smi-error:#f04438;background-color:var(--smi-bg-page);display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.machine-container .machine-header{align-items:center;background-color:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:8px;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.machine-container .machine-header-left{align-items:center;display:flex;gap:8px}.machine-container .machine-breadcrumb{align-items:center;display:flex;font-size:16px;gap:10px}.machine-container .machine-breadcrumb-icon{color:#e5e7eb;font-size:22px}.machine-container .machine-breadcrumb-sep{color:#6b7280;font-size:20px}.machine-container .machine-breadcrumb-link{background:none;border:none;color:#e5e7eb;cursor:pointer;font-size:16px;padding:0;white-space:nowrap}.machine-container .machine-breadcrumb-link:hover{color:#60a5fa}.machine-container .machine-monitoring-dropdown .machine-dropdown-trigger{min-width:180px}.machine-container .machine-monitoring-dropdown .machine-dropdown-menu{min-width:240px}.machine-container .machine-factory-dropdown .machine-dropdown-trigger{min-width:180px}.machine-container .machine-factory-dropdown .machine-dropdown-menu{min-width:260px}.machine-container .machine-factory-link{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.machine-container .machine-factory-link:hover{background:#111418;color:#60a5fa}.machine-container .machine-factory-link .material-symbols-outlined{font-size:18px}.machine-container .machine-dropdown-wrapper{position:relative}.machine-container .machine-dropdown-trigger{align-items:center;background:var(--smi-bg-card);border:1px solid #2a2f38;border-radius:4px;cursor:pointer;display:flex;gap:24px;height:40px;justify-content:space-between;min-width:230px;padding:0 10px 0 14px;transition:border-color .15s}.machine-container .machine-dropdown-trigger:hover{border-color:#3f4550}.machine-container .dropdown-icon{color:#9ca3af;font-size:22px}.machine-container .machine-dropdown-menu{background-color:#2d3139;border:1px solid #3f4550;border-radius:4px;box-shadow:0 4px 12px #0000004d;left:0;margin-top:8px;max-height:300px;min-width:350px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.machine-container .machine-dropdown-menu::-webkit-scrollbar{width:6px}.machine-container .machine-dropdown-menu::-webkit-scrollbar-track{background:#1f2937}.machine-container .machine-dropdown-menu::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.machine-container .machine-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#6b7280}.machine-container .machine-dropdown-item{border-bottom:1px solid #3f4550;cursor:pointer;padding:12px 16px;transition:background-color .2s}.machine-container .machine-dropdown-item:last-child{border-bottom:none}.machine-container .machine-dropdown-item:hover{background-color:#363a45}.machine-container .machine-dropdown-item.active{background-color:#3b82f626}.machine-container .dropdown-item-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.machine-container .dropdown-item-model{color:#9ca3af;font-size:11px}.machine-container .factory-name{color:#60a5fa;font-size:16px;font-weight:600}.machine-container .machine-title{color:#f3f4f6;font-size:16px;font-weight:600;white-space:nowrap}.machine-data-btn{align-items:center;background:#ffffff0a;border:1px solid #3f4550;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;height:34px;justify-content:center;margin-left:8px;transition:all .15s ease;width:34px}.machine-data-btn:hover{background:#60a5fa26;border-color:#60a5fa;color:#60a5fa}.machine-data-btn .material-symbols-outlined{font-size:18px}.machine-container .machine-header-right{align-items:center;display:flex;gap:12px}.machine-container .update-time{font-feature-settings:"tnum";color:#e5e7eb;font-size:18px;font-variant-numeric:tabular-nums;font-weight:400;transition:color .2s}.machine-container .update-time.refreshing{color:#60a5fa}.machine-container .machine-refresh-btn{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.machine-container .machine-refresh-btn:hover{background:#111418}.machine-container .refresh-icon{color:#e5e7eb;font-size:22px;line-height:1;transition:color .2s}.machine-container .refresh-icon.spinning{animation:spin 1s linear infinite;color:#3b82f6}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.machine-container .machine-tabs{background-color:var(--smi-bg-panel);border:1px solid var(--smi-border);border-radius:8px;display:flex;gap:0;margin-bottom:4px;padding:0 16px}.machine-container .tab-item{align-items:center;background-color:initial;border:none;border-bottom:1px solid var(--smi-border-strong);border-radius:0;color:var(--smi-text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:500;gap:6px;height:56px;justify-content:center;min-width:0;padding:0 12px;transition:color .2s,border-color .2s;white-space:nowrap}.machine-container .tab-icon{font-size:18px;transition:opacity .2s}.machine-container .tab-item:hover{color:var(--smi-text-primary)}.machine-container .tab-item:hover .tab-icon{opacity:.8}.machine-container .tab-item.active{background-color:initial;border-bottom:2px solid var(--smi-accent);color:var(--smi-accent)}.machine-container .tab-item.active .tab-icon{opacity:1}.machine-container .machine-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.machine-container{scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.machine-container ::-webkit-scrollbar{height:10px;width:10px}.machine-container ::-webkit-scrollbar-track{background:#0000}.machine-container ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#2a2f38;border:3px solid #0000;border-radius:8px}.machine-container ::-webkit-scrollbar-thumb:hover{background-color:#3f4550}.machine-container ::-webkit-scrollbar-corner{background:#0000}.machine-container .section-title{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .info-list{grid-gap:4px;align-content:stretch;display:grid;flex:1 1;gap:4px;grid-auto-rows:1fr;grid-template-columns:repeat(2,1fr);height:100%}.machine-container .info-item{align-items:center;background-color:#3741514d;border:1px solid #4b55634d;border-radius:4px;display:flex;flex-direction:row;gap:8px;justify-content:space-between;min-height:0;padding:8px 12px}.machine-container .info-label{color:#9ca3af;font-size:13px}.machine-container .info-value{color:#fff;font-size:14px;font-weight:600}.machine-container .info-unit{color:#60a5fa;font-size:12px;font-weight:400;margin-left:4px}.machine-container .control-label{color:#9ca3af;font-size:13px;white-space:nowrap}.machine-container .checkbox-wrapper{align-items:center;display:flex;gap:6px}.machine-container .checkbox-wrapper input[type=checkbox]{accent-color:#60a5fa;cursor:pointer;height:16px;width:16px}.machine-container .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.machine-container .status-badge.normal{background-color:#22c55e26;color:#22c55e}.machine-container .status-badge.warning{background-color:#f59e0b26;color:#f59e0b}.machine-container .status-badge.error{background-color:#ef444426;color:#ef4444}.machine-container .drive-history-table-container{height:100%;overflow-y:auto;padding:0 12px 12px}.machine-container .drive-history-table{border-collapse:collapse;font-size:12px;width:100%}.machine-container .drive-history-table thead{background-color:#1f2937;position:-webkit-sticky;position:sticky;top:0;z-index:1}.machine-container .drive-history-table th{border-bottom:1px solid #374151;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.machine-container .drive-history-table td{border-bottom:1px solid #4b55634d;color:#e5e7eb;padding:10px 12px}.machine-container .drive-history-table tbody tr:hover{background-color:#3741514d}.machine-container .drive-history-table tbody tr:last-child td{border-bottom:none}.machine-container .alarm-history-table-container{height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.machine-container .alarm-history-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.machine-container .alarm-history-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:100}.machine-container .alarm-history-table th{background-color:#1f2937;border-bottom:1px solid #374151;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;position:relative;text-align:left;text-transform:uppercase}.machine-container .alarm-history-table tbody{position:relative;z-index:1}.machine-container .alarm-history-table td{background-color:#111418;border-bottom:1px solid #4b55634d;color:#e5e7eb;padding:10px 12px}.machine-container .alarm-history-table td:first-child,.machine-container .alarm-history-table th:first-child{min-width:160px;white-space:nowrap}.machine-container .alarm-history-table tbody tr:hover,.machine-container .alarm-history-table tbody tr:hover td{background-color:#3741514d}.machine-container .alarm-history-table tbody tr:last-child td{border-bottom:none}.machine-container .alarm-history-table-container::-webkit-scrollbar{width:6px}.machine-container .alarm-history-table-container::-webkit-scrollbar-track{background:#1f2937}.machine-container .alarm-history-table-container::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.machine-container .alarm-history-table-container::-webkit-scrollbar-thumb:hover{background:#6b7280}.widget-modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.widget-modal-overlay .widget-modal{animation:slideUp .3s ease;background-color:#1f2937;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:90%}.modal-close-btn{background:none}.modal-close-btn:hover{background-color:#37415180;color:#e5e7eb}.modal-close-btn .material-symbols-outlined{font-size:24px}.widget-modal-overlay .back-btn{align-items:center;align-self:flex-start;background-color:#37415180;border:1px solid #4b5563;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.back-btn .material-symbols-outlined{font-size:20px}.machine-container .widget-content{flex:1 1;min-height:0;position:relative}.custom-widget-builder{animation:slideUp .3s ease;background-color:#1f2937;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:1200px;width:95%}.builder-header{align-items:center;border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:24px 28px}.builder-header h2{color:#e5e7eb;font-size:20px;font-weight:600;margin:0}.builder-body{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:1fr 1fr;overflow-y:auto;padding:24px 28px}.builder-settings{gap:20px}.builder-settings,.setting-group{display:flex;flex-direction:column}.setting-group{gap:8px}.setting-label{color:#9ca3af;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.size-button-group{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.size-btn{background-color:#111418;border:2px solid #374151;border-radius:8px;color:#9ca3af;cursor:pointer;font-size:13px;font-weight:600;padding:12px 16px;transition:all .2s ease}.size-btn:hover{background-color:#1f2937;border-color:#4b5563;color:#e5e7eb}.size-btn.active{background-color:#3b82f626;border-color:#3b82f6;color:#3b82f6}.setting-input{background-color:#1a1e24;border:1px solid #374151;border-radius:8px;color:#e5e7eb;font-size:14px;outline:none;padding:12px 16px;transition:all .2s ease}.setting-input:focus{background-color:#1f2937;border-color:#3b82f6}.setting-input::placeholder{color:#6b7280}.setting-select{background-color:#1a1e24;border:1px solid #374151;border-radius:8px;color:#e5e7eb;cursor:pointer;font-size:14px;outline:none;padding:12px 16px;transition:all .2s ease}.setting-select:focus{background-color:#1f2937;border-color:#3b82f6}.setting-select option{background-color:#1f2937;color:#e5e7eb}.builder-preview{gap:20px;height:100%}.builder-preview,.preview-section{display:flex;flex-direction:column}.preview-section{gap:12px}.preview-title{color:#e5e7eb;font-size:16px;font-weight:600;margin:0}.preview-chart{align-items:center;display:flex;height:300px;justify-content:center}.preview-chart,.summary-section{background-color:#1a1e24;border:1px solid #374151;border-radius:12px;padding:16px}.summary-title{border-bottom:1px solid #374151;color:#e5e7eb;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:12px}.summary-list{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.summary-key{color:#9ca3af;font-size:13px;font-weight:500}.summary-value{color:#e5e7eb;font-size:14px;font-weight:600}.builder-footer{border-top:1px solid #374151;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.builder-cancel-btn{background-color:initial;border:1px solid #4b5563;border-radius:8px;color:#9ca3af;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.builder-cancel-btn:hover{background-color:#4b556333;border-color:#6b7280;color:#e5e7eb}.builder-complete-btn{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.builder-complete-btn:hover{background-color:#2563eb;transform:scale(1.02)}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.recharts-wrapper,.recharts-wrapper:focus{outline:1px solid #30363d!important}.recharts-wrapper:focus-visible{outline:1px solid #30363d!important}.recharts-surface,.recharts-surface:focus{outline:1px solid #30363d!important}.recharts-surface:focus-visible{outline:1px solid #30363d!important}@media (max-width:1400px){.machine-container .section-title{font-size:15px}.machine-container .info-label{font-size:12px}.machine-container .info-value{font-size:13px}}@media (max-width:1200px){.machine-container .machine-header{height:56px;padding:0 12px}.machine-container .machine-title{font-size:18px}.machine-container .factory-name{font-size:14px}.machine-container .machine-tabs{flex-wrap:wrap}.machine-container .tab-item{flex:0 1 auto;font-size:13px;height:32px;min-width:120px;width:auto}.machine-container .tab-icon{font-size:16px}}@media (max-width:1024px){.machine-container .machine-header{flex-wrap:wrap;gap:8px;height:auto;padding:10px 12px}.machine-container .machine-header-left{flex:1 1;min-width:200px}.machine-container .machine-header-right{flex-shrink:0}.machine-container .factory-name{display:none}.machine-container .machine-title{font-size:16px}.machine-container .machine-tabs{flex-wrap:wrap;gap:2px}.machine-container .tab-item{flex:1 1 auto;font-size:12px;height:30px;max-width:calc(25% - 2px);min-width:100px;padding:0 10px;width:auto}.machine-container .tab-icon{display:none}.machine-container .info-list{grid-template-columns:1fr}}@media (max-width:900px){.machine-container{padding:2px}.machine-container .machine-header{padding:8px 10px}.machine-container .machine-dropdown-menu{min-width:280px}.machine-container .update-label{display:none}.machine-container .update-time{font-size:12px}.machine-container .machine-tabs{flex-wrap:wrap;gap:2px}.machine-container .tab-item{flex:1 1 auto;font-size:11px;max-width:calc(33.33% - 2px);min-width:80px;width:auto}.machine-container .section-title{font-size:14px;margin-bottom:8px;padding-bottom:6px}}@media (max-width:768px){.machine-container .machine-header{padding:6px 8px}.machine-container .machine-title{font-size:14px}.machine-container .dropdown-icon{font-size:20px}.machine-container .machine-dropdown-menu{max-width:calc(100vw - 32px);min-width:260px}.machine-container .machine-tabs{flex-wrap:wrap;gap:2px;margin-bottom:2px}.machine-container .tab-item{flex:1 1 auto;font-size:10px;height:28px;max-width:calc(33.33% - 2px);min-width:70px;padding:0 6px;width:auto}.machine-container .info-item{padding:6px 10px}.machine-container .info-label{font-size:11px}.machine-container .info-value{font-size:12px}.widget-modal-overlay .widget-modal{max-height:90vh;width:95%}.builder-body{grid-template-columns:1fr;padding:16px 20px}}@media (max-width:600px){.machine-container .machine-header-right{display:none}.machine-container .machine-tabs{flex-wrap:wrap;gap:2px;padding:0 4px}.machine-container .tab-item{flex:1 1 auto;font-size:10px;height:26px;max-width:calc(50% - 2px);min-width:60px;width:auto}.machine-container .section-title{font-size:13px;margin-bottom:6px;padding-bottom:4px}.machine-container .alarm-history-table td,.machine-container .alarm-history-table th,.machine-container .drive-history-table td,.machine-container .drive-history-table th{font-size:10px;padding:8px 6px}}@media (max-width:480px){.machine-container .machine-header{padding:4px 6px}.machine-container .machine-title{font-size:13px}.machine-container .dropdown-icon{font-size:18px}.machine-container .machine-dropdown-menu{min-width:220px}.machine-container .dropdown-item-name{font-size:12px}.machine-container .dropdown-item-model{font-size:10px}.machine-container .machine-tabs{flex-wrap:wrap;gap:2px}.machine-container .tab-item{flex:1 1 auto;font-size:9px;height:24px;max-width:calc(50% - 2px);min-width:50px;padding:0 4px;width:auto}}.alarm-analysis-container{background-color:#1a1e24;display:flex;flex-direction:column;min-height:100%;padding:4px}.alarm-analysis-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.alarm-analysis-header-left{align-items:center;display:flex;gap:16px}.back-button{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.back-button:hover{background-color:#9ca3af1a;color:#fff}.back-button .material-symbols-outlined{font-size:24px}.alarm-analysis-title{color:#fff;font-size:20px;font-weight:700;margin:0 0 4px}.alarm-analysis-subtitle{color:#d1d5db;font-size:12px;margin:0}.loading-container{align-items:center;background-color:#111418;border:1px solid #1b1d20;border-radius:4px;display:flex;justify-content:center;margin:4px;min-height:400px}.loading-spinner{align-items:center;color:#9ca3af;display:flex;flex-direction:column;font-size:16px;gap:16px}.loading-spinner .material-symbols-outlined{color:#3b82f6;font-size:48px}.rotating{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;background-color:#111418;border:1px solid #1b1d20;border-radius:4px;display:flex;flex-direction:column;gap:20px;justify-content:center;margin:4px;min-height:400px;padding:40px}.error-content{align-items:center;color:#ef4444;display:flex;gap:16px}.error-content .material-symbols-outlined{font-size:48px}.error-title{font-size:18px;font-weight:700;margin-bottom:8px}.error-message{color:#9ca3af;font-size:14px}.retry-button{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.alarm-analysis-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.alarm-info-card,.alarm-message-card,.analysis-card{background-color:#111418;border:1px solid #1b1d20;padding:20px}.section-title{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.info-item{display:flex;flex-direction:column;gap:8px}.info-label{color:#9ca3af;font-size:12px;font-weight:500}.info-value{color:#fff;font-size:16px;font-weight:600}.info-value.severity-error{color:#ef4444}.message-content{color:#d1d5db;font-size:14px;line-height:1.6}.message-note{background-color:#3b82f61a;border-left:3px solid #3b82f6;color:#9ca3af;font-size:13px;margin-top:12px;padding:12px}.alarm-analysis-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(2,1fr)}.analysis-content{color:#d1d5db;font-size:14px;line-height:1.6}.api-notice{align-items:flex-start;background-color:#fbbf241a;border:1px solid #fbbf244d;border-radius:4px;color:#d1d5db;display:flex;font-size:13px;gap:12px;line-height:1.6;padding:16px}.api-notice .material-symbols-outlined{color:#fbbf24;flex-shrink:0;font-size:24px}.api-notice strong{color:#fff}.api-notice code{background-color:#0000004d;border-radius:3px;color:#60a5fa;font-family:Courier New,monospace;font-size:12px;padding:2px 6px}@media (max-width:1200px){.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.alarm-analysis-grid,.info-grid{grid-template-columns:1fr}}.mdv-container{background-color:#1a1e24;color:#e5e7eb;display:flex;flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;overflow:hidden}.mdv-header{background-color:#151719;border-bottom:1px solid #2d3139;flex-shrink:0;gap:16px;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.mdv-header,.mdv-header-left{align-items:center;display:flex}.mdv-header-left{gap:8px}.mdv-title-icon{color:#60a5fa;font-size:20px}.mdv-title{font-size:15px;font-weight:600;margin:0;white-space:nowrap}.mdv-selector{position:relative}.mdv-selector-btn{align-items:center;background-color:#111418;border:1px solid #3f4550;border-radius:6px;color:#e5e7eb;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 12px;transition:border-color .15s}.mdv-selector-btn:hover{border-color:#60a5fa}.mdv-selector-name{font-weight:600}.mdv-selector-sub{color:#6b7280;font-size:11px}.mdv-dropdown{background-color:#111418;border:1px solid #3f4550;border-radius:8px;box-shadow:0 12px 40px #00000080;left:0;max-height:320px;min-width:260px;overflow-y:auto;padding:4px;position:absolute;top:calc(100% + 4px);z-index:20}.mdv-dropdown-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px 12px;transition:background-color .12s}.mdv-dropdown-item:hover{background-color:#ffffff0f}.mdv-dropdown-item.active{background-color:#3b82f626}.mdv-dropdown-name{color:#e5e7eb;font-size:13px;font-weight:500}.mdv-dropdown-model{color:#6b7280;font-size:11px}.mdv-count{background-color:#ffffff0d;border-radius:4px;color:#9ca3af;font-size:12px;padding:4px 10px}.mdv-loading{font-feature-settings:"tnum";color:#60a5fa;font-size:12px;font-variant-numeric:tabular-nums;margin-left:auto}.mdv-body{flex:1 1;min-height:0;overflow:hidden;position:relative}.mdv-loading-overlay{align-items:center;background:#0b0c0eb3;bottom:0;color:#60a5fa;display:flex;flex-direction:column;font-size:13px;gap:8px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:5}@keyframes mdv-spin{to{transform:rotate(1turn)}}.mdv-spin{animation:mdv-spin 1s linear infinite;color:#60a5fa}.mdv-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:14px;gap:8px;justify-content:center;padding:60px 0}.mdv-table-wrap{height:100%;overflow:scroll;width:100%}.mdv-table{border-collapse:collapse;font-size:12px;min-width:100%;width:-webkit-max-content;width:max-content}.mdv-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.mdv-th{border-bottom:2px solid #3f4550;color:#9ca3af;font-weight:500;padding:8px 12px;top:0;white-space:nowrap}.mdv-th,.mdv-th-row{background-color:#1a1d23;position:-webkit-sticky;position:sticky;text-align:center}.mdv-th-row{color:#6b7280;left:0;min-width:40px;width:40px;z-index:3}.mdv-th-content{align-items:baseline;display:flex;gap:4px;justify-content:center;white-space:nowrap}.mdv-th-unit{color:#6b7280;font-size:10px;font-weight:400}.mdv-td{font-feature-settings:"tnum";border-bottom:1px solid #2d313999;color:#d1d5db;font-variant-numeric:tabular-nums;padding:6px 12px;text-align:right;white-space:nowrap}.mdv-td-row{background-color:#1a1e24;border-right:1px solid #2d3139;color:#6b7280;font-size:11px;left:0;position:-webkit-sticky;position:sticky;text-align:center;z-index:1}.mdv-td-equip{color:#93c5fd;font-weight:500;text-align:left}.mdv-td-bad{color:#ef4444;font-weight:600}.mdv-table tbody tr:hover .mdv-td{background-color:#60a5fa0f}.mdv-table tbody tr:hover .mdv-td-row{background-color:#151719}.mdv-table tbody tr:nth-child(2n) .mdv-td{background-color:hsla(0,0%,100%,.015)}.mdv-table tbody tr:nth-child(2n) .mdv-td-row{background-color:#0e1012}.mdv-table-wrap::-webkit-scrollbar{height:8px;width:8px}.mdv-table-wrap::-webkit-scrollbar-track{background:#1a1e24}.mdv-table-wrap::-webkit-scrollbar-thumb{background-color:#3f4550;border-radius:4px}.mdv-table-wrap::-webkit-scrollbar-corner{background:#1a1e24}.mdv-page-sizes{display:flex;gap:4px;margin-left:4px}.mdv-page-size-btn{background:#0000;border:1px solid #3f4550;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .12s}.mdv-page-size-btn:hover{border-color:#60a5fa;color:#e5e7eb}.mdv-page-size-btn.active{background:#3b82f633;border-color:#60a5fa;color:#60a5fa;font-weight:600}.mdv-paging{background-color:#151719;border-top:1px solid #2d3139;flex-shrink:0;gap:8px;padding:8px 20px}.mdv-page-btn,.mdv-paging{align-items:center;display:flex;justify-content:center}.mdv-page-btn{background:#0000;border:1px solid #3f4550;border-radius:6px;color:#9ca3af;cursor:pointer;height:30px;transition:all .12s;width:30px}.mdv-page-btn:hover:not(:disabled){border-color:#60a5fa;color:#e5e7eb}.mdv-page-btn:disabled{cursor:default;opacity:.3}.mdv-page-btn .material-symbols-outlined{font-size:18px}.mdv-page-info{font-feature-settings:"tnum";color:#d1d5db;font-size:13px;font-variant-numeric:tabular-nums;min-width:140px;text-align:center}.eq-board-container{background-color:#1a1e24;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px;position:relative}.eq-update-info{align-items:flex-end;display:flex;flex-direction:column;margin-left:auto;padding-right:4px}.eq-update-info .update-label-container{align-items:center;display:flex;gap:1px}.eq-update-info .update-label{color:#9ca3af;font-size:12px}.eq-update-info .refresh-icon{color:#9ca3af;font-size:14px;line-height:1}.eq-update-info .update-time{color:#fff;font-size:14px;font-weight:700}.eq-update-info.refreshing .update-label{color:#3b82f6}.eq-update-info.refreshing .refresh-icon{animation:eq-spin 1s linear infinite;color:#3b82f6}@keyframes eq-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.eq-board-grid{grid-gap:4px;display:grid;flex:1 1;gap:4px;min-height:0}.eq-board-grid.split-1{grid-template-columns:1fr;grid-template-rows:1fr}.eq-board-grid.split-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.eq-board-grid.split-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.eq-panel{display:flex;flex-direction:column;overflow:hidden;position:relative}.eq-panel-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;display:flex;flex-shrink:0;height:48px;justify-content:space-between;padding:0 12px}.split-1 .eq-panel-header{height:56px;padding:0 16px}.eq-panel-selector{position:relative}.eq-panel-selector-btn{align-items:center;background:none;border:none;color:#e5e7eb;cursor:pointer;display:flex;gap:8px;padding:4px 0}.eq-panel-selector-btn:hover{opacity:.85}.eq-panel-icon{color:#60a5fa;font-size:20px}.eq-panel-name{color:#f3f4f6;font-size:14px;font-weight:600}.eq-panel-model{color:#6b7280;font-size:11px}.eq-panel-arrow{color:#6b7280;font-size:18px}.eq-panel-loading{color:#60a5fa;font-size:11px}.eq-panel-dropdown{background:#111418;border:1px solid #3f4550;border-radius:6px;box-shadow:0 8px 30px #00000080;left:0;max-height:300px;min-width:240px;overflow-y:auto;padding:4px;position:absolute;top:calc(100% + 4px);z-index:30}.eq-panel-dropdown-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:7px 10px;transition:background-color .12s}.eq-panel-dropdown-item:hover{background:#ffffff0f}.eq-panel-dropdown-item.active{background:#3b82f626}.eq-panel-dropdown-name{color:#e5e7eb;font-size:13px;font-weight:500}.eq-panel-dropdown-model{color:#6b7280;font-size:11px}.eq-panel-body{background-color:#111418;border:1px solid #1b1d20;flex:1 1;margin-top:4px;min-height:0;overflow:hidden}.eq-panel-empty{align-items:center;color:#6b7280;display:flex;font-size:13px;height:100%;justify-content:center}.eq-panel-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.eq-alarm-section{border-bottom:1px solid #1b1d20;flex-shrink:0}.eq-section-title{align-items:center;border-bottom:1px solid #1b1d2099;color:#9ca3af;display:flex;font-size:12px;font-weight:600;gap:6px;padding:8px 12px}.eq-section-title .material-symbols-outlined{color:#60a5fa;font-size:16px}.eq-alarm-count{background:#ef444433;border-radius:8px;color:#f87171;font-size:11px;margin-left:4px;padding:1px 6px}.eq-alarm-list{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px 12px}.eq-alarm-empty{color:#4b5563;font-size:12px;padding:12px;text-align:center;width:100%}.eq-alarm-card{border:1px solid;cursor:pointer;flex-shrink:0;font-size:12px;min-width:220px;padding:8px;transition:opacity .2s}.eq-alarm-card:hover{opacity:.8}.eq-alarm-card-row1{align-items:center;display:flex;gap:8px}.eq-alarm-code{color:#fff;font-size:12px;font-weight:500}.eq-alarm-value{color:#9ca3af;font-size:11px}.eq-alarm-live{align-items:center;color:#f87171;display:flex;font-size:12px;font-weight:500;gap:4px;margin-left:auto}.eq-alarm-live-dot{animation:eq-pulse 2s cubic-bezier(.4,0,.6,1) infinite;background:#ef4444;border-radius:50%;height:6px;width:6px}@keyframes eq-pulse{0%,to{opacity:1}50%{opacity:.3}}.eq-alarm-msg{font-size:12px;margin:4px 0 4px 24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eq-alarm-footer{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-left:24px}.eq-alarm-time{font-feature-settings:"tnum";color:#9ca3af;font-variant-numeric:tabular-nums}.eq-alarm-status{font-weight:500}.eq-alarm-list::-webkit-scrollbar{height:4px}.eq-alarm-list::-webkit-scrollbar-track{background:#0000}.eq-alarm-list::-webkit-scrollbar-thumb{background:#3f4550;border-radius:2px}.eq-shot-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.eq-shot-count{color:#6b7280;font-size:11px;font-weight:400;margin-left:4px}.eq-shot-table-wrap{flex:1 1;min-height:0;overflow:auto}.eq-shot-table{border-collapse:collapse;font-size:12px;width:100%}.eq-shot-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.eq-shot-table th{background-color:#1a1d23;border-bottom:1px solid #3f4550;color:#9ca3af;font-weight:500;padding:6px 8px}.eq-shot-table td,.eq-shot-table th{text-align:center;white-space:nowrap}.eq-shot-table td{font-feature-settings:"tnum";border-bottom:1px solid #1b1d2099;color:#d1d5db;font-variant-numeric:tabular-nums;padding:4px 8px}.eq-shot-table tbody tr:hover td{background-color:#60a5fa0f}.eq-shot-table tbody tr:nth-child(2n) td{background-color:hsla(0,0%,100%,.015)}.eq-shot-empty{color:#4b5563;padding:20px 0!important;text-align:center!important}.eq-shot-table-wrap::-webkit-scrollbar{height:6px;width:6px}.eq-shot-table-wrap::-webkit-scrollbar-track{background:#0000}.eq-shot-table-wrap::-webkit-scrollbar-thumb{background:#3f4550;border-radius:3px}.eq-shot-table-wrap::-webkit-scrollbar-corner{background:#0000}.eq-fab-toolbar{background-color:#111418;border:1px solid #3f4550;border-radius:8px;bottom:20px;box-shadow:0 4px 20px #00000080;display:flex;gap:4px;padding:4px;position:absolute;right:20px;z-index:10}.eq-fab-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s;width:36px}.eq-fab-btn:hover{background-color:#ffffff0f;color:#e5e7eb}.eq-fab-btn.active{background-color:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.eq-fab-btn .material-symbols-outlined{font-size:20px}.eq-panel-dropdown::-webkit-scrollbar{width:4px}.eq-panel-dropdown::-webkit-scrollbar-track{background:#0000}.eq-panel-dropdown::-webkit-scrollbar-thumb{background:#3f4550;border-radius:2px}.eq-new-shot td{animation:eqNewShotBlink .6s ease-in-out 4}@keyframes eqNewShotBlink{0%,to{background-color:initial}50%{background-color:#fbbf2440}}.eq-alarm-popup-overlay{align-items:center;animation:eqFadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}@keyframes eqFadeIn{0%{opacity:0}to{opacity:1}}.eq-alarm-popup{animation:eqSlideUp .25s ease;background:var(--alarm-bg);border:2px solid;box-shadow:0 20px 60px #000000b3;display:flex;flex-direction:column;gap:16px;min-width:500px;padding:28px 36px;position:relative}.eq-alarm-popup:before{background:#1a1d23;content:"";inset:0;position:absolute;z-index:-1}@keyframes eqSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.eq-alarm-popup-row1{align-items:center;display:flex;gap:12px}.eq-alarm-popup-icon{font-size:28px}.eq-alarm-popup-code{font-size:22px;font-weight:700}.eq-alarm-popup-dash{color:#6b7280;font-size:22px}.eq-alarm-popup-msg{color:#d1d5db;font-size:22px;font-weight:500}.eq-alarm-popup-remaining{background:#ffffff14;border-radius:10px;color:#9ca3af;flex-shrink:0;font-size:14px;margin-left:auto;padding:3px 12px}.eq-alarm-popup-row2{align-items:center;display:flex;justify-content:space-between;padding-left:40px}.eq-alarm-popup-time{font-feature-settings:"tnum";color:#9ca3af;font-size:18px;font-variant-numeric:tabular-nums}.eq-alarm-popup-status{font-size:18px;font-weight:600}.eq-alarm-popup-confirm{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;color:#e5e7eb;cursor:pointer;font-size:16px;font-weight:600;margin-top:4px;padding:12px 0;transition:background-color .15s}.eq-alarm-popup-confirm:hover{background:#ffffff1a}.table-renderer{background:#0d111780;border:1px solid #30363d;border-radius:12px;margin:16px 0;overflow-x:auto;padding:20px}.table-renderer table{background:#0000;border-collapse:collapse;font-size:14px;width:100%}.table-renderer thead{background:#1a1f2e}.table-renderer th{border-bottom:2px solid #30363d;color:#7d8590;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.table-renderer td{border-bottom:1px solid #2d3339;color:#c9d1d9;padding:12px 16px}.table-renderer tbody tr:hover{background:#3b82f614;transition:background .2s ease}.table-renderer tbody tr:last-child td{border-bottom:none}.table-footer{color:#7d8590;font-size:13px;margin-top:12px;opacity:.8}.table-error{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;color:#ff6b6b;padding:20px;text-align:center}.aa-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow:hidden;padding:8px}.aa-page button,.aa-page textarea{font-family:inherit}.aa-header{background:#111418;border:1px solid #ffffff14;border-radius:8px;flex-shrink:0;gap:16px;height:56px;justify-content:space-between;padding:0 16px}.aa-crumb,.aa-header{align-items:center;display:flex}.aa-crumb{font-size:16px;gap:10px}.aa-crumb-icon{color:#c5d7e0;font-size:22px}.aa-crumb-root{color:#c5d7e0}.aa-crumb-sep{color:#798699;font-size:20px}.aa-new{align-items:center;background:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;color:#c5d7e0;cursor:pointer;display:inline-flex;font-size:14px;gap:6px;height:36px;padding:0 14px}.aa-new:hover:not(:disabled){border-color:#83a6ff;color:#fff}.aa-new:disabled{cursor:not-allowed;opacity:.45}.aa-new .material-symbols-outlined{font-size:18px}.aa-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.aa-messages{flex:1 1;min-height:0;overflow-y:auto;padding:24px 24px 12px;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.aa-messages::-webkit-scrollbar{width:8px}.aa-messages::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:4px}.aa-messages::-webkit-scrollbar-thumb:hover{background:#3f4550}.aa-thread{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1100px}.aa-msg{align-items:flex-start;display:flex;gap:12px}.aa-msg-user{justify-content:flex-end}.aa-avatar{align-items:center;background:#256ef4;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:700;height:36px;justify-content:center;width:36px}.aa-msg-body{display:flex;flex-direction:column;gap:6px;max-width:calc(100% - 48px);min-width:0}.aa-msg-user .aa-msg-body{align-items:flex-end;max-width:75%}.aa-msg-meta{align-items:center;color:#98a8bf;display:flex;font-size:12px;gap:8px}.aa-msg-role{color:#c5d7e0;font-weight:600}.aa-msg-user .aa-msg-role{display:none}.aa-status{color:#83a6ff}.aa-bubble{background:#1a1e24;border:1px solid #ffffff14;border-radius:8px;color:#fff;min-width:0;padding:14px 18px}.aa-msg-user .aa-bubble{background:#256ef4;border-color:#256ef4}.aa-bubble-error{border-color:#f04438;color:#c5d7e0}.aa-text{font-size:15px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.aa-block+.aa-block,.aa-block+.aa-file,.aa-block+.aa-text,.aa-text+.aa-block,.aa-text+.aa-file,.aa-text+.aa-text{margin-top:14px}.aa-cursor{animation:aaBlink 1s step-end infinite;color:#83a6ff;margin-left:2px}@keyframes aaBlink{50%{opacity:0}}.aa-typing{display:inline-flex;gap:6px;padding:4px 0}.aa-typing i{animation:aaDot 1.2s ease-in-out infinite;background:#98a8bf;border-radius:50%;height:8px;width:8px}.aa-typing i:nth-child(2){animation-delay:.15s}.aa-typing i:nth-child(3){animation-delay:.3s}@keyframes aaDot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.aa-page .table-renderer{background:#0000;border:1px solid #ffffff14;border-radius:6px;margin:0;padding:0}.aa-page .table-renderer thead{background:#111418}.aa-page .table-renderer th{border-bottom:1px solid #ffffff14;color:#c5d7e0;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.aa-page .table-renderer td{font-feature-settings:"tnum";border-bottom:1px solid #ffffff0f;color:#fff;font-variant-numeric:tabular-nums}.aa-page .table-renderer tbody tr:hover{background:#83a6ff14}.aa-page .chart-section{padding:16px}.aa-file,.aa-page .chart-section{background:#111418;border:1px solid #ffffff14;border-radius:6px}.aa-file{align-items:center;display:flex;gap:14px;padding:12px 16px}.aa-file-icon{color:#83a6ff;font-size:28px}.aa-file-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.aa-file-title{font-size:15px;font-weight:600}.aa-file-rows{color:#98a8bf;font-size:13px;font-weight:400;margin-left:6px}.aa-file-msg{color:#c5d7e0;font-size:13px}.aa-file-btn{align-items:center;background:#256ef4;border-radius:4px;color:#fff;display:inline-flex;font-size:14px;gap:6px;height:36px;padding:0 14px;text-decoration:none;white-space:nowrap}.aa-file-btn:hover{filter:brightness(1.1)}.aa-file-btn .material-symbols-outlined,.aa-file-ready .material-symbols-outlined{font-size:18px}.aa-file-ready{align-items:center;color:#47cd89;display:inline-flex;font-size:13px;gap:4px;white-space:nowrap}.aa-suggest{display:flex;flex-direction:column;gap:10px;margin-left:48px}.aa-suggest-title{color:#98a8bf;font-size:13px}.aa-suggest-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.aa-suggest-item{align-items:center;background:#1a1e24;border:1px solid #c5d7e033;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:12px;justify-content:space-between;min-height:52px;padding:0 16px;text-align:left}.aa-suggest-item:hover{border-color:#83a6ff}.aa-suggest-item .material-symbols-outlined{color:#98a8bf;flex-shrink:0;font-size:16px}.aa-input{align-items:flex-end;border-top:1px solid #ffffff0f;box-sizing:border-box;display:flex;gap:8px;margin:0 auto;max-width:1148px;padding:12px 16px 16px;width:100%}.aa-textarea{background:#1a1e24;border:1px solid #c5d7e033;border-radius:6px;box-sizing:border-box;color:#fff;flex:1 1;font-size:15px;line-height:1.5;max-height:200px;min-height:52px;min-width:0;padding:14px 16px;resize:none}.aa-textarea::placeholder{color:#798699}.aa-textarea:focus{border-color:#83a6ff;outline:1px solid #83a6ff}.aa-textarea:disabled{opacity:.6}.aa-send{align-items:center;background:#256ef4;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:15px;font-weight:500;gap:6px;height:52px;padding:0 20px}.aa-send:hover:not(:disabled){filter:brightness(1.1)}.aa-send:disabled{cursor:not-allowed;opacity:.45}.aa-send .material-symbols-outlined{font-size:18px}.aa-error-note{color:#f04438;font-size:12px;padding:0 16px 12px;text-align:center}@media (max-width:900px){.aa-messages{padding:16px 12px 8px}.aa-suggest{margin-left:0}.aa-suggest-grid{grid-template-columns:minmax(0,1fr)}.aa-msg-user .aa-msg-body{max-width:90%}}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-container{animation:slideIn .2s ease-out;background:#111418;border:1px solid #2d3339;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;max-width:480px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #2d3339}.modal-title{font-family:Inter,sans-serif;line-height:24px}.modal-close-btn{border-radius:4px;color:#9ca3af;padding:4px;transition:all .2s}.modal-close-btn:hover{background:#2d3339;color:#fff}.modal-body{gap:16px;padding:24px}.modal-icon{align-items:center;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.modal-icon.danger{background:#ef44441a;color:#ef4444}.modal-icon.warning{background:#fbbf241a;color:#fbbf24}.modal-icon.info{background:#3b82f61a;color:#3b82f6}.modal-message{color:#d1d5db;font-family:Inter,sans-serif;font-size:14px;line-height:20px;margin:0;text-align:center;white-space:pre-line}.modal-footer{border-top:1px solid #2d3339;padding:16px 24px}.modal-btn{font-family:Inter,sans-serif;line-height:20px;transition:all .2s}.modal-btn-cancel{background:#2d3339;border:1px solid #4b5563;color:#fff}.modal-btn-cancel:hover{background:#3d4349}.modal-btn-confirm{color:#fff}.modal-btn-confirm.danger{background:#ef4444}.modal-btn-confirm.danger:hover{background:#dc2626}.modal-btn-confirm.warning{background:#fbbf24}.modal-btn-confirm.warning:hover{background:#f59e0b}.modal-btn-confirm.info{background:#3b82f6}.modal-btn-confirm.info:hover{background:#2563eb}@media (max-width:640px){.modal-container{margin:0 10px;width:95%}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-footer{flex-direction:column;padding:12px 20px}.modal-btn{width:100%}}.mg-page{background:#1a1e24;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;overflow:auto;padding:8px}.mg-page button,.mg-page input,.mg-page select,.mg-page textarea{font-family:inherit}.mg-header{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-shadow:0 -8px 0 #1a1e24;box-sizing:border-box;flex-shrink:0;gap:16px;justify-content:space-between;min-height:64px;padding:0 16px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.mg-breadcrumb,.mg-header{align-items:center;display:flex}.mg-breadcrumb{font-size:16px;gap:10px;min-width:0}.mg-crumb-icon{color:#c5d7e0;font-size:22px}.mg-crumb{color:#c5d7e0;white-space:nowrap}.mg-crumb.link{background:none;border:none;cursor:pointer;font-size:inherit;padding:0}.mg-crumb.link:hover{color:#83a6ff}.mg-crumb.current{color:#fff}.mg-crumb-sep{color:#798699;font-size:20px}.mg-back{align-items:center;background:none;border:none;border-radius:6px;color:#c5d7e0;cursor:pointer;display:inline-flex;height:36px;justify-content:center;margin-right:2px;width:36px}.mg-back:hover{background:#2a313b;color:#fff}.mg-back .material-symbols-outlined{font-size:24px}.mg-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.mg-btn{align-items:center;border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:6px;height:40px;justify-content:center;padding:0 16px;white-space:nowrap}.mg-btn .material-symbols-outlined{font-size:20px}.mg-btn:disabled{cursor:not-allowed;opacity:.5}.mg-btn.primary{background:#256ef4;border:1px solid #256ef4;color:#fff}.mg-btn.primary:hover{background:#3b7df6;border-color:#3b7df6}.mg-btn.secondary{background:#1a1e24;border:1px solid #c5d7e033;color:#fff}.mg-btn.secondary:hover{background:#2a313b;border-color:#c5d7e059}.mg-btn.danger{background:#1a1e24;border:1px solid #f0443880;color:#f04438}.mg-btn.danger:hover{background:#f0443814;border-color:#f04438}.mg-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:#98a8bf;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.mg-icon-btn .material-symbols-outlined{font-size:20px}.mg-icon-btn:hover{background:#2a313b;color:#fff}.mg-icon-btn.danger:hover{color:#f04438}.mg-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px}.mg-panel.fill{flex:1 1;min-height:0}.mg-panel-title{border-bottom:1px solid #c5d7e033;color:#fff;font-size:17px;font-weight:700;margin:0;padding-bottom:12px}.mg-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.mg-field{align-items:center;color:#c5d7e0;display:inline-flex;font-size:15px;gap:10px;white-space:nowrap}.mg-toolbar-right{align-items:center;display:flex;gap:12px;margin-left:auto}.mg-summary{color:#c5d7e0;font-size:15px;white-space:nowrap}.mg-input,.mg-select,.mg-textarea{background-color:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;box-sizing:border-box;color:#fff;color-scheme:dark;font-size:15px;height:40px;padding:0 14px;width:100%}.mg-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2398A8BF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.mg-toolbar .mg-select{min-width:160px;width:auto}.mg-select option{background:#1a1e24;color:#fff}.mg-textarea{height:auto;line-height:1.5;min-height:104px;padding:10px 14px;resize:vertical}.mg-input:hover,.mg-select:hover,.mg-textarea:hover{border-color:#c5d7e059}.mg-input:focus,.mg-select:focus,.mg-textarea:focus{border-color:#83a6ff;outline:none}.mg-select:disabled{cursor:not-allowed;opacity:.5}.mg-input::placeholder,.mg-textarea::placeholder{color:#98a8bf}.mg-search{position:relative;width:280px}.mg-search .mg-input{padding-right:40px}.mg-search .material-symbols-outlined{color:#98a8bf;font-size:20px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.mg-table-wrap{border:1px solid #ffffff14;border-radius:4px;flex:1 1;min-height:0;overflow:auto;scrollbar-color:#2a2f38 #0000;scrollbar-width:thin}.mg-table-wrap::-webkit-scrollbar{height:8px;width:8px}.mg-table-wrap::-webkit-scrollbar-thumb{background:#2a2f38;border-radius:4px}.mg-table-wrap::-webkit-scrollbar-corner{background:#0000}.mg-table{border-collapse:initial;border-spacing:0;font-size:15px;width:100%}.mg-table td,.mg-table th{font-feature-settings:"tnum";border-bottom:1px solid #ffffff0f;font-variant-numeric:tabular-nums;height:44px;padding:0 12px;text-align:center;white-space:nowrap}.mg-table th{background:#1a1e24;color:#c5d7e0;font-weight:500;height:52px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.mg-table td{background:#111418;color:#fff;height:60px}.mg-table td.left,.mg-table th.left{text-align:left}.mg-table tbody tr{cursor:pointer}.mg-table tbody tr:hover td{background:#1a1e24}.mg-table tbody tr:last-child td{border-bottom:none}.mg-empty{color:#98a8bf;font-size:15px;padding:60px 0;text-align:center}.mg-table td.mg-empty{color:#98a8bf;cursor:default;height:auto;padding:60px 0}.mg-table tbody tr.mg-empty-row{cursor:default}.mg-table tbody tr.mg-empty-row:hover td{background:#111418}.mg-name{align-items:center;display:flex;gap:12px}.mg-name-icon{align-items:center;background:#256ef41f;border-radius:6px;color:#83a6ff;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.mg-name-icon .material-symbols-outlined{font-size:22px}.mg-name-main{color:#fff;font-size:15px;font-weight:600}.mg-name-sub{color:#98a8bf;font-size:13px;margin-top:2px}.mg-code{background:#1a1e24;border:1px solid #ffffff14;border-radius:3px;color:#c5d7e0;display:inline-block;font-family:Consolas,monospace;font-size:13px;padding:2px 8px}.mg-muted{color:#98a8bf}.mg-env{align-items:center;display:inline-flex;gap:4px}.mg-env .material-symbols-outlined{color:#98a8bf;font-size:18px}.mg-equip{align-items:center;display:flex;flex-direction:column;gap:2px}.mg-equip-total{font-weight:600}.mg-equip-split{display:flex;font-size:12px;gap:8px}.mg-equip-split .running{color:#47cd89}.mg-equip-split .idle{color:#fdb022}.mg-equip-split .stopped{color:#f04438}.mg-rate{align-items:center;display:inline-flex;gap:10px}.mg-rate-track{background:#2a2f38;border-radius:4px;height:8px;overflow:hidden;width:90px}.mg-rate-bar{border-radius:4px;display:block;height:100%}.mg-rate-bar.high{background:#47cd89}.mg-rate-bar.medium{background:#fdb022}.mg-rate-bar.low{background:#f04438}.mg-rate-text{font-weight:500;min-width:40px;text-align:right}.mg-actions{gap:4px}.mg-actions,.mg-badge{align-items:center;display:inline-flex}.mg-badge{border:1px solid;border-radius:3px;font-size:12px;font-weight:500;height:24px;justify-content:center;padding:0 10px;white-space:nowrap}.mg-badge.success{background:#47cd8914;color:#47cd89}.mg-badge.warning{background:#fdb02214;color:#fdb022}.mg-badge.error{background:#f0443814;color:#f04438}.mg-badge.info{background:#83a6ff14;color:#83a6ff}.mg-badge.neutral{background:#c5d7e014;color:#c5d7e0}.mg-form{display:flex;flex-direction:column;gap:8px}.mg-grid{grid-gap:16px 20px;display:grid;gap:16px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.mg-group{display:flex;flex-direction:column;gap:8px;min-width:0}.mg-group.full{grid-column:1/-1}.mg-label{color:#c5d7e0;font-size:14px}.mg-required{color:#f04438;margin-left:2px}.mg-value{align-items:center;background:#1a1e24;border:1px solid #ffffff0f;border-radius:4px;box-sizing:border-box;color:#fff;display:flex;font-size:15px;min-height:40px;padding:8px 14px;white-space:pre-wrap;word-break:break-word}.mg-form.editing .mg-value{background:#0000;border:1px dashed #c5d7e033;color:#98a8bf}.mg-value.running{color:#47cd89}.mg-value.idle{color:#fdb022}.mg-value.stopped{color:#f04438}.mg-form-actions{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;gap:8px;justify-content:flex-end;padding:12px 96px 12px 16px}.mg-profile{align-items:center;flex-direction:row;flex-wrap:wrap;gap:20px}.mg-profile-icon{align-items:center;background:#256ef41f;border-radius:8px;color:#83a6ff;display:inline-flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.mg-profile-icon .material-symbols-outlined{font-size:34px}.mg-profile-info{align-items:flex-start;display:flex;flex-direction:column;gap:6px;min-width:0}.mg-profile-name{color:#fff;font-size:20px;font-weight:700;margin:0}.mg-profile-sub{color:#98a8bf;font-family:Consolas,monospace;font-size:14px;margin:0}.mg-stats{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.mg-stat{background:#1a1e24;border-radius:6px;display:flex;flex-direction:column;gap:6px;min-width:130px;padding:10px 14px}.mg-stat-label{color:#98a8bf;font-size:13px}.mg-stat-value{font-feature-settings:"tnum";color:#fff;font-size:17px;font-variant-numeric:tabular-nums;font-weight:600}.mg-stat .mg-rate-track{width:70px}.mg-loading{align-items:center;color:#98a8bf;display:flex;flex:1 1;font-size:15px;justify-content:center}.mg-page .pagination-container{border-top:1px solid #ffffff0f;margin-top:0;padding:12px 0 0}.mg-page .pagination-info{color:#c5d7e0;font-size:14px;padding-left:0}.mg-page .pagination-size-select{background:#1a1e24;border-color:#c5d7e033;border-radius:4px;color:#fff;font-family:inherit;height:32px}@media (max-width:1024px){.mg-grid{grid-template-columns:minmax(0,1fr)}.mg-stats{margin-left:0}.mg-search{width:200px}}.mg-avatar{align-items:center;background:#256ef41f;border-radius:50%;color:#83a6ff;display:inline-flex;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.mg-avatar.large{font-size:26px;height:64px;width:64px}.mg-tags{flex-wrap:wrap;gap:4px;justify-content:center}.mg-tag,.mg-tags{align-items:center;display:inline-flex}.mg-tag{background:#2a313b;border-radius:3px;color:#c5d7e0;font-size:12px;height:22px;padding:0 8px;white-space:nowrap}.mg-tag.more{background:#0000;border:1px solid #c5d7e033;color:#98a8bf}.mg-ellipsis{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-pin{color:#83a6ff;font-size:18px}.mg-views{align-items:center;color:#c5d7e0;display:inline-flex;gap:4px}.mg-views .material-symbols-outlined{color:#98a8bf;font-size:16px}.mg-panel-note{color:#98a8bf;font-size:13px;font-weight:400;margin-left:8px}.mg-perm-tree{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.mg-perm-group{background:#1a1e24;border:1px solid #ffffff0f;border-radius:6px;padding:12px 14px}.mg-perm-head{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:10px}.mg-perm-head .material-symbols-outlined{color:#98a8bf;font-size:18px}.mg-perm-count{color:#98a8bf;font-weight:400}.mg-perm-items{display:flex;flex-direction:column;gap:6px}.mg-perm-item{align-items:center;color:#c5d7e0;display:flex;font-size:14px;gap:6px}.mg-perm-item .material-symbols-outlined{color:#47cd89;font-size:16px}.mg-perm-empty{background:#1a1e24;border-radius:6px;color:#98a8bf;font-size:14px;padding:14px}.mg-check{align-items:center;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;position:relative;-webkit-user-select:none;user-select:none}.mg-check input{cursor:pointer;height:18px;margin:0;opacity:0;position:absolute;width:18px}.mg-check-box{align-items:center;background:#1a1e24;border:1px solid #c5d7e059;border-radius:3px;box-sizing:border-box;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.mg-check-box .material-symbols-outlined{color:#fff;font-size:14px;opacity:0}.mg-check.checked .mg-check-box{background:#256ef4;border-color:#256ef4}.mg-check.checked .mg-check-box .material-symbols-outlined{opacity:1}.mg-check input:focus-visible+.mg-check-box{outline:1px solid #83a6ff;outline-offset:2px}.mg-check-grid{grid-gap:12px 20px;display:grid;gap:12px 20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mg-modal-overlay{background:#0009;inset:0;position:fixed;z-index:1000}.mg-modal{background:#111418;border:1px solid #c5d7e033;border-radius:8px;box-shadow:0 20px 50px #00000080;color:#fff;display:flex;flex-direction:column;left:50%;max-height:86vh;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 32px));z-index:1001}.mg-modal button,.mg-modal input,.mg-modal select,.mg-modal textarea{font-family:inherit}.mg-modal-head{align-items:center;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:14px 16px}.mg-modal-title{font-size:17px;font-weight:700;margin:0}.mg-modal-body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:16px}.mg-modal-actions{border-top:1px solid #ffffff14;display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.mg-modal .mg-perm-tree{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mg-tabs{align-items:stretch;background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-shrink:0;gap:4px;overflow-x:auto;padding:0 8px;scrollbar-width:none}.mg-tabs::-webkit-scrollbar{display:none}.mg-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#98a8bf;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;gap:6px;height:48px;padding:0 14px;white-space:nowrap}.mg-tab .material-symbols-outlined{font-size:19px}.mg-tab:hover{color:#fff}.mg-tab.active{border-bottom-color:#83a6ff;color:#83a6ff}.mg-notice{align-items:flex-start;background:#fdb02214;border:1px solid #fdb02259;border-radius:6px;color:#fdb022;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:12px 14px}.mg-notice .material-symbols-outlined{flex-shrink:0;font-size:20px}.mg-notice p{color:#c5d7e0;margin:0}.mg-notice strong{color:#fdb022;font-weight:600}.aim-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.aim-layout>*{min-width:0}@media (max-width:1400px){.aim-layout{grid-template-columns:minmax(0,1fr)}}.aim-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.aim-card{background:#1a1e24;border:1px solid #ffffff14;border-radius:10px;color:#fff;display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 16px}.aim-card.inactive{opacity:.6}.aim-card-head{align-items:center;display:flex;gap:8px}.aim-icon{color:#83a6ff}.aim-card-head .aim-name{flex:1 1;font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aim-model{color:#c5d7e0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;word-break:break-all}.aim-meta{color:#98a8bf;font-size:12px;word-break:break-all}.aim-tags{display:flex;flex-wrap:wrap;gap:4px;min-height:22px}.aim-tag{background:#83a6ff26;border-radius:999px;color:#83a6ff;font-size:11px;padding:2px 8px}.aim-tag.empty{background:#ffffff0f;color:#98a8bf}.aim-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.aim-card-actions .mg-btn{font-size:12px;padding:4px 10px}.aim-test{background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;font-size:12px;line-height:1.5;padding:6px 8px;word-break:break-all}.aim-test.ok{background:#47cd891a;border-color:#47cd8959;color:#47cd89}.aim-test.fail{background:#f044381a;border-color:#f0443859;color:#fda29b}.aim-test-summary{overflow-wrap:anywhere;word-break:keep-all}.aim-test details{margin-top:4px}.aim-test summary{color:#98a8bf;cursor:pointer;font-size:11px}.aim-test-raw{color:#98a8bf;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;margin-top:4px;max-height:140px;overflow:auto}.aim-assign .mg-select{min-width:180px;width:100%}.aim-assign td.aim-updated{font-size:12px;min-width:90px;white-space:normal}.aim-feature-label{font-weight:500}.aim-feature-group{color:#98a8bf;display:block;font-size:11px}.aim-help{color:#98a8bf;font-size:12px;line-height:1.5;margin:0 0 10px}.aim-form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.aim-form-row.three{grid-template-columns:1fr 1fr 1fr}@media (max-width:640px){.aim-form-row,.aim-form-row.three{grid-template-columns:1fr}}.aim-inline{align-items:center;display:flex;gap:6px}.aim-inline .mg-input{flex:1 1}.aim-error{color:#f97066;font-size:13px;margin:6px 0 0;word-break:break-all}.aim-toast{background:#1a1e24;border:1px solid #c5d7e033;border-radius:8px;bottom:24px;box-shadow:0 6px 20px #0006;color:#fff;font-size:13px;padding:10px 16px;position:fixed;right:24px;z-index:1200}.aim-calls .mg-table td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.aim-calls .mg-table td.err{color:#f97066;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-root{background:#1a1e24;border:1px solid #ffffff14;border-radius:8px;color:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.lb-root button,.lb-root input,.lb-root select{font-family:inherit}.lb-header{align-items:center;background:#111418;border-bottom:1px solid #ffffff14;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.lb-header h2{font-size:16px;font-weight:600;margin:0}.lb-sub{color:#98a8bf;font-size:12px;font-weight:400;margin-left:8px}.lb-stats{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.lb-pill{align-items:center;background:#2a313b;border-radius:3px;color:#c5d7e0;display:inline-flex;font-size:12px;height:24px;padding:0 10px}.lb-pill.pending{background:#fdb02214;border:1px solid;color:#fdb022}.lb-pill.labeled{background:#47cd8914;border:1px solid;color:#47cd89}.lb-export-format-select{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;font-size:13px;height:32px;padding:0 8px}.lb-export-list-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.lb-export-list-panel{background:#111418;border:1px solid #ffffff14;border-radius:8px;max-height:70vh;overflow-y:auto;padding:16px;width:520px}.lb-export-list-header{align-items:center;display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:12px}.lb-export-list-body{display:flex;flex-direction:column;gap:8px}.lb-export-list-row{background:#1a1e24;border:1px solid #ffffff14;border-radius:6px;display:flex;flex-direction:column;font-size:12px;gap:2px;padding:8px}.lb-export-list-date{color:#98a8bf;font-size:11px}.lb-export-list-format{font-weight:600}.lb-export-list-count{color:#98a8bf}.lb-export-list-path{color:#798699;font-size:11px;word-break:break-all}.lb-export-delete{align-self:flex-end;background:#f0443814;border:1px solid #f0443880;color:#f04438;margin-top:4px}.lb-export-delete:disabled{cursor:not-allowed;opacity:.5}.lb-body{flex:1 1}.lb-body,.lb-list{display:flex;min-height:0}.lb-list{background:#111418;border-right:1px solid #ffffff14;flex-direction:column;width:300px}.lb-filter{border-bottom:1px solid #ffffff14;display:flex;gap:4px;padding:8px}.lb-fbtn{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#98a8bf;cursor:pointer;flex:1 1;font-size:12px;padding:4px}.lb-fbtn.active{background:#256ef4;border-color:#256ef4;color:#fff}.lb-queue-bar{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:4px;padding:6px 8px}.lb-queue-bar .lb-mini{margin-left:0;padding:3px 8px}.lb-queue-load{cursor:pointer}.lb-queue-toggle{background:#1a1e24;border:1px solid #ffffff14;color:#98a8bf;flex:1 1}.lb-queue-toggle.active{color:#fff}.lb-queue-clear{background:#1a1e24;border:1px solid #ffffff14;color:#98a8bf}.lb-queue-check{align-items:center;color:#98a8bf;cursor:pointer;display:flex;font-size:11px;gap:4px}.lb-screening-hint{background:#fdb02214;border-radius:4px;color:#fdb022;font-size:12px;margin-bottom:6px;padding:4px 6px}.lb-folder-select-area{border-bottom:1px solid #ffffff14;display:flex;flex-direction:column;gap:4px;padding:8px}.lb-folder-select-label{color:#98a8bf;font-size:11px}.lb-folder-select{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;font-size:12px;padding:6px;width:100%}.lb-qbar{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:4px;padding:6px 8px}.lb-qinput{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;flex:1 1;font-size:12px;min-width:0;padding:5px 6px}.lb-pager .lb-mini,.lb-qbar .lb-mini{background:#1a1e24;border:1px solid #ffffff14;color:#98a8bf;margin-left:0;padding:3px 8px}.lb-pager .lb-mini:disabled{cursor:not-allowed;opacity:.4}.lb-rows{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.lb-row{align-items:center;background:#0000;border:none;border-bottom:1px solid #ffffff0a;border-left:2px solid #0000;color:#fff;cursor:pointer;display:flex;font-size:11px;gap:6px;padding:6px 8px;text-align:left;width:100%}.lb-row:hover{background:#1a1e24}.lb-row.active{background:#2a313b;border-left-color:#256ef4}.lb-row.st-labeled{border-left-color:#10b98155}.lb-ngdot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.lb-ngdot.ng{background:#f04438}.lb-ngdot.ok{background:#798699}.lb-row-text{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.lb-row-dir{color:#98a8bf;font-size:10px}.lb-row-dir,.lb-row-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-row-status{color:#98a8bf;flex-shrink:0;font-size:10px}.lb-pager{align-items:center;border-top:1px solid #ffffff14;color:#98a8bf;display:flex;font-size:11px;gap:6px;justify-content:space-between;padding:6px 8px}.lb-pager-info{flex:1 1;text-align:center}.lb-empty,.lb-hint{color:#98a8bf;font-size:12px;padding:12px}.lb-canvas{align-items:center;background:#1a1e24;display:flex;flex:1 1;justify-content:center;min-width:0;overflow:hidden;position:relative}.lb-imgwrap{cursor:crosshair;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;will-change:transform}.lb-imgwrap img{display:block}.lb-zoom{align-items:center;background:#111418e6;border:1px solid #ffffff14;border-radius:6px;bottom:12px;display:flex;gap:4px;padding:4px 6px;position:absolute;right:12px;z-index:5}.lb-zoom button{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;height:26px;width:26px}.lb-zoom button:last-of-type{font-size:12px;padding:0 8px;width:auto}.lb-zoom-pct{color:#98a8bf;font-size:12px;min-width:40px;text-align:center}.lb-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.lb-overlay g{cursor:pointer;pointer-events:auto}.lb-placeholder{color:#798699}.lb-panel{background:#111418;border-left:1px solid #ffffff14;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:12px 12px 92px;width:260px}.lb-section .lb-label{font-size:13px;font-weight:600;margin-bottom:6px}.lb-label small{color:#98a8bf;font-weight:400}.lb-classes{display:flex;flex-direction:column;gap:6px}.lb-cls{background:#0000;border:1.5px solid;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:8px;text-align:left}.lb-select{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;padding:6px;width:100%}.lb-boxlist{flex:1 1;min-height:60px}.lb-boxrow{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:6px;padding:4px}.lb-boxrow.active{background:#2a313b}.lb-boxrow select{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;flex:1 1;font-size:12px;padding:3px}.lb-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.lb-del{background:none;border:none;color:#f04438;cursor:pointer;font-size:12px}.lb-actions{display:flex;flex-direction:column;gap:6px}.lb-btn{background:#1a1e24;border:1px solid #ffffff14;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;height:32px;padding:0 12px}.lb-btn.primary{font-weight:600}.lb-btn.lb-export,.lb-btn.primary{background:#256ef4;border-color:#256ef4;color:#fff}.lb-btn:hover:not(:disabled){border-color:#c5d7e059}.lb-btn:disabled{cursor:not-allowed;opacity:.5}.lb-msg{color:#98a8bf;font-size:12px;padding:6px 0}.lb-drawhint{color:#98a8bf;font-size:11px;line-height:1.5;margin-top:8px}.lb-drawhint b,.lb-mini{color:#fff}.lb-mini{background:#256ef4;border:none;border-radius:3px;cursor:pointer;font-size:11px;margin-left:4px;padding:1px 6px}.lb-ptn{color:#98a8bf;font-size:11px}.lb-overlay polygon{pointer-events:auto}.model-dashboard{background-color:#1a1e24;color:#fff;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.model-dashboard .model-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:4px;padding:12px 16px}.model-dashboard .model-header-left{display:flex;flex-direction:column}.model-dashboard .model-title{color:#fff;font-size:20px;font-weight:700;margin:0 0 4px}.model-dashboard .model-subtitle{color:#d1d5db;font-size:12px;margin:0}.model-dashboard .model-header-right{align-items:center;display:flex;gap:16px}.model-dashboard .model-refresh-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.model-dashboard .model-refresh-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.model-dashboard .model-refresh-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.model-dashboard .model-refresh-btn .material-symbols-outlined{font-size:18px}.data-source-badge{align-items:center;border-radius:20px;display:flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.5px;padding:5px 12px}.data-source-badge .material-symbols-outlined{font-size:14px}.data-source-badge.gpu{background:#10b98126;border:1px solid #10b9814d;color:#10b981}.data-source-badge.mock{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b}.model-dashboard .model-error{align-items:center;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;display:flex;font-size:14px;gap:8px;margin-bottom:4px;padding:12px 16px}.model-dashboard .model-loading{color:#9ca3af;font-size:14px;padding:40px;text-align:center}.model-dashboard .kpi-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(4,1fr);margin-bottom:3px}.model-dashboard .kpi-card{background-color:#111418;border:1px solid #1b1d20;height:100px;padding:16px}.model-dashboard .kpi-content{align-items:center;display:flex;height:100%;justify-content:space-between}.model-dashboard .kpi-info{display:flex;flex-direction:column}.model-dashboard .kpi-label{color:#9ca3af;font-size:14px;margin-bottom:8px}.model-dashboard .kpi-value{font-size:24px;font-weight:700;margin-bottom:4px}.model-dashboard .kpi-value.blue{color:#60a5fa}.model-dashboard .kpi-value.purple{color:#a78bfa}.model-dashboard .kpi-value.green{color:#22c55e}.model-dashboard .kpi-value.yellow{color:#fbbf24}.model-dashboard .kpi-value.small{font-family:Consolas,monospace;font-size:13px;font-weight:600;word-break:break-all}.model-dashboard .kpi-unit{color:#d1d5db;font-size:13px}.model-dashboard .kpi-icon{align-items:center;display:flex;height:40px;justify-content:center;width:40px}.model-dashboard .kpi-icon.blue{color:#60a5fa}.model-dashboard .kpi-icon.purple{color:#a78bfa}.model-dashboard .kpi-icon.green{color:#22c55e}.model-dashboard .kpi-icon.yellow{color:#fbbf24}.model-dashboard .kpi-icon .material-symbols-outlined{font-size:32px}.model-dashboard .model-main-content{display:flex;flex:1 1;flex-direction:column;gap:3px;min-height:0}.model-dashboard .model-controls-row{align-items:center;background-color:#111418;border:1px solid #1b1d20;display:flex;gap:12px;padding:8px 12px}.model-dashboard .model-tab-bar{background:#3741514d;border-radius:6px;display:flex;gap:4px;padding:3px}.model-dashboard .model-tab{background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.model-dashboard .model-tab:hover{color:#d1d5db}.model-dashboard .model-tab.active{background:#3b82f6;color:#fff}.model-dashboard .model-body{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:1fr 1fr;min-height:0}.model-dashboard .model-body.no-detail{grid-template-columns:1fr}.model-dashboard .model-table-container{background-color:#111418;border:1px solid #1b1d20;display:flex;flex-direction:column;min-height:0;overflow:hidden}.model-dashboard .model-table-scroll{-ms-overflow-style:none;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:none}.model-dashboard .model-table-scroll::-webkit-scrollbar{display:none}.model-dashboard .model-table{border-collapse:collapse;font-size:13px;width:100%}.model-dashboard .model-table thead th{background:#1a1d23;border-bottom:1px solid #1b1d20;color:#9ca3af;font-size:12px;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.model-dashboard .model-table tbody tr{cursor:pointer;transition:background .15s}.model-dashboard .model-table tbody tr:hover{background:#3b82f614}.model-dashboard .model-table tbody tr.selected{background:#3b82f626}.model-dashboard .model-table tbody td{border-bottom:1px solid #1b1d20;color:#d1d5db;padding:8px 12px}.model-dashboard .model-table tbody tr:last-child td{border-bottom:none}.model-dashboard .model-id-cell{color:#3b82f6!important;font-family:Consolas,monospace;font-size:12px}.model-dashboard .model-val-loss{font-family:Consolas,monospace;font-weight:600}.model-dashboard .model-table-empty{color:#9ca3af;padding:40px 16px!important;text-align:center}.model-dashboard .model-detail-panel{background-color:#111418;border:1px solid #3b82f6;display:flex;flex-direction:column;overflow:hidden}.model-dashboard .model-detail-header{align-items:center;border-bottom:1px solid #1b1d20;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 16px}.model-dashboard .model-detail-header h3{align-items:center;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0}.model-dashboard .model-detail-header h3 .material-symbols-outlined{color:#3b82f6;font-size:20px}.model-dashboard .model-detail-close{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;padding:4px}.model-dashboard .model-detail-close:hover{background:#ffffff1a;color:#fff}.model-dashboard .model-chart-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:12px 16px}.model-dashboard .model-chart-area{flex:1 1;min-height:0}.model-dashboard .model-chart-info{color:#9ca3af;display:flex;flex-shrink:0;font-size:12px;gap:16px;padding:8px 0 0}.model-dashboard .model-chart-info span{align-items:center;display:flex;gap:4px}.model-dashboard .model-no-history{color:#9ca3af;font-size:14px;padding:40px;text-align:center}.model-dashboard .model-accuracy,.model-dashboard .model-fpr{font-family:Consolas,monospace;font-size:12px;font-weight:600}.model-dashboard .model-accuracy.good,.model-dashboard .model-fpr.good{color:#22c55e!important}.model-dashboard .model-accuracy.warn,.model-dashboard .model-fpr.warn{color:#fbbf24!important}.model-dashboard .model-accuracy.bad,.model-dashboard .model-fpr.bad{color:#ef4444!important}.model-dashboard .model-detail-scroll{-ms-overflow-style:none;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:none}.model-dashboard .model-detail-scroll::-webkit-scrollbar{display:none}.model-dashboard .section-title{align-items:center;color:#d1d5db;display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 10px;padding:0 16px}.model-dashboard .section-title .material-symbols-outlined{color:#3b82f6;font-size:18px}.model-dashboard .training-curve-section{display:flex;flex:1 1;flex-direction:column;min-height:200px;padding-top:8px}.model-dashboard .confusion-matrix-section{border-bottom:1px solid #1b1d20;padding:12px 0 8px}.model-dashboard .cm-content{padding:0 16px}.model-dashboard .cm-grid{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.model-dashboard .cm-data-row,.model-dashboard .cm-header-row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:80px 1fr 1fr}.model-dashboard .cm-corner{background:#0000}.model-dashboard .cm-col-header,.model-dashboard .cm-row-header{align-items:center;color:#9ca3af;display:flex;font-size:11px;font-weight:500;justify-content:center;padding:6px 4px}.model-dashboard .cm-row-header{justify-content:flex-end;padding-right:8px}.model-dashboard .cm-cell{align-items:center;border-radius:4px;display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:10px 8px}.model-dashboard .cm-cell-value{font-family:Consolas,monospace;font-size:18px;font-weight:700}.model-dashboard .cm-cell-label{font-size:10px;margin-top:2px;opacity:.8}.model-dashboard .cm-tn{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.model-dashboard .cm-fp{background:#ef444426;border:1px solid #ef44444d;color:#ef4444}.model-dashboard .cm-fn{background:#fbbf241a;border:1px solid #fbbf2433;color:#6b7280}.model-dashboard .cm-tp{background:#3b82f61a;border:1px solid #3b82f633;color:#6b7280}.model-dashboard .cm-metrics{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.model-dashboard .cm-metric{align-items:center;background:#3741514d;border-radius:4px;display:flex;justify-content:space-between;padding:6px 10px}.model-dashboard .cm-metric-label{color:#9ca3af;font-size:11px}.model-dashboard .cm-metric-value{color:#d1d5db;font-family:Consolas,monospace;font-size:13px;font-weight:600}.model-dashboard .cm-metric-value.good{color:#22c55e}.model-dashboard .cm-metric-value.warn{color:#fbbf24}.model-dashboard .cm-note{color:#6b7280;font-size:10px;font-style:italic;margin-top:8px}.model-dashboard .custom-tooltip{background-color:#111827f2;border:1px solid #374151;border-radius:6px;box-shadow:0 4px 6px #0000004d;padding:12px}.model-dashboard .tooltip-label{color:#f3f4f6;font-size:13px;font-weight:700;margin:0 0 8px}.model-dashboard .custom-tooltip p{font-size:12px;font-weight:500;margin:4px 0}.model-dashboard .summary-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.model-dashboard .summary-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}.model-dashboard .summary-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.model-dashboard .summary-btn .material-symbols-outlined{font-size:18px}.summary-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.summary-modal{animation:slideUp .3s ease;background:#1a1d23;border:1px solid #2d3139;border-radius:16px;box-shadow:0 24px 48px #00000080;max-height:90vh;max-width:90vw;overflow-y:auto;width:720px}.summary-modal-header{border-bottom:1px solid #2d3139;padding:32px 32px 20px;position:relative;text-align:center}.summary-modal-header h2{color:#f3f4f6;font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}.summary-modal-subtitle{color:#6b7280;font-size:13px;font-weight:400;margin:0}.summary-modal-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:6px;position:absolute;right:16px;top:16px;transition:all .15s}.summary-modal-close:hover{background:#ffffff14;color:#f3f4f6}.summary-modal-body{padding:24px 32px 28px}.summary-overview{align-items:center;background:#37415133;border:1px solid #2d3139;border-radius:12px;display:flex;gap:0;justify-content:center;margin-bottom:24px;padding:20px 0}.summary-overview-item{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:0 16px}.summary-overview-label{color:#9ca3af;font-size:11px;font-weight:500;margin-bottom:6px}.summary-overview-value{font-family:Consolas,monospace;font-size:28px;font-weight:800;line-height:1}.summary-overview-value.blue,.summary-overview-value.cyan,.summary-overview-value.green,.summary-overview-value.purple{color:#f3f4f6}.summary-overview-unit{color:#6b7280;font-size:12px;margin-top:4px}.summary-overview-divider{background:#2d3139;height:48px;width:1px}.summary-comparison{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.summary-model-card{border:1px solid #2d3139;border-radius:12px;overflow:hidden}.summary-card-header{align-items:center;display:flex;gap:8px;padding:14px 18px}.summary-model-card.lstm .summary-card-header{background:linear-gradient(135deg,#22d3ee1f,#3b82f61f);border-bottom:1px solid #22d3ee33}.summary-model-card.ae .summary-card-header{background:linear-gradient(135deg,#a78bfa1f,#8b5cf61f);border-bottom:1px solid #a78bfa33}.summary-card-header .material-symbols-outlined{font-size:22px}.summary-model-card.lstm .summary-card-header .material-symbols-outlined{color:#22d3ee}.summary-model-card.ae .summary-card-header .material-symbols-outlined{color:#a78bfa}.summary-card-header h3{color:#f3f4f6;flex:1 1;font-size:15px;font-weight:700;margin:0}.summary-card-count{color:#9ca3af;font-size:12px;font-weight:500}.summary-card-body{background:#37415126;padding:6px 0}.summary-metric-row{align-items:center;display:flex;justify-content:space-between;padding:10px 18px;transition:background .1s}.summary-metric-row:not(:last-child){border-bottom:1px solid #2d313999}.summary-metric-row.highlight{background:#3b82f60f}.summary-metric-row.sub{background:#37415126}.summary-metric-name{color:#d1d5db;font-size:13px;font-weight:500}.summary-metric-row.highlight .summary-metric-name{color:#f3f4f6;font-weight:600}.summary-metric-row.sub .summary-metric-name{color:#9ca3af;font-size:12px}.summary-metric-val{color:#d1d5db;font-family:Consolas,monospace;font-size:15px;font-weight:700}.summary-metric-val.good{color:#22c55e}.summary-metric-val.warn{color:#fbbf24}.summary-metric-val.bad{color:#ef4444}.summary-metric-val.dim{color:#6b7280;font-size:12px;font-style:italic;font-weight:500}.summary-metric-row.highlight .summary-metric-val{font-size:17px}.summary-metric-row.sub .summary-metric-val{color:#9ca3af;font-size:13px;font-weight:600}.summary-footer-note{align-items:center;background:#37415133;border:1px solid #2d3139;border-radius:8px;display:flex;gap:6px;padding:10px 14px}.summary-footer-note .material-symbols-outlined{color:#6b7280;font-size:16px}.summary-footer-note span:last-child{color:#6b7280;font-size:11px;line-height:1.4}.summary-modal::-webkit-scrollbar{display:none}.summary-modal{-ms-overflow-style:none;scrollbar-width:none}.mb-stepnav{background:#111418;border:1px solid #1b1d20;border-radius:6px;flex-shrink:0;gap:24px;height:72px;justify-content:space-between;margin-bottom:10px;padding:0 20px}.mb-stepnav,.mb-stepnav-brand{align-items:center;display:flex}.mb-stepnav-brand{gap:12px;min-width:340px}.mb-stepnav-brand-icon{background:#3b82f61f;border-radius:8px;color:#3b82f6;font-size:30px;padding:6px}.mb-stepnav-brand-title{color:#fff;font-size:15px;font-weight:700}.mb-stepnav-brand-sub{color:#9ca3af;font-size:12px;margin-top:2px}.mb-stepnav-steps{gap:4px}.mb-step,.mb-stepnav-steps{align-items:center;display:flex}.mb-step{background:#0000;border:1px solid #0000;border-radius:8px;cursor:pointer;gap:10px;padding:8px 14px;transition:all .2s ease}.mb-step:hover{background:#2a2f38}.mb-step-circle{align-items:center;background:#111418;border:2px solid #3a3f47;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.mb-step-check{font-size:18px}.mb-step-labels{align-items:flex-start;display:flex;flex-direction:column;line-height:1.25}.mb-step-title{color:#d1d5db;font-size:13px;font-weight:600;white-space:nowrap}.mb-step-desc{color:#6b7280;font-size:10px;white-space:nowrap}.mb-step-active{background:#3b82f61a;border-color:#3b82f6}.mb-step-active .mb-step-circle{background:#3b82f6;border-color:#3b82f6;color:#fff}.mb-step-active .mb-step-title{color:#fff}.mb-step-done .mb-step-circle{background:#22c55e26;border-color:#22c55e;color:#22c55e}.mb-step-done .mb-step-title{color:#22c55e}.mb-step-connector{align-items:center;color:#3a3f47;display:flex}.mb-step-connector.filled{color:#22c55e}.mb-step-connector .material-symbols-outlined{font-size:22px}.mb-container{background-color:#1a1e24;color:#d1d5db;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:10px 14px}.mb-page-header{align-items:flex-start;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:10px}.mb-page-title{color:#fff;font-size:18px;font-weight:700}.mb-page-title .mb-step-tag{background:#3b82f61f;border-radius:4px;color:#3b82f6;font-size:12px;font-weight:700;margin-right:8px;padding:2px 8px}.mb-page-subtitle{color:#9ca3af;font-size:12px;margin-top:3px}.mb-product-chip{align-items:center;background:#3b82f61f;border:1px solid #3b82f659;border-radius:6px;color:#3b82f6;display:inline-flex;font-size:13px;font-weight:700;gap:4px;margin-left:10px;padding:2px 10px;vertical-align:middle}.mb-product-chip .material-symbols-outlined{font-size:16px}.mb-page-meta{color:#9ca3af;font-size:12px}.mb-page-meta strong{color:#fff;font-weight:600}.mb-body{flex:1 1;overflow-x:hidden;overflow-y:auto;padding-right:4px}.mb-body::-webkit-scrollbar{width:8px}.mb-body::-webkit-scrollbar-track{background:#1a1e24}.mb-body::-webkit-scrollbar-thumb{background:#3a3f47;border-radius:4px}.mb-card{background:#111418;border:1px solid #1b1d20;border-radius:8px;padding:16px}.mb-card-title{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:14px}.mb-card-title .material-symbols-outlined{color:#3b82f6;font-size:18px}.mb-card-title .mb-card-badge{background:#f973161f;border-radius:10px;color:#f97316;font-size:11px;font-weight:600;margin-left:auto;padding:2px 8px}.mb-stat-grid{grid-gap:10px;display:grid;gap:10px;margin-bottom:12px}.mb-stat-card{background:#111418;border:1px solid #1b1d20;border-radius:8px;overflow:hidden;padding:14px 16px;position:relative}.mb-stat-card:before{background:#3b82f6;background:var(--mb-accent,#3b82f6);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.mb-stat-label{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:6px}.mb-stat-label .material-symbols-outlined{font-size:16px}.mb-stat-value{color:#fff;font-size:26px;font-weight:700;line-height:1;margin-top:6px}.mb-stat-value .mb-stat-unit{color:#9ca3af;font-size:13px;font-weight:500;margin-left:4px}.mb-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 10px;white-space:nowrap}.mb-table-wrap{border:1px solid #1b1d20;border-radius:8px;overflow:auto}.mb-table{border-collapse:collapse;font-size:12.5px;width:100%}.mb-table thead th{background:#1a1e24;border-bottom:1px solid #2a2f38;color:#9ca3af;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap}.mb-table tbody td{border-bottom:1px solid #191d22;color:#d1d5db;padding:9px 12px;white-space:nowrap}.mb-table tbody tr:hover{background:#262b33}.mb-table tbody tr.selected{background:#3b82f61f}.mb-table .mb-mono{font-feature-settings:"tnum";color:#e5e7eb;font-variant-numeric:tabular-nums}.mb-table .mb-td-check{text-align:center}.mb-check-yes{color:#22c55e}.mb-check-no{color:#ef4444}.mb-grid{grid-gap:10px;display:grid;gap:10px}.mb-grid-2{grid-template-columns:1fr 1fr}.mb-grid-3{grid-template-columns:1fr 1fr 1fr}.mb-grid-2-1{grid-template-columns:2fr 1fr}.mb-kv-list{display:flex;flex-direction:column;gap:1px}.mb-kv-row{align-items:center;background:#1a1e24;border-radius:4px;display:flex;justify-content:space-between;padding:8px 10px}.mb-kv-key{color:#9ca3af;font-size:12.5px}.mb-kv-val{font-feature-settings:"tnum";color:#fff;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.mb-kv-val .mb-kv-unit{color:#9ca3af;font-size:11px;font-weight:500;margin-left:3px}.mb-bar-track{background:#1a1e24;border-radius:4px;height:8px;overflow:hidden}.mb-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.mb-mt{margin-top:10px}.mb-section-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.4px;margin-bottom:8px;text-transform:uppercase}.sync-timeline{padding:8px 0 0;position:relative}.sync-track-labels{display:flex;flex-direction:column;height:150px;justify-content:space-around;left:0;position:absolute;top:8px;width:60px;z-index:2}.sync-track-label{align-items:center;color:#d1d5db;display:flex;font-size:12px;font-weight:500;gap:6px}.sync-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.sync-track-area{height:150px;margin-left:64px;position:relative}.sync-align-line{border-left:1px dashed #3a3f47;bottom:0;position:absolute;top:0;width:0;z-index:1}.sync-align-line.done{border-left-color:#22c55e73}.sync-align-line.wait{border-left-color:#fbbf2473}.sync-align-line.error{border-left-color:#ef44448c}.sync-align-line.active{border-left-color:#3b82f6;border-left-style:solid;box-shadow:0 0 8px #3b82f680}.sync-align-tag{color:#6b7280;font-size:9px;left:3px;position:absolute;top:-2px;transform:translateY(-100%)}.sync-align-line.active .sync-align-tag{color:#3b82f6;font-weight:700}.sync-track-row{align-items:center;display:flex;height:50px;position:relative}.sync-track-baseline{background:#191d22;border-radius:2px;height:2px;left:0;position:absolute;right:0}.sync-marker{border:2px solid;border-radius:50%;cursor:pointer;height:14px;padding:0;position:absolute;transform:translateX(-50%);transition:all .15s ease;width:14px;z-index:2}.sync-marker:hover{transform:translateX(-50%) scale(1.25)}.sync-marker.active{box-shadow:0 0 0 4px #3b82f640;transform:translateX(-50%) scale(1.2)}.sync-marker.missing{border-style:dashed!important;opacity:.55}.sync-axis{border-top:1px solid #1b1d20;height:20px;margin-left:64px;margin-top:4px;position:relative}.sync-axis-tick{color:#6b7280;font-size:10px;position:absolute;top:4px;transform:translateX(-50%)}.sync-detail-shot{align-items:center;display:flex;gap:10px;margin-bottom:12px}.sync-detail-shot-id{font-feature-settings:"tnum";color:#fff;font-size:18px;font-variant-numeric:tabular-nums;font-weight:700}.sync-detail-arrow{color:#6b7280;font-size:20px}.sync-detail-product{font-feature-settings:"tnum";color:#3b82f6;font-size:18px;font-variant-numeric:tabular-nums;font-weight:700}.sync-detail-ref{align-items:center;background:#3b82f614;border:1px solid #3b82f640;border-radius:6px;display:flex;gap:10px;padding:10px 12px}.sync-detail-ref .material-symbols-outlined{color:#3b82f6;font-size:22px}.sync-detail-ref-label{color:#9ca3af;font-size:11px}.sync-detail-ref-time{font-feature-settings:"tnum";color:#fff;font-size:15px;font-variant-numeric:tabular-nums;font-weight:700}.sync-detail-src{align-items:center;background:#111418;border-radius:4px;display:flex;gap:10px;justify-content:space-between;padding:9px 10px}.sync-detail-src.unmatched{background:#ef44440f;border:1px solid #ef444433}.sync-detail-src-head{align-items:center;color:#d1d5db;display:flex;font-size:12.5px;gap:7px}.sync-detail-src-key{font-feature-settings:"tnum";color:#6b7280;font-size:11px;font-variant-numeric:tabular-nums}.sync-detail-src-conf{font-feature-settings:"tnum";align-items:center;display:flex;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600;gap:4px}.sync-detail-src-conf .material-symbols-outlined{font-size:15px}.sync-detail-src-conf.ok{color:#22c55e}.sync-detail-src-conf.no{color:#ef4444}.sync-detail-note{align-items:flex-start;color:#9ca3af;display:flex;font-size:12px;gap:8px;line-height:1.5;margin-top:14px}.sync-detail-note .material-symbols-outlined{color:#6b7280;font-size:16px;margin-top:1px}.sync-drilldown-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin-top:14px;padding:12px;transition:all .15s ease;width:100%}.sync-drilldown-btn:hover{background:#2563eb}.sync-drilldown-btn .material-symbols-outlined{font-size:18px}.sync-drilldown-btn.disabled{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444;cursor:not-allowed}.feat-layout{grid-gap:10px;display:grid;gap:10px;grid-template-columns:150px 1fr}.feat-shotlist{padding:14px 12px}.feat-shot-item{align-items:center;background:#111418;border:1px solid #0000;border-radius:5px;color:#d1d5db;cursor:pointer;display:flex;font-size:12.5px;justify-content:space-between;margin-bottom:4px;padding:9px 10px;transition:all .15s ease;width:100%}.feat-shot-item:hover{background:#262b33}.feat-shot-item.active{background:#3b82f61f;border-color:#3b82f6;color:#fff}.feat-shot-ids{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.feat-shot-product{color:#6b7280;font-size:10px}.feat-shot-item.active .feat-shot-product{color:#3b82f6}.feat-shot-dot{background:#22c55e;border-radius:50%;flex-shrink:0;height:7px;width:7px}.feat-panels{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr}.feat-panel{display:flex;flex-direction:column}.feat-chart{border-radius:6px;padding:6px 4px 2px}.feat-chart,.feat-vision-canvas{background:#1a1e24;height:180px;margin-bottom:12px}.feat-vision-canvas{border:1px solid #1b1d20;border-radius:6px;overflow:hidden;position:relative}.feat-vision-placeholder{align-items:center;color:#4b5563;display:flex;flex-direction:column;font-size:12px;gap:6px;inset:0;justify-content:center;position:absolute}.feat-vision-placeholder .material-symbols-outlined{font-size:34px}.feat-contour{height:100%;inset:0;position:absolute;width:100%}.feat-roi{background:#22c55e0f;border:1.5px solid #22c55e;border-radius:3px;position:absolute}.feat-roi.candidate{background:#fbbf240f;border-color:#fbbf24;border-style:dashed}.feat-roi-label{background:#0009;border-radius:2px;color:#22c55e;font-size:9px;font-weight:600;left:0;padding:1px 4px;position:absolute;top:-16px;white-space:nowrap}.feat-roi.candidate .feat-roi-label{color:#fbbf24}.feat-thermal{display:flex;gap:10px;height:180px;margin-bottom:12px}.feat-heatmap{background:#1a1e24;border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:6px}.feat-heatmap-row{display:flex;flex:1 1;gap:2px}.feat-heatmap-cell{align-items:center;border-radius:2px;display:flex;flex:1 1;justify-content:center;position:relative}.feat-heatmap-cell.hotspot{outline:2px solid #fff;outline-offset:-2px;z-index:1}.feat-heatmap-cell .material-symbols-outlined{color:#fff;font-size:15px}.feat-colorbar{display:flex;gap:4px;width:46px}.feat-colorbar-scale{background:linear-gradient(0deg,#0b378e,#0fb345,#e2e212,#ee2b2b);border-radius:3px;width:12px}.feat-colorbar-ticks{color:#9ca3af;display:flex;flex-direction:column;font-size:9px;justify-content:space-between}.feat-reg{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:280px 1fr}.feat-reg-canvas{background:#1a1e24;border:1px solid #1b1d20;border-radius:6px;height:200px;overflow:hidden;position:relative;width:280px}.feat-reg-grid{height:100%;inset:0;position:absolute;width:100%}.feat-reg-layer{align-items:flex-start;border-radius:3px;display:flex;justify-content:flex-start;position:absolute}.feat-reg-layer span{border-radius:2px;font-size:9px;font-weight:600;margin:2px;padding:1px 4px}.feat-reg-layer.vision{background:#22c55e1a;border:1.5px solid #22c55e}.feat-reg-layer.vision span{background:#00000080;color:#22c55e}.feat-reg-layer.thermal{background:#f973161a;border:1.5px dashed #f97316}.feat-reg-layer.thermal span{background:#00000080;color:#f97316}.feat-reg-info{align-items:center;display:flex;flex-wrap:wrap;gap:28px}.feat-reg-stat-label{color:#9ca3af;font-size:12px;margin-bottom:4px}.feat-reg-stat-value{font-feature-settings:"tnum";color:#fff;font-size:28px;font-variant-numeric:tabular-nums;font-weight:700}.feat-reg-stat-value span{color:#9ca3af;font-size:13px;font-weight:500;margin-left:3px}.feat-reg-legend{color:#d1d5db;display:flex;flex-direction:column;font-size:12px;gap:8px}.feat-reg-legend>div{align-items:center;display:flex;gap:8px}.feat-reg-chip{border-radius:3px;display:inline-block;height:14px;width:14px}.feat-reg-chip.vision{background:#22c55e1a;border:1.5px solid #22c55e}.feat-reg-chip.thermal{background:#f973161a;border:1.5px dashed #f97316}.mb-product-selector{align-items:center;display:flex;gap:10px;position:relative}.mb-product-selector-label{color:#9ca3af;font-size:12px}.mb-product-selector-btn{align-items:center;background:#111418;border:1px solid #3a3f47;border-radius:6px;cursor:pointer;display:flex;gap:10px;min-width:240px;padding:8px 12px;transition:all .15s ease}.mb-product-selector-btn:hover{border-color:#3b82f6}.mb-ps-icon{color:#3b82f6;font-size:18px}.mb-ps-current{align-items:flex-start;display:flex;flex-direction:column;line-height:1.25}.mb-ps-product{font-feature-settings:"tnum";color:#fff;font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.mb-ps-shot{font-feature-settings:"tnum";color:#6b7280;font-size:10px;font-variant-numeric:tabular-nums}.mb-ps-badge{font-size:10px;padding:2px 8px}.mb-ps-arrow{color:#9ca3af;font-size:20px;margin-left:auto;transition:transform .15s ease}.mb-ps-arrow.open{transform:rotate(180deg)}.mb-product-selector-menu{background:#111418;border:1px solid #3b82f6;border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:300px;overflow:hidden;padding:4px;position:absolute;right:0;top:calc(100% + 6px);z-index:100}.mb-ps-item{align-items:center;background:#0000;border:none;border-radius:5px;cursor:pointer;display:flex;gap:10px;padding:9px 10px;transition:background .15s ease;width:100%}.mb-ps-item:hover{background:#2a2f38}.mb-ps-item.active{background:#3b82f61f}.mb-ps-item-ids{align-items:flex-start;display:flex;flex-direction:column;line-height:1.25}.mb-ps-item-score{font-feature-settings:"tnum";color:#9ca3af;font-size:12px;font-variant-numeric:tabular-nums;margin-left:auto}.mb-ps-check{color:#3b82f6;font-size:16px}.fusion-formula{align-items:center;background:#111418;border:1px solid #1b1d20;border-radius:8px;display:flex;gap:16px;margin-bottom:10px;padding:14px 20px}.fusion-formula-eq{color:#fff;font-size:24px;font-weight:700;letter-spacing:.5px}.fusion-formula-eq em{font-style:normal}.fusion-plus{color:#6b7280;margin:0 8px}.fusion-formula-note{color:#9ca3af;font-size:12px}.fusion-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1.1fr 1fr 1fr}.fusion-modality{border-bottom:1px solid #1b1d20;padding:12px 0;transition:opacity .2s ease}.fusion-modality:last-of-type{border-bottom:none}.fusion-modality.inactive{opacity:.45}.fusion-modality-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.fusion-modality-name{align-items:center;color:#d1d5db;display:flex;font-size:13px;font-weight:500;gap:8px}.fusion-symbol{color:#9ca3af;font-size:12px}.fusion-modality-right{align-items:center;display:flex;gap:10px}.fusion-modality-verdict{font-size:11px;padding:2px 10px}.fusion-modality-score{font-feature-settings:"tnum";font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;min-width:46px;text-align:right}.fusion-score-bar{position:relative}.fusion-score-threshold{background:#e5e7eb;bottom:-3px;opacity:.55;position:absolute;top:-3px;width:2px}.fusion-weight-row{align-items:center;display:flex;gap:10px}.fusion-weight-symbol{font-size:15px;font-weight:700;text-align:center;width:16px}.fusion-weight-fixed-label{color:#6b7280;font-size:11px;white-space:nowrap}.fusion-weight-bar{background:#1a1e24;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.fusion-weight-bar-fill{border-radius:3px;height:100%;opacity:.7}.fusion-weight-val{font-feature-settings:"tnum";color:#fff;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600;text-align:right;width:40px}.fusion-weight-sum{align-items:center;border-top:1px dashed #2a2f38;color:#9ca3af;display:flex;flex-wrap:wrap;font-size:12.5px;gap:5px;margin-top:12px;padding-top:12px}.fusion-weight-lock{color:#6b7280;font-size:15px}.fusion-weight-sum strong{color:#fff;font-size:13px;margin:0 2px}.fusion-weight-sum-note{color:#6b7280;font-size:11px;width:100%}.fusion-contrib{display:flex;flex-direction:column}.fusion-donut{position:relative}.fusion-donut-center{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.fusion-donut-label{color:#9ca3af;font-size:11px}.fusion-donut-value{font-feature-settings:"tnum";color:#fff;font-size:24px;font-variant-numeric:tabular-nums;font-weight:700}.fusion-contrib-legend{display:flex;flex-direction:column;gap:6px;margin-top:8px}.fusion-contrib-item{align-items:center;display:flex;font-size:12.5px;gap:8px}.fusion-contrib-chip{border-radius:3px;height:12px;width:12px}.fusion-contrib-name{color:#d1d5db;flex:1 1}.fusion-contrib-val{font-feature-settings:"tnum";color:#fff;font-variant-numeric:tabular-nums;font-weight:600}.fusion-gauge-wrap,.fusion-result{display:flex;flex-direction:column}.fusion-gauge-wrap{align-items:center;padding:8px 0;position:relative}.mb-gauge{display:block}.fusion-gauge-value{font-feature-settings:"tnum";font-size:34px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:-18px}.fusion-gauge-range{color:#6b7280;display:flex;font-size:11px;justify-content:space-between;margin-top:2px;width:180px}.fusion-threshold{align-items:center;color:#9ca3af;display:flex;font-size:12.5px;gap:8px;justify-content:center;margin-top:12px}.fusion-threshold strong{color:#fbbf24;font-size:15px}.fusion-verdict{border-radius:6px;font-size:13px;font-weight:600;margin-top:12px;padding:10px;text-align:center}.fusion-verdict.ng{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444}.fusion-verdict.ok{background:#22c55e1a;border:1px solid #22c55e4d;color:#22c55e}.fusion-next-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin-top:10px;padding:11px;transition:all .15s ease;width:100%}.fusion-next-btn:hover{background:#2563eb}.fusion-next-btn .material-symbols-outlined{font-size:18px}.fusion-active-badge{background:#3b82f61f;border-radius:10px;color:#3b82f6;font-size:11px;font-weight:600;margin-left:auto;padding:2px 10px}.fusion-degrade{grid-gap:20px;display:grid;gap:20px;grid-template-columns:260px 1fr}.fusion-toggles{display:flex;flex-direction:column;gap:8px}.fusion-toggle{align-items:center;background:#111418;border:1px solid #2a2f38;border-radius:6px;color:#d1d5db;cursor:pointer;display:flex;font-size:12.5px;gap:8px;padding:10px 12px;transition:all .15s ease}.fusion-toggle .material-symbols-outlined{font-size:22px}.fusion-toggle.on{border-color:#22c55e66}.fusion-toggle.on .material-symbols-outlined{color:#22c55e}.fusion-toggle.off{opacity:.6}.fusion-toggle.off .material-symbols-outlined{color:#6b7280}.fusion-toggle-state{font-size:11px;font-weight:600;margin-left:auto}.fusion-toggle.on .fusion-toggle-state{color:#22c55e}.fusion-toggle.off .fusion-toggle-state{color:#ef4444}.fusion-degrade-info{display:flex;flex-direction:column;gap:12px}.fusion-degrade-badge{align-self:flex-start;background:#f973161f;color:#f97316;font-size:12px;padding:6px 12px}.fusion-degrade-badge .material-symbols-outlined{font-size:16px}.fusion-norm-list{display:flex;gap:10px}.fusion-norm-item{align-items:center;background:#111418;border-radius:6px;color:#9ca3af;display:flex;flex:1 1;flex-direction:column;font-size:12px;gap:4px;padding:10px}.fusion-norm-val{font-feature-settings:"tnum";font-size:18px;font-variant-numeric:tabular-nums;font-weight:700}.fusion-degrade-note{color:#9ca3af;font-size:12px;line-height:1.6;margin:0}.judg-top{grid-gap:10px;display:grid;gap:10px;grid-template-columns:340px 1fr}.judg-verdict-card{border-width:2px;display:flex;flex-direction:column;gap:14px}.judg-verdict-product{align-items:center;color:#9ca3af;display:flex;font-size:13px;gap:6px}.judg-verdict-product .material-symbols-outlined{color:#3b82f6;font-size:18px}.judg-verdict-product strong{font-feature-settings:"tnum";color:#fff;font-size:15px;font-variant-numeric:tabular-nums}.judg-verdict-shot{color:#6b7280;font-size:12px}.judg-verdict-badge{align-items:center;border-radius:8px;display:flex;font-size:30px;font-weight:800;gap:10px;justify-content:center;letter-spacing:1px;padding:16px}.judg-verdict-badge .material-symbols-outlined{font-size:36px}.judg-verdict-metrics{align-items:center;display:flex;justify-content:space-around}.judg-metric{align-items:center;display:flex;flex-direction:column;gap:4px}.judg-metric-label{color:#9ca3af;font-size:12px}.judg-metric-value{font-feature-settings:"tnum";color:#fff;font-size:30px;font-variant-numeric:tabular-nums;font-weight:700}.judg-metric-value small{color:#9ca3af;font-size:14px}.judg-metric-divider{background:#2a2f38;height:40px;width:1px}.judg-threshold-line{border-top:1px dashed #2a2f38;color:#9ca3af;font-size:12px;padding-top:10px;text-align:center}.judg-kpi-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.judg-mid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1.2fr 1fr .9fr;margin-top:10px}.judg-defect-list{display:flex;flex-direction:column;gap:12px}.judg-defect-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:96px 1fr 44px}.judg-defect-name{color:#d1d5db;display:flex;flex-direction:column;font-size:12.5px;gap:2px}.judg-defect-row.over .judg-defect-name{color:#fff;font-weight:600}.judg-temp-tag{background:#f973161f;border-radius:3px;color:#f97316;font-size:9px;padding:1px 4px;width:-webkit-fit-content;width:fit-content}.judg-defect-bar{height:12px;position:relative}.judg-defect-threshold{background:#e5e7eb;bottom:-3px;opacity:.6;position:absolute;top:-3px;width:2px}.judg-defect-prob{font-feature-settings:"tnum";color:#9ca3af;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.judg-defect-prob.over{color:#ef4444}.judg-defect-legend{color:#9ca3af;display:flex;font-size:11px;justify-content:space-between;margin-top:14px}.judg-legend-line{background:#e5e7eb;display:inline-block;height:2px;margin-right:4px;vertical-align:middle;width:12px}.judg-legend-over{color:#ef4444}.judg-contrib-stack{border-radius:6px;display:flex;height:32px;margin-bottom:16px;overflow:hidden}.judg-contrib-seg{align-items:center;color:#fff;display:flex;font-size:12px;font-weight:700;justify-content:center;transition:width .3s ease}.judg-contrib-list{display:flex;flex-direction:column;gap:8px}.judg-contrib-item{align-items:center;display:flex;font-size:12.5px;gap:8px}.judg-contrib-label{align-items:center;color:#d1d5db;display:flex;flex:1 1;gap:6px}.judg-contrib-pct{font-feature-settings:"tnum";color:#fff;font-variant-numeric:tabular-nums;font-weight:700}.judg-contrib-note{align-items:flex-start;background:#f9731614;border:1px solid #f9731640;border-radius:6px;color:#d1d5db;display:flex;font-size:12px;gap:8px;line-height:1.5;margin-top:14px;padding:10px 12px}.judg-contrib-note .material-symbols-outlined{color:#f97316;font-size:16px;margin-top:1px}.judg-contrib-note strong{color:#f97316}.judg-image{background:#1a1e24;border:1px solid #1b1d20;border-radius:6px;height:200px;overflow:hidden;position:relative}.judg-image-placeholder{align-items:center;color:#4b5563;display:flex;flex-direction:column;font-size:12px;gap:8px;inset:0;justify-content:center;position:absolute}.judg-image-placeholder .material-symbols-outlined{font-size:44px}.judg-annot{background:#ef44440f;border:2px solid;border-radius:3px;position:absolute}.judg-annot-label{border-radius:2px;color:#fff;font-size:9px;font-weight:700;left:-2px;padding:1px 5px;position:absolute;top:-17px;white-space:nowrap}.judg-image-caption{color:#6b7280;font-size:11px;margin-top:8px;text-align:center}.mc-stepnav{background:#111418;border:1px solid #1b1d20;border-radius:6px;flex-shrink:0;gap:24px;height:72px;justify-content:space-between;margin-bottom:10px;padding:0 20px}.mc-stepnav,.mc-stepnav-brand{align-items:center;display:flex}.mc-stepnav-brand{gap:12px;min-width:360px}.mc-stepnav-brand-icon{background:#22c55e1f;border-radius:8px;color:#22c55e;font-size:30px;padding:6px}.mc-stepnav-brand-title{color:#fff;font-size:15px;font-weight:700}.mc-stepnav-brand-sub{color:#9ca3af;font-size:12px;margin-top:2px}.mc-stepnav-steps{gap:2px}.mc-step,.mc-stepnav-steps{align-items:center;display:flex}.mc-step{background:#0000;border:1px solid #0000;border-radius:8px;cursor:pointer;gap:10px;padding:8px 12px;transition:all .2s ease}.mc-step:hover{background:#2a2f38}.mc-step-circle{align-items:center;background:#111418;border:2px solid #3a3f47;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.mc-step-check{font-size:17px}.mc-step-labels{align-items:flex-start;display:flex;flex-direction:column;line-height:1.25}.mc-step-title{color:#d1d5db;font-size:12.5px;font-weight:600;white-space:nowrap}.mc-step-desc{color:#6b7280;font-size:10px;white-space:nowrap}.mc-step-active{background:#22c55e1a;border-color:#22c55e}.mc-step-active .mc-step-circle{background:#22c55e;border-color:#22c55e;color:#0b0c0e}.mc-step-active .mc-step-title{color:#fff}.mc-step-done .mc-step-circle{background:#22c55e26;border-color:#22c55e;color:#22c55e}.mc-step-done .mc-step-title{color:#22c55e}.mc-step-connector{align-items:center;color:#3a3f47;display:flex}.mc-step-connector.filled{color:#22c55e}.mc-step-connector .material-symbols-outlined{font-size:18px}.mc-modal-backdrop{align-items:center;animation:mc-fade .18s ease-out;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:100000}@keyframes mc-fade{0%{opacity:0}to{opacity:1}}.mc-modal{animation:mc-slide .2s ease-out;background:#111418;border:1px solid #2d3339;border-radius:12px;box-shadow:0 20px 40px -8px #00000080;max-width:520px;overflow:hidden;width:92%}@keyframes mc-slide{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.mc-modal-header{align-items:center;border-bottom:1px solid #2d3339;display:flex;gap:12px;padding:18px 20px}.mc-modal-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.mc-modal-icon .material-symbols-outlined{font-size:22px}.mc-modal-icon.warning{background:#fbbf241f;color:#fbbf24}.mc-modal-icon.danger{background:#ef44441f;color:#ef4444}.mc-modal-title{color:#fff;flex:1 1;font-size:17px;font-weight:700;margin:0}.mc-modal-close{background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;padding:4px}.mc-modal-close:hover{background:#2d3339;color:#fff}.mc-modal-close .material-symbols-outlined{font-size:20px}.mc-modal-body{display:flex;flex-direction:column;gap:16px;padding:20px}.mc-modal-message{color:#d1d5db;font-size:14px;line-height:1.5;margin:0}.mc-modal-changes{border:1px solid #2a2f38;border-radius:8px;overflow:hidden}.mc-modal-changes-title{background:#111418;border-bottom:1px solid #2a2f38;color:#9ca3af;font-size:12px;font-weight:600;padding:8px 12px}.mc-modal-changes-table{border-collapse:collapse;font-size:13px;width:100%}.mc-modal-changes-table th{color:#6b7280;font-size:11px;font-weight:600;padding:6px 12px;text-align:left}.mc-modal-changes-table td{font-feature-settings:"tnum";border-top:1px solid #191d22;color:#d1d5db;font-variant-numeric:tabular-nums;padding:8px 12px}.mc-modal-from{color:#9ca3af;text-align:right}.mc-modal-from span,.mc-modal-to span{color:#6b7280;font-size:10px;margin-left:1px}.mc-modal-arrow{color:#22c55e;text-align:center}.mc-modal-arrow .material-symbols-outlined{font-size:16px;vertical-align:middle}.mc-modal-to{color:#22c55e;font-weight:700;text-align:right}.mc-modal-warning{align-items:center;border-radius:6px;display:flex;font-size:12.5px;gap:8px;line-height:1.4;padding:10px 12px}.mc-modal-warning .material-symbols-outlined{flex-shrink:0;font-size:18px}.mc-modal-warning.warning{background:#fbbf2414;border:1px solid #fbbf2440;color:#fbbf24}.mc-modal-warning.danger{background:#ef444414;border:1px solid #ef444440;color:#ef4444}.mc-modal-worker{align-items:center;color:#9ca3af;display:flex;font-size:13px;gap:6px}.mc-modal-worker .material-symbols-outlined{color:#3b82f6;font-size:18px}.mc-modal-worker strong{color:#fff}.mc-modal-footer{border-top:1px solid #2d3339;display:flex;gap:10px;padding:14px 20px}.mc-modal-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:11px 20px;transition:all .15s ease}.mc-modal-btn.cancel{background:#2d3339;border:1px solid #4b5563;color:#fff}.mc-modal-btn.cancel:hover{background:#3d4349}.mc-modal-btn.confirm{color:#fff}.mc-modal-btn.confirm.warning{background:#22c55e}.mc-modal-btn.confirm.warning:hover{background:#16a34a}.mc-modal-btn.confirm.danger{background:#ef4444}.mc-modal-btn.confirm.danger:hover{background:#dc2626}.mb-step-tag.mc-tag{background:#22c55e1f;color:#22c55e}.mc-recommend-layout{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:280px 1fr}.mc-recommend-content{display:flex;flex-direction:column}.mc-rec-count{color:#9ca3af;font-size:12px;margin-left:auto}.mc-rec-list{display:flex;flex-direction:column;gap:8px}.mc-rec-item{background:#111418;border:1px solid #0000;border-radius:8px;cursor:pointer;padding:12px;text-align:left;transition:all .15s ease;width:100%}.mc-rec-item:hover{background:#262b33}.mc-rec-item.active{background:#22c55e1a;border-color:#22c55e}.mc-rec-item-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.mc-rec-item-product{font-feature-settings:"tnum";color:#fff;font-size:15px;font-variant-numeric:tabular-nums;font-weight:700}.mc-rec-item-shot{font-feature-settings:"tnum";color:#6b7280;font-size:11px;font-variant-numeric:tabular-nums;margin-bottom:8px}.mc-rec-item-defects{align-items:center;display:flex;gap:5px}.mc-rec-defect-chip{background:#ef44441f;border-radius:3px;color:#ef4444;font-size:10px;font-weight:600;padding:2px 7px}.mc-rec-item-reduction{font-feature-settings:"tnum";color:#22c55e;font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;margin-left:auto}.mc-rec-content-id{font-feature-settings:"tnum";color:#6b7280;font-size:12px;font-variant-numeric:tabular-nums;margin-left:auto}.mc-temp-tag{background:#f973161f;border-radius:3px;color:#f97316;font-size:9px;padding:1px 5px;white-space:nowrap}.mc-unit{color:#6b7280;font-size:11px}.mc-param-table tbody tr.mc-row-temp{background:#f973160d}.mc-param-table td .mc-temp-tag{margin-left:6px}.mc-summary-grid{grid-template-columns:1.6fr 1fr}.mc-summary-card{display:flex;flex-direction:column;gap:14px}.mc-summary-main{align-items:center;display:flex;gap:24px}.mc-summary-reduction{display:flex;flex-direction:column;gap:4px}.mc-summary-reduction-label{color:#9ca3af;font-size:12px}.mc-summary-reduction-value{font-feature-settings:"tnum";color:#22c55e;font-size:38px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.mc-summary-divider{background:#2a2f38;height:44px;width:1px}.mc-summary-conf{display:flex;flex-direction:column;gap:4px}.mc-summary-conf-label{color:#9ca3af;font-size:12px}.mc-summary-conf-value{font-feature-settings:"tnum";color:#fff;font-size:28px;font-variant-numeric:tabular-nums;font-weight:700}.mc-summary-conf-value small{color:#9ca3af;font-size:14px}.mc-summary-note{align-items:flex-start;background:#22c55e0f;border:1px solid #22c55e33;border-radius:6px;color:#d1d5db;display:flex;font-size:12.5px;gap:8px;line-height:1.5;padding:10px 12px}.mc-summary-note .material-symbols-outlined{color:#22c55e;font-size:17px;margin-top:1px}.mc-action-card{display:flex;flex-direction:column;gap:14px;justify-content:center}.mc-action-text{color:#9ca3af;font-size:13px;line-height:1.5}.mc-approved-state{align-items:center;color:#22c55e;display:flex;font-size:15px;font-weight:700;gap:8px}.mc-approved-state .material-symbols-outlined{font-size:22px}.mc-toast{align-items:center;animation:mc-toast-in .25s ease-out;background:#22c55e1f;border:1px solid #22c55e;border-radius:6px;color:#22c55e;display:flex;font-size:14px;font-weight:600;gap:10px;margin-bottom:10px;padding:12px 16px}@keyframes mc-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mc-toast>.material-symbols-outlined{font-size:20px}.mc-toast-action{align-items:center;background:#22c55e;border:none;border-radius:5px;color:#0b0c0e;cursor:pointer;display:flex;font-size:12.5px;font-weight:700;gap:4px;margin-left:auto;padding:6px 12px}.mc-toast-action .material-symbols-outlined{font-size:16px}.mc-toast-close{background:#0000;border:none;color:#22c55e;cursor:pointer;display:flex;padding:2px}.mc-toast-close .material-symbols-outlined{font-size:18px}.mc-primary-btn{align-items:center;background:#22c55e;border:none;border-radius:8px;color:#0b0c0e;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:14px;transition:all .15s ease}.mc-primary-btn:hover{background:#16a34a}.mc-primary-btn .material-symbols-outlined{font-size:20px}.mc-overall-badge{align-items:center;display:inline-flex;font-size:13px;gap:6px;padding:6px 14px}.mc-overall-badge .material-symbols-outlined{font-size:18px}.mc-guard-grid{align-items:stretch}.mc-guard-card{display:flex;flex-direction:column}.mc-guard-card.blocked{border-color:#ef444480}.mc-guard-state{border-radius:10px;font-size:11px;font-weight:700;margin-left:auto;padding:2px 10px}.mc-guard-state.ok{background:#22c55e1f;color:#22c55e}.mc-guard-state.blocked{background:#ef44441f;color:#ef4444}.mc-guard-params{display:flex;flex:1 1;flex-direction:column;gap:12px}.mc-guard-param-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.mc-guard-param-name{color:#d1d5db;font-size:12.5px}.mc-guard-param-val{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;font-weight:700}.mc-guard-gauge-track{background:linear-gradient(90deg,#ef444440,#22c55e40 15%,#22c55e40 85%,#ef444440);border-radius:4px;height:8px;position:relative}.mc-guard-gauge-marker{border:2px solid #0b0c0e;border-radius:50%;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);width:12px}.mc-guard-gauge-marker.normal{background:#22c55e}.mc-guard-gauge-marker.warn{background:#fbbf24;box-shadow:0 0 6px #fbbf24b3}.mc-guard-gauge-marker.exceed{background:#ef4444;box-shadow:0 0 6px #ef4444cc}.mc-guard-gauge-labels{color:#6b7280;display:flex;font-size:9px;justify-content:space-between;margin-top:3px}.mc-guard-note{align-items:flex-start;border-radius:6px;display:flex;font-size:11.5px;gap:7px;line-height:1.45;margin-top:12px;padding:9px 11px}.mc-guard-note .material-symbols-outlined{flex-shrink:0;font-size:16px;margin-top:1px}.mc-guard-note.ok{background:#22c55e14;color:#22c55e}.mc-guard-note.blocked{background:#ef444414;color:#ef4444}.mc-guard-note.info{background:#111418;color:#9ca3af}.mc-rollback-btn{align-items:center;background:#fbbf241f;border:1px solid #fbbf2466;border-radius:5px;color:#fbbf24;cursor:pointer;display:flex;font-size:11.5px;font-weight:600;gap:5px;margin-left:auto;padding:5px 10px;transition:all .15s ease}.mc-rollback-btn:hover:not(:disabled){background:#fbbf2433}.mc-rollback-btn:disabled{cursor:not-allowed;opacity:.5}.mc-rollback-btn .material-symbols-outlined{font-size:15px}.mc-log-wrap{max-height:240px}.mc-log-table{font-size:11.5px}.mc-log-table td{padding:7px 10px}.mc-log-change{align-items:center;display:flex;gap:5px}.mc-log-from{color:#9ca3af}.mc-log-change .material-symbols-outlined{color:#6b7280;font-size:13px}.mc-log-to{color:#22c55e;font-weight:600}.mc-silico-compare{align-items:center;display:flex;gap:16px;justify-content:center;padding:8px 0 14px}.mc-silico-item{align-items:center;display:flex;flex-direction:column;gap:4px}.mc-silico-label{color:#9ca3af;font-size:11px}.mc-silico-value{font-feature-settings:"tnum";font-size:30px;font-variant-numeric:tabular-nums;font-weight:700}.mc-silico-value small{color:#9ca3af;font-size:14px}.mc-silico-value.before{color:#9ca3af}.mc-silico-value.after{color:#22c55e}.mc-silico-arrow{color:#22c55e;font-size:26px}.mc-silico-twin{align-items:center;background:#3b82f614;border-radius:6px;color:#3b82f6;display:flex;font-size:12px;gap:6px;justify-content:center;margin-bottom:12px;padding:8px}.mc-silico-twin .material-symbols-outlined{font-size:17px}.mc-verify{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr 260px}.mc-verify-chart{background:#1a1e24;border-radius:6px;padding:8px 6px 4px}.mc-verify-kpis{display:flex;flex-direction:column;gap:14px}.mc-verify-reduction{background:#22c55e14;border:1px solid #22c55e40;border-radius:8px;display:flex;flex-direction:column;gap:3px;padding:14px}.mc-verify-reduction-label{color:#9ca3af;font-size:12px}.mc-verify-reduction-value{font-feature-settings:"tnum";color:#22c55e;font-size:36px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.mc-verify-reduction-sub{font-feature-settings:"tnum";color:#9ca3af;font-size:12px;font-variant-numeric:tabular-nums}.mc-verify-stat{display:flex;flex-direction:column;gap:5px}.mc-verify-stat-label{color:#9ca3af;font-size:12px}.mc-verify-stat-value{font-feature-settings:"tnum";color:#fff;font-size:22px;font-variant-numeric:tabular-nums;font-weight:700}.mc-pvalue{align-items:center;align-self:flex-start;background:#22c55e1f;color:#22c55e;display:inline-flex;font-size:12px;gap:5px;padding:5px 10px}.mc-pvalue .material-symbols-outlined{font-size:15px}.login-page{align-items:center;background:linear-gradient(135deg,#1e293b,#0f172a 50%,#1e3a8a);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:space-between;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-language-switcher{display:flex;gap:6px;position:absolute;right:20px;top:20px;z-index:10}.login-lang-btn{background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;color:#cbd5e1;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.login-lang-btn:hover{background:#ffffff26;color:#fff}.login-lang-btn.active{background:#3b82f640;border-color:#3b82f6;color:#fff;font-weight:600}@media (max-width:480px){.login-language-switcher{right:12px;top:12px}.login-lang-btn{font-size:11px;padding:4px 8px}}.login-page:before{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle,#3b82f626 0,#0000 70%);height:500px;right:-250px;top:-250px;width:500px}.login-page:after,.login-page:before{border-radius:50%;content:"";position:absolute}.login-page:after{animation:pulse 6s ease-in-out infinite reverse;background:radial-gradient(circle,#6366f11a 0,#0000 70%);bottom:-200px;height:400px;left:-200px;width:400px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.login-page .login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin:auto 0;max-width:400px;padding:40px;position:relative;width:100%;z-index:1}.login-page .login-header{margin-bottom:32px;text-align:center}.login-page .login-subtitle-top{color:#9ca3af;font-size:11px;font-weight:500;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.login-page .login-title{color:#212b36;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 16px}.login-page .subtitle-divider{background-color:#e5e7eb;height:1px;margin:12px auto;width:60px}.login-page .login-subtitle-kr{color:#637381;font-size:16px;font-weight:500;margin:0}.login-page .login-form{margin-bottom:24px}.login-page .form-group{margin-bottom:20px}.login-page .form-label{color:#212b36;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.login-page .input-container{align-items:center;display:flex;position:relative}.login-page .input-icon{color:#9ca3af;left:12px;position:absolute;z-index:1}.login-page .form-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#212b36;font-size:14px;padding:12px 12px 12px 40px;transition:border-color .2s ease;width:100%}.login-page .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.login-page .form-input::placeholder{color:#9ca3af}.login-page .password-toggle{color:#9ca3af;cursor:pointer;position:absolute;right:12px;z-index:1}.login-page .password-toggle:hover{color:#6b7280}.login-page .form-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.login-page .checkbox-container{align-items:center;color:#212b36;cursor:pointer;display:flex;font-size:14px;position:relative}.login-page .checkbox-container input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.login-page .checkmark{align-items:center;border:1px solid #d1d5db;border-radius:4px;display:flex;height:16px;justify-content:center;margin-right:8px;transition:all .2s ease;width:16px}.login-page .checkbox-container input[type=checkbox]:checked+.checkmark{background-color:#3b82f6;border-color:#3b82f6}.login-page .checkbox-container input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700}.login-page .forgot-password{color:#6b7280;font-size:14px;text-decoration:none;transition:color .2s ease}.login-page .forgot-password:hover{color:#3b82f6}.login-page .login-button{background:linear-gradient(135deg,#1e293b,#334155);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:24px;padding:12px 24px;transition:all .2s ease;width:100%}.login-page .login-button:hover{background:linear-gradient(135deg,#0f172a,#1e293b);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.login-page .login-button:active{transform:translateY(0)}.login-page .login-footer{text-align:center}.login-page .login-footer p{color:#6b7280;font-size:14px;margin:0}.login-page .login-footer a{color:#3b82f6;font-weight:500;text-decoration:none}.login-page .login-footer a:hover{text-decoration:underline}.login-page .copyright{padding-bottom:20px;position:relative;text-align:center;z-index:1}.login-page .copyright p{color:#ffffffb3;font-size:12px;line-height:1.5;margin:4px 0}@media (max-width:480px){.login-page .login-card{margin:10px;padding:24px}.login-page .login-title{font-size:24px}}.pagination-container{align-items:center;border-top:1px solid #2a2f38;display:flex;margin-top:16px;padding:16px 0;position:relative}.pagination-info{align-items:center;color:#9ca3af;display:flex;font-size:13px;gap:12px;padding-left:16px}.pagination-size-select{background:#111418;border:1px solid #2a2f38;border-radius:6px;color:#e5e7eb;cursor:pointer;font-size:13px;padding:6px 10px}.pagination-size-select:focus{border-color:#3b82f6;outline:none}.pagination-buttons{align-items:center;display:flex;gap:4px;left:50%;position:absolute;transform:translateX(-50%)}.pagination-btn{align-items:center;background:#111418;border:1px solid #2a2f38;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;font-size:13px;height:32px;justify-content:center;min-width:32px;padding:0 8px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#2a2f38;border-color:#3b82f6;color:#e5e7eb}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-btn .material-symbols-outlined{font-size:18px}.pagination-num{min-width:36px}.mypage-container{background-color:#1a1e24;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.mypage-container .mypage-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.mypage-container .mypage-header-left{display:flex;flex-direction:column}.mypage-container .mypage-header-right{align-items:center;display:flex;gap:12px}.mypage-container .mypage-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.mypage-container .mypage-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.mypage-container .mypage-edit-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.mypage-container .mypage-edit-header-btn:hover{background:#2563eb}.mypage-container .mypage-cancel-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.mypage-container .mypage-cancel-header-btn:hover{background:#3d4349}.mypage-container .mypage-save-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.mypage-container .mypage-save-header-btn:hover{background:#2563eb}.mypage-container .mypage-content{background:#1a1e24;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.mypage-container .mypage-profile-card{align-items:center;background:#111418;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.mypage-container .mypage-profile-avatar-large{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Inter,sans-serif;font-size:32px;font-style:normal;font-weight:700;height:80px;justify-content:center;line-height:40px;width:80px}.mypage-container .mypage-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.mypage-container .mypage-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}.mypage-container .mypage-profile-email{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0}.mypage-container .mypage-role-badge{background:#3b82f6;border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.mypage-container .mypage-profile-meta{border-left:1px solid #2d3339;display:flex;flex-direction:column;gap:12px;padding-left:24px}.mypage-container .mypage-meta-item{display:flex;flex-direction:column;gap:4px}.mypage-container .mypage-meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.mypage-container .mypage-meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mypage-container .mypage-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.mypage-container .mypage-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.mypage-container .mypage-section-title{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px}.mypage-container .mypage-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.mypage-container .mypage-group{display:flex;flex-direction:column;gap:8px}.mypage-container .mypage-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.mypage-container .mypage-value{font-size:16px;line-height:24px;padding:10px 0}.mypage-container .mypage-input,.mypage-container .mypage-value{color:#fff;font-family:Inter,sans-serif;font-style:normal;font-weight:400}.mypage-container .mypage-input{background:#1a1e24;border:1px solid #2d3339;border-radius:6px;font-size:14px;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.mypage-container .mypage-input::placeholder{color:#6b7280}.mypage-container .mypage-input:focus,.mypage-container .mypage-input:hover{border-color:#3b82f6}.mypage-container .mypage-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.mypage-container .mypage-btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.mypage-container .mypage-btn-secondary:hover{background:#3d4349}.mypage-container .mypage-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.mypage-container .mypage-btn-primary:hover{background:#2563eb}.mypage-container::-webkit-scrollbar{height:8px;width:8px}.mypage-container::-webkit-scrollbar-track{background:#1a1e24}.mypage-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.mypage-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.mypage-container .mypage-grid{grid-template-columns:1fr}.mypage-container .mypage-profile-card{align-items:flex-start;flex-direction:column}.mypage-container .mypage-profile-meta{border-left:none;border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.mypage-container .mypage-content{padding:20px}.mypage-container .mypage-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.mypage-container .mypage-header-left{width:100%}.mypage-container .mypage-header-right{justify-content:flex-end;width:100%}.mypage-container .mypage-profile-card{padding:16px}.mypage-container .mypage-form-actions{flex-direction:column}.mypage-container .mypage-btn-primary,.mypage-container .mypage-btn-secondary{width:100%}}.system-management-container .settings-form,.system-management-container .system-settings-content{display:flex;flex-direction:column;gap:8px}.system-management-container .form-section{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px}.system-management-container .form-section-title{border-bottom:1px solid #c5d7e033;color:#fff;font-size:17px;font-weight:700;margin:0;padding-bottom:12px}.system-management-container .form-row{grid-gap:16px 20px;display:grid;gap:16px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.system-management-container .form-row.single{grid-template-columns:minmax(0,1fr)}.system-management-container .form-group{display:flex;flex-direction:column;gap:8px;min-width:0}.system-management-container .form-group.full-width{grid-column:1/-1}.system-management-container .form-label{color:#c5d7e0;font-size:14px}.system-management-container .form-hint{color:#98a8bf;font-size:13px;margin:0}.system-management-container .form-input,.system-management-container .form-select{background-color:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;box-sizing:border-box;color:#fff;color-scheme:dark;font-family:inherit;font-size:15px;height:40px;padding:0 14px;width:100%}.system-management-container .form-input::placeholder{color:#98a8bf}.system-management-container .form-input:hover,.system-management-container .form-select:hover{border-color:#c5d7e059}.system-management-container .form-input:focus,.system-management-container .form-select:focus{border-color:#83a6ff;outline:none}.system-management-container .form-input.readonly,.system-management-container .form-input:disabled{background:#0000;border:1px dashed #c5d7e033;color:#98a8bf;cursor:default}.system-management-container .select-container{position:relative}.system-management-container .form-select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:40px}.system-management-container .form-select:disabled{cursor:not-allowed;opacity:.5}.system-management-container .form-select option{background:#1a1e24;color:#fff}.system-management-container .select-icon{color:#98a8bf;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.system-management-container .alarm-sound-row{display:flex;gap:8px}.system-management-container .alarm-sound-row .form-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2398A8BF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 14px center;background-repeat:no-repeat;flex:1 1}.system-management-container .alarm-sound-preview-btn,.system-management-container .file-delete-btn,.system-management-container .file-upload-btn,.system-management-container .save-btn{align-items:center;border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:500;gap:6px;height:40px;justify-content:center;padding:0 16px;white-space:nowrap}.system-management-container .alarm-sound-preview-btn .material-symbols-outlined,.system-management-container .file-delete-btn .material-symbols-outlined,.system-management-container .file-upload-btn .material-symbols-outlined,.system-management-container .save-btn .material-symbols-outlined{font-size:20px}.system-management-container .file-upload-btn,.system-management-container .save-btn{background:#256ef4;border:1px solid #256ef4;color:#fff}.system-management-container .file-upload-btn:hover,.system-management-container .save-btn:hover:not(:disabled){background:#3b7df6;border-color:#3b7df6}.system-management-container .alarm-sound-preview-btn,.system-management-container .save-btn.secondary{background:#1a1e24;border:1px solid #c5d7e033;color:#fff}.system-management-container .alarm-sound-preview-btn:hover:not(:disabled),.system-management-container .save-btn.secondary:hover:not(:disabled){background:#2a313b;border-color:#c5d7e059}.system-management-container .file-delete-btn{background:#1a1e24;border:1px solid #f0443880;color:#f04438}.system-management-container .file-delete-btn:hover{background:#f0443814;border-color:#f04438}.system-management-container .alarm-sound-preview-btn:disabled,.system-management-container .save-btn:disabled{cursor:not-allowed;opacity:.5}.system-management-container .form-actions{align-items:center;background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;gap:8px;justify-content:flex-end;padding:12px 96px 12px 16px}.system-management-container .save-message{font-size:14px;margin-right:auto}.system-management-container .save-message.success{color:#47cd89}.system-management-container .save-message.error{color:#f04438}.system-management-container .file-upload-container{display:flex;flex-direction:column;gap:10px}.system-management-container .file-upload-actions{display:flex;gap:8px}.system-management-container .upload-status{color:#98a8bf;font-size:13px}.system-management-container .image-preview{align-items:center;background:#1a1e24;border:1px solid #ffffff14;border-radius:6px;box-sizing:border-box;display:flex;height:80px;justify-content:center;padding:8px;width:200px}.system-management-container .image-preview img{max-height:100%;max-width:100%;object-fit:contain}.system-management-container .image-preview.favicon-preview{width:80px}.system-management-container .toggle-container{align-items:center;display:flex;gap:10px;height:40px}.system-management-container .toggle-switch{cursor:pointer;display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.system-management-container .toggle-switch input{height:0;opacity:0;width:0}.system-management-container .toggle-slider{background:#2a313b;border:1px solid #c5d7e033;border-radius:12px;inset:0;position:absolute;transition:background .2s}.system-management-container .toggle-slider:before{background:#c5d7e0;border-radius:50%;content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .2s;width:16px}.system-management-container .toggle-switch input:checked+.toggle-slider{background:#256ef4;border-color:#256ef4}.system-management-container .toggle-switch input:checked+.toggle-slider:before{background:#fff;transform:translateX(20px)}.system-management-container .toggle-switch input:focus-visible+.toggle-slider{outline:1px solid #83a6ff;outline-offset:2px}.system-management-container .toggle-switch.disabled{cursor:not-allowed;opacity:.45}.system-management-container .toggle-status{color:#c5d7e0;font-size:14px}.system-management-container .etl-status-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.system-management-container .etl-status-card{align-items:center;background:#1a1e24;border:1px solid #ffffff0f;border-radius:6px;display:flex;gap:12px;padding:14px 16px}.system-management-container .etl-status-icon .material-symbols-outlined{color:#98a8bf;font-size:26px}.system-management-container .etl-status-icon .status-running{animation:smSpin 1.2s linear infinite;color:#83a6ff}.system-management-container .etl-status-icon .status-idle,.system-management-container .etl-status-icon .status-success{color:#47cd89}.system-management-container .etl-status-info{display:flex;flex-direction:column;gap:4px;min-width:0}.system-management-container .etl-status-label{color:#98a8bf;font-size:13px}.system-management-container .etl-status-value{font-feature-settings:"tnum";color:#fff;font-size:17px;font-variant-numeric:tabular-nums;font-weight:600}.system-management-container .etl-status-value.running{color:#83a6ff}.system-management-container .etl-status-value.idle{color:#47cd89}@keyframes smSpin{to{transform:rotate(1turn)}}.system-management-container .db-connection-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.system-management-container .db-connection-card{align-items:center;background:#1a1e24;border:1px solid #ffffff0f;border-left-width:3px;border-radius:6px;display:flex;gap:14px;padding:16px}.system-management-container .db-connection-card.connected{border-left-color:#47cd89}.system-management-container .db-connection-card.disconnected{border-left-color:#f04438}.system-management-container .db-icon .material-symbols-outlined{font-size:28px}.system-management-container .db-connection-card.connected .db-icon .material-symbols-outlined,.system-management-container .db-connection-card.connected .db-status{color:#47cd89}.system-management-container .db-connection-card.disconnected .db-icon .material-symbols-outlined,.system-management-container .db-connection-card.disconnected .db-status{color:#f04438}.system-management-container .db-info{display:flex;flex-direction:column;gap:4px}.system-management-container .db-name{color:#fff;font-size:15px;font-weight:600}.system-management-container .db-status{font-size:13px}.system-management-container .etl-history-table-container,.system-management-container .login-log-table-wrapper{border:1px solid #ffffff14;border-radius:4px;overflow:auto}.system-management-container .etl-history-table{border-collapse:initial;border-spacing:0;font-size:15px;width:100%}.system-management-container .etl-history-table td,.system-management-container .etl-history-table th{font-feature-settings:"tnum";border-bottom:1px solid #ffffff0f;font-variant-numeric:tabular-nums;height:44px;padding:0 12px;text-align:center;white-space:nowrap}.system-management-container .etl-history-table th{background:#1a1e24;color:#c5d7e0;font-weight:500;height:48px}.system-management-container .etl-history-table td{background:#111418;color:#fff}.system-management-container .etl-history-table tbody tr:last-child td{border-bottom:none}.system-management-container .etl-history-table tbody tr:hover td{background:#1a1e24}.system-management-container .etl-history-table td.table-list{color:#c5d7e0;max-width:320px;overflow:hidden;text-overflow:ellipsis}.system-management-container .etl-history-table td.error-message{color:#98a8bf;max-width:320px;overflow:hidden;text-overflow:ellipsis}.system-management-container .etl-history-table td.no-data{color:#98a8bf;height:auto;padding:48px 0}.system-management-container .etl-history-table tbody tr:hover td.no-data{background:#111418}.system-management-container .status-badge{align-items:center;background:#c5d7e014;border:1px solid;border-radius:3px;color:#c5d7e0;display:inline-flex;font-size:12px;font-weight:500;height:24px;padding:0 10px}.system-management-container .status-badge.success{background:#47cd8914;color:#47cd89}.system-management-container .status-badge.error,.system-management-container .status-badge.failed{background:#f0443814;color:#f04438}.system-management-container .status-badge.info{background:#83a6ff14;color:#83a6ff}.system-management-container .log-filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.system-management-container .filter-btn{background:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;color:#c5d7e0;cursor:pointer;font-family:inherit;font-size:14px;height:36px;padding:0 16px}.system-management-container .filter-btn:hover{border-color:#c5d7e059;color:#fff}.system-management-container .filter-btn.active{background:#256ef426;border-color:#83a6ff;color:#83a6ff}.system-management-container .coming-soon{color:#98a8bf;font-size:14px;margin:0;padding:24px 0;text-align:center}.system-management-container .pagination-container{border-top:none;margin-top:0;padding:12px 0 0}.system-management-container .pagination-info{color:#c5d7e0;font-size:14px;padding-left:0}.system-management-container .pagination-size-select{background:#1a1e24;border-color:#c5d7e033;border-radius:4px;color:#fff;font-family:inherit;height:32px}@media (max-width:1200px){.system-management-container .etl-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.system-management-container .db-connection-grid,.system-management-container .form-row{grid-template-columns:minmax(0,1fr)}}.platform-page{display:flex;flex-direction:column;gap:8px}.platform-stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.platform-stat-card{align-items:center;background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;gap:14px;padding:14px 16px}.platform-stat-icon{align-items:center;background:#256ef41f;border-radius:6px;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.platform-stat-icon .material-symbols-outlined{color:#83a6ff;font-size:24px}.platform-stat-info{display:flex;flex-direction:column;gap:4px;min-width:0}.platform-stat-value{font-feature-settings:"tnum";color:#fff;font-size:22px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.platform-stat-label{color:#98a8bf;font-size:13px}.platform-table-container{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.platform-table-header{align-items:center;border-bottom:1px solid #c5d7e033;display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.platform-table-title{color:#fff;font-size:17px;font-weight:700;margin:0}.platform-table-tools{align-items:center;display:flex;gap:8px}.platform-table-scroll{overflow-x:auto}.platform-table{border-collapse:initial;border-spacing:0;font-size:15px;width:100%}.platform-table td,.platform-table th{font-feature-settings:"tnum";border-bottom:1px solid #ffffff0f;font-variant-numeric:tabular-nums;height:48px;padding:0 14px;text-align:left;white-space:nowrap}.platform-table th{background:#1a1e24;color:#c5d7e0;font-size:14px;font-weight:500;height:46px}.platform-table td{color:#fff}.platform-table tr:last-child td{border-bottom:none}.platform-table tbody tr:hover td{background:#1a1e24}.platform-table .muted{color:#98a8bf}.platform-table strong{font-weight:600}.platform-code{background:#1a1e24;border:1px solid #ffffff14;border-radius:3px;color:#c5d7e0;display:inline-block;font-family:Consolas,monospace;font-size:13px;padding:2px 8px}.platform-badge{align-items:center;background:#c5d7e014;border:1px solid;border-radius:3px;color:#c5d7e0;display:inline-flex;font-size:12px;font-weight:500;height:24px;padding:0 10px}.platform-badge.active{background:#47cd8914;color:#47cd89}.platform-badge.inactive{background:#f0443814;color:#f04438}.platform-badge.pending{background:#fdb02214;color:#fdb022}.platform-badge.info{background:#83a6ff14;color:#83a6ff}.platform-status{align-items:center;display:inline-flex;gap:8px}.platform-dot{background:#798699;border-radius:50%;flex-shrink:0;height:8px;width:8px}.platform-dot.running{background:#47cd89}.platform-dot.warning{background:#fdb022}.platform-dot.error{background:#f04438}.platform-btn{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:6px;height:36px;justify-content:center;padding:0 14px;white-space:nowrap}.platform-btn .material-symbols-outlined{font-size:19px}.platform-btn-primary{background:#256ef4;border:1px solid #256ef4;color:#fff}.platform-btn-primary:hover{background:#3b7df6;border-color:#3b7df6}.platform-btn-secondary{background:#1a1e24;border:1px solid #c5d7e033;color:#fff}.platform-btn-secondary:hover{background:#2a313b;border-color:#c5d7e059}.platform-actions{align-items:center;display:inline-flex;gap:4px}.platform-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#98a8bf;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.platform-action-btn .material-symbols-outlined{font-size:20px}.platform-action-btn:hover{background:#2a313b;color:#fff}.platform-action-btn.delete:hover{color:#f04438}.platform-select{-webkit-appearance:none;appearance:none;background-color:#1a1e24;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2398A8BF%27 stroke-width=%272%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #c5d7e033;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;height:36px;min-width:180px;padding:0 36px 0 12px}.platform-select:focus{border-color:#83a6ff;outline:none}.platform-select option{background:#1a1e24}.platform-usage{display:flex;flex-direction:column;gap:4px}.platform-usage-track{background:#2a2f38;border-radius:3px;height:6px;overflow:hidden;width:80px}.platform-usage-bar{background:#47cd89;border-radius:3px;display:block;height:100%}.platform-usage-bar.high{background:#f04438}.platform-days-left{color:#fdb022;font-size:12px;margin-top:2px}.platform-two-col{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.platform-kv{display:flex;flex-direction:column;padding:4px 16px 8px}.platform-kv-row{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;font-size:15px;gap:12px;justify-content:space-between;min-height:44px}.platform-kv-row:last-child{border-bottom:none}.platform-kv-label{color:#98a8bf}.platform-kv-value{font-feature-settings:"tnum";color:#fff;font-variant-numeric:tabular-nums}.platform-empty{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:56px 0}.platform-empty-icon{color:#798699;font-size:40px}.platform-empty-text{color:#98a8bf;font-size:15px}.platform-container .pagination-container{border-top:1px solid #ffffff0f;margin-top:0;padding:12px 16px}.platform-container .pagination-info{color:#c5d7e0;font-size:14px;padding-left:0}.platform-container .pagination-size-select{background:#1a1e24;border-color:#c5d7e033;border-radius:4px;color:#fff;font-family:inherit;height:32px}@media (max-width:1024px){.platform-two-col{grid-template-columns:minmax(0,1fr)}}.company-register-page .company-register-form{display:flex;flex-direction:column;gap:8px}.company-register-page .form-section{background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px}.company-register-page .section-title{border-bottom:1px solid #c5d7e033;color:#fff;font-size:17px;font-weight:700;margin:0;padding-bottom:12px}.company-register-page .section-description{color:#98a8bf;font-size:13px;margin:0}.company-register-page .form-grid{grid-gap:16px 20px;display:grid;gap:16px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.company-register-page .form-group{display:flex;flex-direction:column;gap:8px;min-width:0}.company-register-page .form-group-full{grid-column:1/-1}.company-register-page .form-label{color:#c5d7e0;font-size:14px}.company-register-page .required{color:#f04438;margin-left:2px}.company-register-page .form-hint{color:#98a8bf;font-size:13px}.company-register-page .error-message{color:#f04438;font-size:13px}.company-register-page .form-input,.company-register-page .form-select{background:#1a1e24;border:1px solid #c5d7e033;border-radius:4px;box-sizing:border-box;color:#fff;color-scheme:dark;font-family:inherit;font-size:15px;height:40px;padding:0 14px;width:100%}.company-register-page .form-input::placeholder{color:#98a8bf}.company-register-page .form-input:hover,.company-register-page .form-select:hover{border-color:#c5d7e059}.company-register-page .form-input:focus,.company-register-page .form-select:focus{border-color:#83a6ff;outline:none}.company-register-page .form-input.error{border-color:#f04438}.company-register-page .form-input.readonly,.company-register-page .form-input:read-only{background:#0000;border:1px dashed #c5d7e033;color:#98a8bf}.company-register-page .select-container{position:relative}.company-register-page .form-select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:40px}.company-register-page .form-select option{background:#1a1e24}.company-register-page .select-icon{color:#98a8bf;font-size:20px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.company-register-page .form-actions{align-items:center;background:#111418;border:1px solid #ffffff14;border-radius:8px;display:flex;gap:8px;justify-content:flex-end;padding:12px 96px 12px 16px}.company-register-page .save-message{font-size:14px;margin-right:auto}.company-register-page .save-message.success{color:#47cd89}.company-register-page .save-message.error{color:#f04438}.company-register-page .btn-cancel,.company-register-page .btn-submit{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:500;height:40px;justify-content:center;padding:0 16px}.company-register-page .btn-cancel{background:#1a1e24;border:1px solid #c5d7e033;color:#fff}.company-register-page .btn-cancel:hover:not(:disabled){background:#2a313b;border-color:#c5d7e059}.company-register-page .btn-submit{background:#256ef4;border:1px solid #256ef4;color:#fff}.company-register-page .btn-submit:hover:not(:disabled){background:#3b7df6;border-color:#3b7df6}.company-register-page .btn-cancel:disabled,.company-register-page .btn-submit:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.company-register-page .form-grid{grid-template-columns:minmax(0,1fr)}}.tab-menu-container{display:flex;gap:0;height:100%;width:100%}.tab-menu-vertical{flex-direction:row}.tab-menu-horizontal{flex-direction:column}.tab-menu-list{background:#1a1f2e;border-right:1px solid #2a3441;display:flex;min-width:200px}.tab-menu-vertical .tab-menu-list{flex-direction:column;padding:16px 0}.tab-menu-horizontal .tab-menu-list{border-bottom:1px solid #2a3441;border-right:none;flex-direction:row;min-width:0;min-width:auto;padding:0 16px}.tab-menu-item{align-items:center;background:#0000;border:none;color:#8b92a8;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 20px;position:relative;text-align:left;transition:all .2s ease;white-space:nowrap}.tab-menu-vertical .tab-menu-item{border-radius:8px;margin:0 12px}.tab-menu-horizontal .tab-menu-item{border-radius:0;margin:0;padding:14px 24px}.tab-menu-icon{color:inherit;font-size:20px}.tab-menu-label{flex:1 1}.tab-menu-item:hover:not(.active):not(:disabled){background:#3b82f61a;color:#b4bbcc}.tab-menu-item.active{background:#3b82f626;color:#3b82f6;font-weight:600}.tab-menu-horizontal .tab-menu-item.active{background:#0000}.tab-menu-indicator{background:#3b82f6;border-radius:2px;position:absolute}.tab-menu-vertical .tab-menu-indicator{height:60%;right:0;top:50%;transform:translateY(-50%);width:3px}.tab-menu-horizontal .tab-menu-indicator{border-radius:2px 2px 0 0;bottom:0;height:3px;left:0;width:100%}.tab-menu-item:disabled{cursor:not-allowed;opacity:.5}.tab-menu-content{background:#1a1e24;flex:1 1;overflow-y:auto;padding:24px}.tab-menu-content::-webkit-scrollbar{width:8px}.tab-menu-content::-webkit-scrollbar-track{background:#1a1f2e}.tab-menu-content::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.tab-menu-content::-webkit-scrollbar-thumb:hover{background:#4b5563}@media (max-width:768px){.tab-menu-vertical{flex-direction:column}.tab-menu-vertical .tab-menu-list{border-bottom:1px solid #2a3441;border-right:none;flex-direction:row;min-width:0;min-width:auto;overflow-x:auto;padding:0 12px}.tab-menu-vertical .tab-menu-item{border-radius:0;margin:0;padding:12px 16px}.tab-menu-vertical .tab-menu-indicator{border-radius:2px 2px 0 0;bottom:0;height:3px;left:0;top:auto;transform:none;width:100%}.tab-menu-content{padding:16px}}.company-management-container{display:flex;flex-direction:column;gap:20px;height:100%}.company-controls{align-items:center;border-bottom:1px solid #2a3441;display:flex;gap:16px;justify-content:space-between;padding-bottom:20px}.control-left,.control-right{align-items:center;display:flex;gap:12px}.control-label{color:#8b92a8;font-size:14px;font-weight:500}.dropdown-container{display:inline-block;position:relative}.status-dropdown{-webkit-appearance:none;appearance:none;background:#1a1f2e;border:1px solid #2a3441;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;min-width:120px;padding:8px 32px 8px 12px;transition:all .2s ease}.status-dropdown:hover{background:#1f2937;border-color:#3b82f6}.status-dropdown:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.company-management-container .dropdown-icon{color:#8b92a8;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.search-container{align-items:center;display:flex;position:relative}.search-input{background:#1a1f2e;border:1px solid #2a3441;border-radius:6px;color:#fff;font-size:14px;padding:8px 36px 8px 12px;transition:all .2s ease;width:260px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-input::placeholder{color:#6b7280}.search-icon{color:#8b92a8;pointer-events:none;position:absolute;right:12px}.add-company-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.add-company-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.add-company-btn:active{transform:translateY(0)}.plus-icon{height:16px;width:16px}.company-table-container{background:#1a1f2e;border:1px solid #2a3441;border-radius:8px;flex:1 1;overflow-y:auto}.company-table{border-collapse:collapse;width:100%}.company-table thead{background:#151921;position:-webkit-sticky;position:sticky;top:0;z-index:1}.company-table th{border-bottom:2px solid #2a3441;color:#8b92a8;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.company-table tbody tr{border-bottom:1px solid #2a3441;transition:background .2s ease}.company-table tbody tr.clickable-row{cursor:pointer}.company-table tbody tr.clickable-row:hover,.company-table tbody tr:hover{background:#3b82f60d}.company-table td{color:#cad2e0;font-size:14px;padding:14px 16px}.company-name,.company-name-cell{color:#fff;font-weight:600}.address-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.status-active{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.status-inactive{background:#9ca3af26;border:1px solid #9ca3af4d;color:#9ca3af}.action-buttons{display:flex;gap:8px}.action-btn{align-items:center;background:#0000;border:1px solid #2a3441;border-radius:6px;color:#8b92a8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.action-btn:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.delete-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.company-stats{grid-gap:16px;border-top:1px solid #2a3441;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding-top:20px}.stat-card{background:#1a1f2e;border:1px solid #2a3441;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s ease}.stat-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.stat-label{color:#8b92a8;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#fff;font-size:24px;font-weight:700}.stat-active{color:#22c55e}.stat-inactive{color:#9ca3af}.company-table-container::-webkit-scrollbar{width:8px}.company-table-container::-webkit-scrollbar-track{background:#1a1f2e}.company-table-container::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.company-table-container::-webkit-scrollbar-thumb:hover{background:#4b5563}@media (max-width:1200px){.company-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.company-controls{align-items:stretch;flex-direction:column}.control-left,.control-right{justify-content:space-between;width:100%}.search-input{width:100%}.company-stats{grid-template-columns:1fr}.company-table-container{overflow-x:auto}.company-table{min-width:1000px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#1a1f2e;border:1px solid #2a3441;border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:480px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #2a3441;display:flex;justify-content:space-between;padding:20px 24px}.modal-title{color:#fff;font-size:18px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#8b92a8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#9ca3af1a;color:#cad2e0}.modal-body{flex-direction:column;padding:32px 24px;text-align:center}.modal-body,.warning-icon{align-items:center;display:flex}.warning-icon{background:#ef444426;border-radius:50%;height:64px;justify-content:center;margin-bottom:20px;width:64px}.warning-icon .material-symbols-outlined{color:#ef4444;font-size:36px}.modal-message{color:#cad2e0;font-size:16px;line-height:1.5;margin:0 0 12px}.modal-message strong{color:#fff;font-weight:600}.modal-submessage{color:#8b92a8;font-size:14px;margin:0}.modal-footer{border-top:1px solid #2a3441;display:flex;gap:12px;padding:20px 24px}.modal-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;justify-content:center;padding:10px 20px;transition:all .2s ease}.cancel-btn{background:#2a3441;border:1px solid #374151;color:#cad2e0}.cancel-btn:hover{background:#374151;border-color:#4b5563}.delete-confirm-btn{background:#ef4444;color:#fff}.delete-confirm-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}@media (max-width:480px){.modal-content{margin:0 10px;width:95%}.modal-header{padding:16px 20px}.modal-body{padding:24px 20px}.modal-footer{flex-direction:column;padding:16px 20px}.modal-btn{width:100%}}.data-verification-container p{color:#fff}.admin-page-container{background:#1a1e24;display:flex;flex-direction:column;height:100%}.admin-page-header{align-items:center;background:linear-gradient(135deg,#1a1f2e,#151921);border-bottom:1px solid #2a3441;display:flex;justify-content:space-between;padding:24px 32px}.admin-page-header-left{display:flex;flex-direction:column;gap:4px}.admin-page-title{color:#fff;font-size:24px;font-weight:700;letter-spacing:-.5px}.admin-page-subtitle{color:#8b92a8;font-size:14px;margin:0}.admin-page-content{display:flex;flex:1 1;overflow:hidden}.company-register-container{background-color:#1a1e24;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.company-register-container .company-register-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.company-register-container .company-register-header-left{align-items:center;display:flex;gap:16px}.company-register-container .back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.company-register-container .company-register-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.company-register-container .company-register-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.company-register-container .company-register-form{background:#111418;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.company-register-container .form-section{margin-bottom:32px}.company-register-container .form-section:last-child{margin-bottom:0}.company-register-container .section-title{border-bottom:1px solid #2d3339;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin:0 0 20px;padding-bottom:12px}.company-register-container .form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.company-register-container .form-group{display:flex;flex-direction:column;gap:8px}.company-register-container .form-group-full{grid-column:1/-1}.company-register-container .form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.company-register-container .required{color:#ef4444;margin-left:4px}.company-register-container .form-input,.company-register-container .form-select{background:#1a1e24;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.company-register-container .form-input::placeholder{color:#6b7280}.company-register-container .form-input:focus,.company-register-container .form-input:hover,.company-register-container .form-select:focus,.company-register-container .form-select:hover{border-color:#3b82f6}.company-register-container .form-input.error,.company-register-container .form-input.error:focus{border-color:#ef4444}.company-register-container .error-message{color:#ef4444;font-size:12px;margin-top:-4px}.company-register-container .dropdown-container{display:inline-block;position:relative;width:100%}.company-register-container .form-select{-webkit-appearance:none;appearance:none;cursor:pointer;padding:10px 32px 10px 12px;width:100%}.company-register-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.company-register-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.company-register-container .btn-cancel{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-register-container .btn-cancel:hover{background:#3d4349}.company-register-container .btn-submit{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-register-container .btn-submit:hover{background:#2563eb}.company-register-container::-webkit-scrollbar{height:8px;width:8px}.company-register-container::-webkit-scrollbar-track{background:#1a1e24}.company-register-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.company-register-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.company-register-container .form-grid{grid-template-columns:1fr}}@media (max-width:768px){.company-register-container .company-register-form{padding:20px}.company-register-container .company-register-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.company-register-container .form-grid{grid-template-columns:1fr}.company-register-container .form-group-full{grid-column:1}.company-register-container .form-actions{flex-direction:column-reverse}.company-register-container .btn-cancel,.company-register-container .btn-submit{width:100%}}.company-detail-container{background-color:#1a1e24;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.company-detail-container .company-detail-header{align-items:center;background-color:#111418;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.company-detail-container .company-detail-header-left{align-items:center;display:flex;gap:16px}.company-detail-container .company-detail-header-right{align-items:center;display:flex;gap:12px}.company-detail-container .back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.company-detail-container .back-btn svg{color:#fff}.company-detail-container .company-detail-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.company-detail-container .company-detail-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.company-detail-container .delete-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:all .2s}.company-detail-container .delete-header-btn:hover{background:#ef4444;border-color:#ef4444}.company-detail-container .edit-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.company-detail-container .edit-header-btn:hover{background:#2563eb}.company-detail-container .cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.company-detail-container .cancel-btn:hover{background:#3d4349}.company-detail-container .save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.company-detail-container .save-btn:hover{background:#2563eb}.company-detail-container .company-detail-content{background:#1a1e24;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.company-detail-container .company-profile-card{align-items:center;background:#111418;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.company-detail-container .company-profile-icon{align-items:center;background:#2d3339;border-radius:12px;color:#3b82f6;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.company-detail-container .company-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.company-detail-container .company-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}.company-detail-container .company-profile-code{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0}.company-detail-container .status-badge-large{border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.company-detail-container .status-active{background:#3b82f6}.company-detail-container .status-inactive{background:#ef4444}.company-detail-container .company-profile-meta{border-left:1px solid #2d3339;display:flex;flex-direction:column;gap:12px;padding-left:24px}.company-detail-container .meta-item{display:flex;flex-direction:column;gap:4px}.company-detail-container .meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.company-detail-container .meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.company-detail-container .detail-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.company-detail-container .detail-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.company-detail-container .section-title{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px}.company-detail-container .detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.company-detail-container .detail-group{display:flex;flex-direction:column;gap:8px}.company-detail-container .detail-group-full{grid-column:1/-1}.company-detail-container .detail-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.company-detail-container .detail-value{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;padding:10px 0}.company-detail-container .detail-input{background:#1a1e24;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.company-detail-container .detail-input::placeholder{color:#6b7280}.company-detail-container .detail-input:focus,.company-detail-container .detail-input:hover{border-color:#3b82f6}.company-detail-container .dropdown-container{display:inline-block;position:relative;width:100%}.company-detail-container .detail-select{-webkit-appearance:none;appearance:none;background:#1a1e24;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.company-detail-container .detail-select:focus,.company-detail-container .detail-select:hover{border-color:#3b82f6}.company-detail-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.company-detail-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.company-detail-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-detail-container .btn-secondary:hover{background:#3d4349}.company-detail-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-detail-container .btn-primary:hover{background:#2563eb}.company-detail-container::-webkit-scrollbar{height:8px;width:8px}.company-detail-container::-webkit-scrollbar-track{background:#1a1e24}.company-detail-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.company-detail-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.company-detail-container .detail-grid{grid-template-columns:1fr}.company-detail-container .company-profile-card{align-items:flex-start;flex-direction:column}.company-detail-container .company-profile-meta{border-left:none;border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.company-detail-container .company-detail-content{padding:20px}.company-detail-container .company-detail-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.company-detail-container .company-detail-header-left{width:100%}.company-detail-container .company-detail-header-right{justify-content:flex-end;width:100%}.company-detail-container .company-profile-card{padding:16px}.company-detail-container .form-actions{flex-direction:column}.company-detail-container .btn-primary,.company-detail-container .btn-secondary{width:100%}}.notfound-container{align-items:center;background-color:#1a1e24;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.notfound-container .notfound-content{align-items:center;display:flex;flex-direction:column;gap:24px;max-width:600px;text-align:center;width:100%}.notfound-container .notfound-icon{animation:float 3s ease-in-out infinite;margin-bottom:16px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.notfound-container .notfound-code{color:#3b82f6;font-family:Inter,sans-serif;font-size:96px;font-style:normal;font-weight:900;letter-spacing:-4px;line-height:1;margin:0;text-shadow:0 0 40px #3b82f64d}.notfound-container .notfound-title{color:#fff;font-family:Inter,sans-serif;font-size:32px;font-style:normal;font-weight:700;line-height:40px;margin:0}.notfound-container .notfound-message{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0;max-width:400px}.notfound-container .notfound-path{align-items:center;background:#111418;border:1px solid #2d3339;border-radius:8px;color:#6b7280;display:flex;gap:8px;margin-top:8px;padding:12px 20px}.notfound-container .notfound-path svg{color:#6b7280;flex-shrink:0}.notfound-container .notfound-path-text{color:#9ca3af;font-family:JetBrains Mono,Courier New,monospace;font-size:14px;font-style:normal;font-weight:400;line-height:20px;word-break:break-all}.notfound-container .notfound-actions{display:flex;gap:12px;margin-top:16px}.notfound-container .notfound-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:12px 24px;transition:all .2s ease}.notfound-container .notfound-btn svg{height:16px;width:16px}.notfound-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;color:#fff}.notfound-container .btn-secondary:hover{background:#3d4349;box-shadow:0 4px 12px #2d333966;transform:translateY(-2px)}.notfound-container .btn-primary{background:#3b82f6;color:#fff}.notfound-container .btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.notfound-container .notfound-btn:active{transform:translateY(0)}@media (max-width:768px){.notfound-container .notfound-code{font-size:72px}.notfound-container .notfound-title{font-size:24px;line-height:32px}.notfound-container .notfound-message{font-size:14px;line-height:20px}.notfound-container .notfound-actions{flex-direction:column;width:100%}.notfound-container .notfound-btn{justify-content:center;width:100%}}@media (max-width:480px){.notfound-container .notfound-code{font-size:64px}.notfound-container .notfound-icon svg{height:80px;width:80px}}
/*# sourceMappingURL=main.2f7bc61b.css.map*/