.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef0f3;font-family:맑은 고딕,Malgun Gothic,sans-serif}.login-page *{box-sizing:border-box}.login-page .card{display:flex;width:792px;max-width:94vw;min-height:450px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px #14161a47}.login-page .brand{flex:0 0 320px;position:relative;padding:40px;color:#fff;background:linear-gradient(135deg,#1b1e24,#2c3038);overflow:hidden}.login-page .brand:after{content:"";position:absolute;left:-170px;bottom:-130px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ff43433d,#ff434300 70%)}.login-page .brand img{width:128px;position:relative;z-index:1}.login-page .brand h1{position:relative;z-index:1;font-size:26px;font-weight:700;line-height:1.25;margin:28px 0 0}.login-page .brand h1 span{display:block;color:#8c939d;font-weight:400}.login-page .brand .divider{position:relative;z-index:1;width:46px;height:3px;background:#ff4343;margin:20px 0}.login-page .brand .tagline{position:relative;z-index:1;font-size:13px;color:#9aa0a8}.login-page .brand .version{position:absolute;left:40px;bottom:40px;z-index:1;font-size:11.5px;color:#6b727b}.login-page .form-pane{flex:1;padding:56px 48px;display:flex;flex-direction:column;justify-content:center}.login-page .form-pane h2{margin:0;font-size:22px;font-weight:700;color:#171a1f}.login-page .form-pane .sub{margin:8px 0 28px;font-size:13px;color:#79808a}.login-page .field{margin-bottom:18px}.login-page .field label{display:block;font-size:12px;font-weight:700;color:#5a616b;margin-bottom:6px}.login-page .input-wrap{position:relative}.login-page .input-wrap .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9aa0a8;pointer-events:none}.login-page .input-wrap input{width:100%;height:44px;border-radius:8px;border:1px solid #dfe2e7;padding:0 14px 0 40px;font-size:14px;color:#171a1f;outline:none}.login-page .input-wrap input:focus{border-color:#ff4343}.login-page .input-wrap .toggle-pw{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9aa0a8;cursor:pointer;font-size:12px}.login-page .remember-row{display:flex;align-items:center;margin:-4px 0 18px}.login-page .remember-row input[type=checkbox]{width:15px;height:15px;margin-right:7px;cursor:pointer}.login-page .remember-row label{font-size:12.5px;color:#5a616b;cursor:pointer}.login-page .btn-login{margin-top:8px;width:100%;height:48px;border:none;border-radius:8px;background:linear-gradient(90deg,#ff4343,#ff6a5a);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.login-page .btn-login:hover{filter:brightness(1.03)}.login-page .btn-login:disabled{filter:grayscale(.4);cursor:wait}.login-page .alert{margin-bottom:16px;padding:10px 14px;border-radius:8px;background:#fdecec;color:#c22;font-size:13px}@media (max-width: 640px){.login-page{padding:20px 0;align-items:flex-start}.login-page .card{flex-direction:column;width:94vw;min-height:0}.login-page .brand{flex:0 0 auto;padding:24px 24px 20px}.login-page .brand img{width:72px}.login-page .brand h1{font-size:19px;margin-top:14px}.login-page .brand .version{position:static;margin-top:16px}.login-page .form-pane{padding:28px 24px 32px}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:#f4f5f7}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topnav{flex:0 0 auto;display:flex;align-items:stretch;height:56px;background:linear-gradient(90deg,#1b1e24,#22262d);color:#c7cbd1;position:relative;z-index:100}.topnav-brand{display:flex;align-items:center;gap:12px;padding:0 20px;color:#fff;text-decoration:none;font-size:15px;font-weight:700;border-right:3px solid #ff4343;flex-shrink:0}.topnav-brand img{width:32px;height:auto;flex-shrink:0;object-fit:contain}.topnav-menu{display:flex;flex:1;flex-wrap:nowrap}.topnav-item{position:relative;display:flex;align-items:center;flex:0 0 auto;padding:0 16px;font-size:13.5px;color:#c7cbd1;cursor:default;white-space:nowrap}.topnav-item:hover{background:#2c3038;color:#fff}.topnav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;background:#22262d;border-top:2px solid #ff4343;box-shadow:0 16px 28px #00000052;padding:6px 0}.topnav-item:hover .topnav-dropdown{display:block}.topnav-dropdown-wide{min-width:240px}.topnav-dropdown a{display:block;padding:9px 18px;color:#c7cbd1;text-decoration:none;font-size:13px;white-space:nowrap}.topnav-dropdown a:hover{background:#33373f;color:#fff}.topnav-dropdown a.active{color:#ff6a5a;font-weight:700}.topnav-dropdown .dropdown-separator{height:1px;background:#ffffff14;margin:6px 14px}.topnav-dropdown .menu-subcategory{padding:10px 18px 7px;margin-bottom:2px;font-size:11.5px;font-weight:700;color:#ff6a5a;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,106,90,.25)}.topnav-dropdown .menu-subcategory:first-child{padding-top:6px}.topnav-user{margin-left:auto;display:flex;align-items:center;gap:10px;padding:0 18px;font-size:12.5px;color:#9aa0a8}.topnav-user form{margin:0}.topnav-user button{background:none;border:1px solid #3a3f47;color:#c7cbd1;border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.topnav-user button:hover{background:#2c3038;color:#fff}.topnav-toggle{display:none;align-items:center;justify-content:center;width:44px;margin-left:auto;background:none;border:none;color:#fff;font-size:20px;cursor:pointer}@media (max-width: 1024px){.topnav{flex-wrap:wrap;height:auto;min-height:56px}.topnav-brand{border-right:none;padding:0 12px}.topnav-brand span{display:none}.topnav-toggle{display:flex}.topnav-user{margin-left:0;order:3;flex:1 1 100%;justify-content:flex-end;padding:8px 14px}.topnav-menu{display:none;flex-direction:column;flex-basis:100%;order:4;max-height:calc(100vh - 56px);overflow-y:auto;background:#1b1e24;border-top:1px solid rgba(255,255,255,.08)}.topnav-menu.open{display:flex}.topnav-item{flex-direction:column;align-items:stretch;padding:0}.topnav-item>span{padding:12px 18px;font-weight:700;color:#fff}.topnav-item:hover{background:none}.topnav-dropdown{display:block;position:static;min-width:0;box-shadow:none;border-top:none;background:#22262d;padding:2px 0 8px}.topnav-dropdown a{padding:10px 28px}}.main-pane{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tab-bar{flex:0 0 auto;display:flex;align-items:flex-end;gap:2px;height:44px;background:#eef0f3;border-bottom:1px solid #e7e9ec;padding:0 8px;overflow-x:auto;white-space:nowrap}.tab-bar-empty{display:flex;align-items:center;padding:0 12px;font-size:13px;color:#9aa0a8}.tab-item{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-top:6px;padding:0 8px 0 14px;height:38px;background:#fff;border:1px solid #e2e5ea;border-bottom:none;border-radius:8px 8px 0 0;font-size:13px;color:#5b6068;cursor:pointer}.tab-item:hover{color:#171a1f}.tab-item.active{color:#171a1f;font-weight:700;box-shadow:0 -2px #ff4343 inset}.tab-item-title{white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.tab-item-close{border:none;background:none;color:#9aa0a8;font-size:15px;line-height:1;cursor:pointer;padding:3px 6px;border-radius:4px}.tab-item-close:hover{background:#f1f2f4;color:#ff4343}.content-pane{flex:1;min-height:0;overflow-y:auto;padding:24px 28px}.content-pane h3{margin-top:0}.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:13.5px}.data-table th,.data-table td{border-bottom:1px solid #e7e9ec;padding:9px 12px;text-align:left;white-space:nowrap}.data-table th{background:#f7f8fa;color:#5a616b;font-weight:700}.data-table tr:hover td{background:#fbfbfc}.search-form{background:#fff;border:1px solid #e7e9ec;border-radius:8px;padding:16px;margin-bottom:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:end}.search-form .field{display:flex;flex-direction:column;font-size:12px;color:#5a616b}.search-form input,.search-form select{height:34px;border:1px solid #dfe2e7;border-radius:6px;padding:0 10px;font-size:13px;background:#fff}.search-form button{height:34px;padding:0 18px;border:none;border-radius:6px;background:#ff4343;color:#fff;font-weight:700;cursor:pointer}.search-form button.btn-excel{background:#1f8a4c}.search-form button.btn-secondary{background:#6b7280}.progress-modal-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0f111573;z-index:1000;align-items:center;justify-content:center}.progress-modal-backdrop.active{display:flex}.progress-modal{background:#fff;border-radius:14px;padding:28px 32px;min-width:260px;box-shadow:0 20px 50px #0000004d;text-align:center}.progress-modal p{margin:0 0 14px;font-size:13.5px;color:#334155;font-weight:600}.progress-bar{height:4px;width:100%;background:#eceef1;border-radius:2px;overflow:hidden}.progress-bar .progress-fill{height:100%;width:35%;background:linear-gradient(90deg,#ff4343,#ff6a5a);border-radius:2px;animation:progress-slide 1s infinite linear}@keyframes progress-slide{0%{transform:translate(-110%)}to{transform:translate(380%)}}.alert{background:#fdecec;color:#c22;border:1px solid #f5c2c2;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:13.5px}.dash-welcome{margin-bottom:20px}.dash-welcome h2{margin:0 0 6px;font-size:20px;font-weight:700;color:#171a1f}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:28px}.dash-card{background:#fff;border:1px solid #e2e5ea;border-radius:10px;padding:16px 18px}.dash-card-label{font-size:12.5px;color:#79808a}.dash-card-value{font-size:26px;font-weight:700;color:#171a1f;margin:6px 0 4px}.dash-card-note{font-size:11.5px;color:#aab0b8}.dash-section-title{font-size:14px;font-weight:700;color:#171a1f;margin:0}.dash-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-edit-btn{height:28px;padding:0 14px;border:1px solid #dfe2e7;border-radius:6px;background:#fff;color:#5a616b;font-size:12.5px;font-weight:700;cursor:pointer}.dash-edit-btn:hover{background:#f7f8fa}.dash-modal-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0f111573;z-index:1000;align-items:center;justify-content:center}.dash-modal-backdrop.active{display:flex}.dash-modal{background:#fff;border-radius:12px;width:560px;height:70vh;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;overflow:hidden}.dash-modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-weight:700;border-bottom:1px solid #e2e5ea}.dash-modal-close{border:none;background:none;font-size:18px;cursor:pointer;color:#79808a}.dash-modal-body{flex:1;min-height:0;padding:14px 18px;overflow-y:auto}.dash-modal-foot{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e2e5ea}.dash-btn{height:32px;padding:0 16px;border:none;border-radius:6px;background:#6b7280;color:#fff;font-weight:700;cursor:pointer}.site-dialog-modal{height:auto;max-height:none;width:360px}.site-dialog-modal #siteDialogMessage{margin:0;white-space:pre-line;line-height:1.6}.dash-btn-primary{background:#ff4343}.dash-btn-danger{background:#d9534f}.dash-catalog-count{margin-left:auto;margin-right:10px;font-size:11.5px;font-weight:700;color:#ff4343;background:#fff1f0;border-radius:999px;padding:3px 10px;white-space:nowrap}.dash-modal-search{flex:0 0 auto;padding:10px 18px;border-bottom:1px solid #e2e5ea}.dash-modal-search input{width:100%;height:34px;border:1px solid #dfe2e7;border-radius:6px;padding:0 12px;font-size:13px;box-sizing:border-box}.dash-catalog-group-title{font-size:11.5px;font-weight:700;color:#9aa0a8;text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px}#dashCatalogBody>.dash-catalog-group-title:first-child{margin-top:0}.dash-catalog-group{display:flex;flex-wrap:wrap;gap:8px}.dash-catalog-item{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid #dfe2e7;border-radius:999px;font-size:12.5px;color:#334155;cursor:pointer;background:#fff;transition:background .12s,border-color .12s,color .12s}.dash-catalog-item:hover{border-color:#c7cdd6;background:#f8fafc}.dash-catalog-item input{position:absolute;opacity:0;width:0;height:0}.dash-catalog-item .dash-catalog-check{display:none;font-size:11px}.dash-catalog-item.checked{background:#fff1f0;border-color:#ff4343;color:#ff4343;font-weight:700}.dash-catalog-item.checked .dash-catalog-check{display:inline}.dash-catalog-empty{font-size:12.5px;color:#9aa0a8;padding:20px 0;text-align:center}.dash-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.dash-link{display:block;background:#fff;border:1px solid #e2e5ea;border-left:3px solid #ff4343;border-radius:8px;padding:14px 16px;text-decoration:none;transition:box-shadow .15s,transform .15s}.dash-link:hover{box-shadow:0 6px 16px #14161a14;transform:translateY(-1px)}.dash-link-title{font-size:14px;font-weight:700;color:#171a1f}.dash-link-desc{font-size:12px;color:#9aa0a8;margin-top:4px}.report-card{background:#fff;border-radius:16px;box-shadow:0 4px 25px #0000000d;overflow:hidden}.report-toolbar{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.report-toolbar-title{font-size:1.1rem;font-weight:700;color:#1e293b}.report-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;border:1px solid #ff4343;background:#fff;color:#ff4343;font-size:13px;gap:6px}.report-pill strong{font-weight:800}.report-table-wrapper{position:relative;padding:0 1.5rem 1.25rem;overflow-x:auto;max-height:70vh;overflow-y:auto}.modern-table{width:100%;border-collapse:separate;border-spacing:0}.modern-table th{background:#f8fafc;padding:.8rem .75rem;text-align:right;font-size:.72rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;box-shadow:inset 0 -2px #e2e8f0;position:sticky;top:0;z-index:5;white-space:nowrap}.modern-table th:nth-child(-n+5){text-align:left}.modern-table td{padding:.7rem .75rem;border-bottom:1px solid #f1f5f9;font-size:.825rem;color:#334155;white-space:nowrap;text-align:right}.modern-table td:nth-child(-n+5){text-align:left}.modern-table tr:last-child td{border-bottom:none}.modern-table tr:hover td{background:#fbfcfe}.modern-table tr.row-paygroup-subtotal td{background:#e9ebee;font-weight:700}.modern-table tr.row-grand-total td{background:#22262d;color:#fff;font-weight:800}.topnav-user .topnav-user-link{color:#9aa0a8;font-size:12px;text-decoration:none;border:1px solid #3a3f47;border-radius:6px;padding:4px 9px}.topnav-user .topnav-user-link:hover{color:#fff;background:#2c3038}#nocRoot{display:flex;flex-direction:column;height:100%;min-height:560px}.noc-summary{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.noc-kpi{min-width:96px;background:#fff;border:1px solid #e2e5ea;border-left-width:4px;border-radius:8px;padding:8px 14px}.noc-kpi-label{font-size:12px;color:#79808a}.noc-kpi-value{font-size:22px;font-weight:700;color:#171a1f;margin-top:2px}.noc-kpi-ok{border-left-color:#1f9d55}.noc-kpi-warn{border-left-color:#e8930c}.noc-kpi-error{border-left-color:#e03131}.noc-kpi-nodata{border-left-color:#64748b}.noc-kpi-unsupported{border-left-color:#cbd2da}.noc-kpi-noip{border-left-color:#b8c0ca;border-left-style:dashed}.noc-kpi-alarm{border-left-color:#ff4343}.noc-kpi-error .noc-kpi-value.noc-hot{color:#e03131}.noc-kpi-warn .noc-kpi-value.noc-hot{color:#c77700}.noc-refresh{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12.5px;color:#5a616b}.noc-auto{display:flex;align-items:center;gap:5px;cursor:pointer}.noc-updated{color:#9aa0a8}.noc-btn{height:30px;padding:0 14px;border:1px solid #dfe2e7;border-radius:6px;background:#fff;color:#5a616b;font-size:12.5px;font-weight:700;cursor:pointer}.noc-btn:hover{background:#f7f8fa}.noc-btn-ack{height:24px;padding:0 10px;border:none;border-radius:5px;background:#ff4343;color:#fff;font-size:11.5px;font-weight:700;cursor:pointer}.noc-btn-ack:disabled{background:#cbd2da;cursor:default}.noc-layout{display:flex;flex:1;min-height:0;margin-top:14px;align-items:stretch}.noc-left{flex:0 0 360px;display:flex;flex-direction:column;min-height:0;margin-right:8px}.noc-right{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.noc-splitter{flex:0 0 8px;margin-right:8px;cursor:col-resize;position:relative}.noc-splitter:before{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:#e2e5ea;border-radius:1px}.noc-splitter:hover:before,.noc-splitter.noc-splitter-active:before{background:#ff8f82}.noc-splitter:after{content:"⋮";position:absolute;top:50%;left:4px;transform:translate(-50%,-50%);color:#9aa1aa;font-size:14px;line-height:1}.noc-splitter:hover:after,.noc-splitter.noc-splitter-active:after{color:#ff4343}body.noc-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.noc-resizing .noc-left,body.noc-resizing .noc-right{pointer-events:none}.noc-panel{background:#fff;border:1px solid #e2e5ea;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.noc-panel-fill{flex:1}.noc-panel-devices{flex:0 0 58%;min-height:140px}.noc-panel-alarms{flex:1 1 0;min-height:120px}.noc-hsplitter{flex:0 0 14px;cursor:row-resize;position:relative}.noc-hsplitter:before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:#e2e5ea;border-radius:1px}.noc-hsplitter:hover:before,.noc-hsplitter.noc-splitter-active:before{background:#ff8f82}.noc-hsplitter:after{content:"⋯";position:absolute;left:50%;top:7px;transform:translate(-50%,-50%);padding:0 6px;background:#f4f5f7;color:#9aa1aa;font-size:14px;line-height:1}.noc-hsplitter:hover:after,.noc-hsplitter.noc-splitter-active:after{color:#ff4343}body.noc-resizing-v{cursor:row-resize;-webkit-user-select:none;user-select:none}body.noc-resizing-v .noc-panel{pointer-events:none}.noc-table-wrap .data-table tr.noc-device-row{cursor:pointer}.noc-panel-title{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:700;color:#171a1f;background:#f8fafc;border-bottom:1px solid #e2e5ea}.noc-count{font-weight:400;color:#79808a}.noc-select{margin-left:auto;height:26px;border:1px solid #dfe2e7;border-radius:6px;font-size:12px;padding:0 6px;background:#fff}.noc-alarm-scope{margin-left:auto;font-weight:400;font-size:12px;color:#5a616b;display:flex;align-items:center;gap:4px;cursor:pointer}.noc-legend{margin-left:auto;font-weight:400;font-size:11.5px;color:#79808a;display:flex;align-items:center;gap:4px}.noc-legend .noc-dot{margin-left:8px}.noc-search-row{flex:0 0 auto;padding:8px 12px;border-bottom:1px solid #e2e5ea}.noc-search-row input{width:100%;box-sizing:border-box;height:30px;border:1px solid #dfe2e7;border-radius:6px;padding:0 10px;font-size:13px}.noc-empty{margin:0;padding:18px 14px;font-size:13px;color:#9aa0a8}.noc-theater-list{flex:1;min-height:0;overflow-y:auto}.noc-theater{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid #f0f1f3;cursor:pointer}.noc-theater:hover{background:#fbfbfc}.noc-theater.active{background:#fff4f2;box-shadow:inset 3px 0 #ff4343}.noc-theater-main{flex:1;min-width:0}.noc-theater-name{font-size:13.5px;font-weight:700;color:#171a1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noc-theater-sub{font-size:11.5px;color:#9aa0a8;margin-top:2px}.noc-theater-badges{display:flex;gap:4px;flex:0 0 auto}.noc-badge{min-width:20px;padding:1px 6px;border-radius:10px;font-size:11px;font-weight:700;text-align:center;color:#fff}.noc-badge-1{background:#e8930c}.noc-badge-2{background:#e03131}.noc-badge-3{background:#64748b}.noc-badge-offline{background:#b42318}.noc-badge-empty{background:#eef0f3;color:#9aa0a8;font-weight:400}.noc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto}.noc-s0{background:#1f9d55}.noc-s1{background:#e8930c}.noc-s2{background:#e03131;box-shadow:0 0 0 3px #e031312e}.noc-s3{background:#64748b}.noc-s9{background:#cbd2da}.noc-s8{background:#fff;border:2px dashed #9aa0a8;box-sizing:border-box}.noc-sx{background:transparent;border:1px dashed #cbd2da}.noc-status{display:inline-flex;align-items:center;gap:6px;font-weight:700}.noc-status-0{color:#1f9d55}.noc-status-1{color:#c77700}.noc-status-2{color:#e03131}.noc-status-3{color:#64748b}.noc-status-9{color:#9aa0a8;font-weight:400}.noc-status-8{color:#79808a;font-weight:400}.noc-support{font-size:11px;padding:1px 6px;border-radius:4px;border:1px solid #e2e5ea;color:#79808a;white-space:nowrap}.noc-support-2{border-color:#b7e4c7;color:#1f9d55}.noc-support-1{border-color:#f6d7a7;color:#c77700}.noc-support-0{border-color:#e2e5ea;color:#9aa0a8}.noc-table-wrap{flex:1;min-height:0;overflow:auto}.noc-table-wrap .data-table th{position:sticky;top:0;z-index:1}.noc-table-wrap .data-table td{font-size:13px}.noc-table-wrap .data-table td.noc-msg{white-space:normal;min-width:180px}.noc-table-wrap .data-table tr.noc-screen-row td{background:#f7f8fa;font-weight:700;color:#5a616b;font-size:12px;padding-top:6px;padding-bottom:6px}.noc-table-wrap .data-table tr.noc-row-2 td{background:#fff5f5}.noc-table-wrap .data-table tr.noc-row-1 td{background:#fffaf0}.noc-muted{color:#9aa0a8}.noc-mono{font-family:Consolas,D2Coding,monospace;font-size:12px}@media (max-width: 1024px){.noc-layout{flex-direction:column}.noc-left{flex:0 0 auto;height:320px;margin-right:0;margin-bottom:14px}.noc-splitter{display:none}.noc-right{min-height:640px}.noc-panel-devices{flex-basis:360px!important}.noc-hsplitter{display:none}.noc-refresh{margin-left:0;width:100%}}.adm-root{display:flex;flex-direction:column;height:100%;min-height:560px}.adm-search{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid #e7e9ec;border-radius:8px;padding:12px 14px}.adm-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5a616b}.adm-field input,.adm-field select,.adm-field textarea{height:32px;border:1px solid #dfe2e7;border-radius:6px;padding:0 10px;font-size:13px;background:#fff;font-family:inherit}.adm-field textarea{height:60px;padding:6px 10px;resize:vertical}.adm-field input[readonly]{background:#f7f8fa;color:#79808a}.adm-field .adm-hint{font-size:11px;color:#9aa0a8}.adm-btn{height:32px;padding:0 16px;border:none;border-radius:6px;background:#ff4343;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.adm-btn:disabled{background:#cbd2da;cursor:default}.adm-btn-sub{background:#6b7280}.adm-btn-line{background:#fff;color:#5a616b;border:1px solid #dfe2e7}.adm-btn-mini{height:24px;padding:0 10px;border:1px solid #dfe2e7;border-radius:5px;background:#fff;color:#5a616b;font-size:11.5px;font-weight:700;cursor:pointer}.adm-btn-mini:hover{background:#f7f8fa}.adm-btn-mini.adm-danger{color:#e03131;border-color:#f5c2c2}.adm-result{flex:1;min-height:0;margin-top:14px}.adm-form{padding:14px 16px;overflow-y:auto}.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px}.adm-grid .adm-wide{grid-column:1 / -1}.adm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}.adm-actions .adm-left{margin-right:auto;display:flex;gap:8px}.adm-section-title{display:flex;align-items:center;gap:8px;margin:18px 0 8px;font-size:13px;font-weight:700;color:#171a1f}.adm-section-title:first-child{margin-top:0}.adm-section-title .adm-btn-mini{margin-left:auto}.adm-tag{font-size:11px;padding:1px 7px;border-radius:10px;background:#eef0f3;color:#5a616b;font-weight:700}.adm-tag-n{background:#f1f2f4;color:#9aa0a8}.adm-tag-lock{background:#fdecec;color:#e03131}.adm-tag-admin{background:#fff0ee;color:#ff4343}.adm-row-unused td{color:#aab0b8}.adm-clickable tbody tr{cursor:pointer}.adm-clickable tbody tr.active td{background:#fff4f2}.adm-mono{font-family:Consolas,D2Coding,monospace;font-size:12px}.adm-modal{width:640px;max-width:94vw;height:auto;max-height:86vh}.adm-modal .dash-modal-body{overflow-y:auto;padding:16px 18px}.adm-modal-wide{width:960px}.adm-key-box{margin:10px 0;padding:10px 12px;background:#fff8e6;border:1px solid #f6d7a7;border-radius:8px;font-family:Consolas,D2Coding,monospace;font-size:13px;word-break:break-all;-webkit-user-select:all;user-select:all}.adm-detail-head{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:#5a616b;margin-bottom:12px}.adm-detail-head b{color:#171a1f}.adm-kv{width:100%;border-collapse:collapse;font-size:12.5px}.adm-kv td{border-bottom:1px solid #f0f1f3;padding:5px 8px}.adm-kv td:first-child{color:#79808a;width:40%}.adm-cards{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.adm-card{flex:1 1 140px;border:1px solid #e2e5ea;border-radius:8px;padding:8px 12px}.adm-card-label{font-size:11.5px;color:#79808a}.adm-card-value{font-size:18px;font-weight:700;color:#171a1f;margin-top:2px}.adm-timeline{width:100%;height:22px;display:block;border-radius:4px;overflow:hidden;background:#eef0f3}.adm-axis{display:flex;justify-content:space-between;font-size:11px;color:#9aa0a8;margin-top:3px}.adm-chart{width:100%;height:160px;display:block;border:1px solid #f0f1f3;border-radius:6px;background:#fff}.adm-chart-bar{display:flex;align-items:center;gap:8px;margin:14px 0 6px;font-size:12.5px;color:#5a616b}.adm-chart-bar select{height:26px;border:1px solid #dfe2e7;border-radius:6px;font-size:12px}.adm-card-form{max-width:420px;background:#fff;border:1px solid #e2e5ea;border-radius:10px;padding:20px 22px}.adm-card-form h3{margin:0 0 4px;font-size:16px}.adm-card-form p{margin:0 0 16px;font-size:12.5px;color:#79808a}.adm-card-form .adm-field{margin-bottom:12px}.adm-card-form .adm-field input{height:36px}.tab-page{height:100%}.tab-page[hidden]{display:none!important}.noc-live{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#9aa0a8;margin-right:6px}.noc-live:before{content:"";width:8px;height:8px;border-radius:50%;background:#9aa0a8}.noc-live-live{color:#5fd38d}.noc-live-live:before{background:#1f9d55;box-shadow:0 0 0 3px #1f9d5540}.noc-live-error{color:#f0a35a}.noc-live-error:before{background:#e8930c}.noc-support-click{border:none;font:inherit;cursor:pointer}.noc-support-click:hover{filter:brightness(.94);text-decoration:underline}.collect-state{display:inline-block;min-width:44px;padding:1px 6px;border-radius:10px;font-size:11px;font-weight:700;text-align:center}.collect-state-ok{background:#e3f5ea;color:#1f7a45}.collect-state-cond{background:#fff3dc;color:#a3620a}.collect-state-no{background:#eef0f3;color:#79808a}.collect-skip{margin:0 0 12px;padding:10px 12px;border-radius:6px;background:#fdecec;color:#b42323;font-size:13px}.collect-notes{margin:10px 0 0;padding-left:18px;font-size:12px;color:#5a616b;line-height:1.6}.app-booting{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#9aa0a8;font-size:13px;background:#f4f5f7}
