.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}:root{--bg:#f4f6f8;--surface:#fff;--surface-alt:#f8fafb;--sidebar:#191d24;--sidebar-muted:#a9b0bb;--text:#171a1f;--muted:#667085;--border:#d9dee5;--border-strong:#b9c1cc;--primary:#176b58;--primary-hover:#105344;--healthy:#087a55;--healthy-bg:#e8f7f0;--warning:#9a5a00;--warning-bg:#fff1cc;--danger:#b42318;--danger-bg:#ffe2df;--danger-strong-bg:#ffc8c2;--focus:#176b5840;--sidebar-width:264px;--sidebar-collapsed-width:96px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:var(--bg);min-height:100vh;color:var(--text);letter-spacing:0;font-size:15px}button,input,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}.remote-link{color:var(--primary);cursor:pointer;font-weight:800}.remote-link:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.ops-boot{min-height:100vh;color:var(--muted);place-items:center;font-weight:700;display:grid}.icon-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:4px;flex:0 0 40px;place-items:center;padding:0;transition:border-color .15s,background-color .15s,color .15s;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-alt);color:var(--primary)}.icon-button:disabled{opacity:.42;cursor:default}.icon-button svg,.primary-button svg,.table-action svg,.nav-link svg{flex:none;display:block}.primary-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;display:inline-flex}.primary-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.primary-button:disabled{opacity:.6;cursor:wait}.brand-icon{background:var(--primary);color:#fff;border-radius:6px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:inline-grid}.login-page{background:var(--surface);grid-template-columns:minmax(360px,520px) minmax(0,1fr);min-height:100vh;display:grid}.login-form-panel{border-right:1px solid var(--border);justify-content:center;align-items:center;padding:40px;display:flex}.login-form-wrap{width:min(100%,380px)}.login-brand{align-items:center;gap:12px;margin-bottom:64px;display:flex}.login-brand div:last-child{flex-direction:column;gap:2px;display:flex}.login-brand strong{font-size:19px;font-weight:900}.login-brand span{color:var(--muted);font-size:13px;font-weight:700}.login-brand .brand-icon{color:#fff}.login-heading{margin-bottom:28px}.login-heading h1{margin:0;font-size:30px;font-weight:900;line-height:1.25}.login-heading p{color:var(--muted);margin:9px 0 0;font-size:15px}.login-form{flex-direction:column;display:flex}.field-label{margin:0 0 8px;font-size:14px;font-weight:800}.field-label:not(:first-child){margin-top:19px}.text-input{border:1px solid var(--border-strong);width:100%;height:48px;color:var(--text);background:#fff;border-radius:4px;padding:0 14px;font-size:16px}.text-input:focus{border-color:var(--primary);outline:3px solid var(--focus)}.password-field{position:relative}.password-field .text-input{padding-right:50px}.password-toggle{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.remember-control-row{flex-wrap:wrap;gap:18px;margin-top:16px;display:flex}.remember-control{width:fit-content;color:var(--muted);cursor:pointer;align-items:center;gap:9px;font-size:14px;font-weight:700;display:inline-flex}.remember-control input{width:18px;height:18px;accent-color:var(--primary)}.form-error{border-left:4px solid var(--danger);background:var(--danger-bg);color:#851b13;margin:16px 0 0;padding:11px 12px;font-size:14px;font-weight:700}.login-submit{border-radius:4px;width:100%;min-height:50px;margin-top:24px;font-size:16px}.login-context-panel{background:#e9eef1;align-items:flex-end;padding:clamp(36px,6vw,84px);display:flex}.login-context-content{width:min(100%,680px)}.login-context-content>svg{color:var(--primary)}.login-context-content h2{max-width:650px;margin:24px 0 34px;font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1.22}.login-context-content dl{border-top:1px solid var(--border-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.login-context-content dl div{padding:20px 16px 0 0}.login-context-content dt{color:var(--muted);font-size:13px;font-weight:800}.login-context-content dd{margin:7px 0 0;font-size:15px;font-weight:900}.app-shell{min-height:100vh}.app-sidebar{z-index:40;width:var(--sidebar-width);background:var(--sidebar);color:#fff;flex-direction:column;transition:width .18s,transform .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar-header{border-bottom:1px solid #303640;align-items:center;gap:8px;min-height:76px;padding:0 14px;display:flex}.sidebar-home{color:#fff;border-radius:5px;flex:1;align-items:center;gap:11px;min-width:0;display:flex}.sidebar-home:hover .brand-icon{background:#1e846e}.sidebar-home:hover .brand-text strong{color:#dff7ef}.sidebar-home .brand-icon{flex-basis:40px;width:40px;height:40px;transition:background-color .15s}.brand-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.brand-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:900;overflow:hidden}.brand-text span{color:var(--sidebar-muted);font-size:12px;font-weight:700}.sidebar-close,.sidebar-collapse{color:#fff;background:0 0;border-color:#3a414d;display:none}.sidebar-close:hover:not(:disabled),.sidebar-collapse:hover:not(:disabled){color:#fff;background:#292f38;border-color:#687383}.sidebar-collapse{flex-basis:36px;width:36px;height:36px;display:inline-grid}.sidebar-nav{flex:1;padding:24px 12px}.sidebar-nav>p{color:var(--sidebar-muted);text-transform:uppercase;margin:0 10px 10px;font-size:11px;font-weight:900}.nav-link{color:#d9dee5;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 13px;font-size:15px;font-weight:800;display:flex}.nav-link svg{width:21px;height:21px}.nav-link:hover{color:#fff;background:#292f38}.nav-link.active{color:#0b5141;background:#e4f2ed}.sidebar-account{border-top:1px solid #303640;padding:14px 12px 18px}.account-summary{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.account-icon{color:#cbd2db;border:1px solid #454d59;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.account-summary>span:last-child{flex-direction:column;min-width:0;display:flex}.account-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.account-summary small{color:var(--sidebar-muted);margin-top:2px;font-size:11px}.logout-button{text-align:left;background:0 0}.sidebar-backdrop{display:none}.app-workspace{min-width:0;margin-left:var(--sidebar-width);transition:margin-left .18s}.sidebar-is-collapsed .app-sidebar{width:var(--sidebar-collapsed-width)}.sidebar-is-collapsed .app-workspace{margin-left:var(--sidebar-collapsed-width)}.sidebar-is-collapsed .sidebar-header{justify-content:center;gap:4px;padding:0 8px}.sidebar-is-collapsed .sidebar-home{flex:0 0 40px;justify-content:center}.sidebar-is-collapsed .brand-text,.sidebar-is-collapsed .sidebar-nav>p,.sidebar-is-collapsed .nav-link span,.sidebar-is-collapsed .account-summary>span:last-child,.sidebar-is-collapsed .logout-button span{display:none}.sidebar-is-collapsed .sidebar-collapse{border-color:#454d59}.sidebar-is-collapsed .sidebar-nav{padding-inline:20px}.sidebar-is-collapsed .nav-link{justify-content:center;width:56px;margin-inline:auto;padding:0}.sidebar-is-collapsed .account-summary{justify-content:center;padding-inline:0}.app-topbar{z-index:30;border-bottom:1px solid var(--border);background:#fffffff7;align-items:center;gap:12px;height:64px;padding:0 22px;display:flex;position:sticky;top:0}.mobile-menu{display:none}.topbar-title{flex:1;align-items:baseline;gap:10px;display:flex}.topbar-title strong{font-size:16px;font-weight:900}.topbar-title span{color:var(--muted);font-size:12px;font-weight:700}.topbar-user{color:#3b4350;align-items:center;gap:8px;font-size:14px;font-weight:800;display:inline-flex}.app-content{width:100%;max-width:none;padding:24px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.page-heading h1{margin:0;font-size:27px;font-weight:900;line-height:1.2}.page-heading p{color:var(--muted);margin:6px 0 0;font-size:14px;font-weight:700}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.updated-chip{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--muted);white-space:nowrap;align-items:center;padding:0 11px;font-size:13px;font-weight:700;display:inline-flex}.agent-install-button{background:var(--surface);color:#344357;cursor:pointer;white-space:nowrap;border:1px solid #708195;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-weight:850;display:inline-flex}.agent-install-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#edf7f3}.agent-install-button:disabled{opacity:.55;cursor:wait}.agent-install-button svg{flex:none;display:block}.refresh-button{min-height:38px}.spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.metric-strip{border:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;display:grid}.metric-item{border-right:1px solid var(--border);align-items:center;gap:12px;min-height:78px;padding:14px 18px;display:flex}.metric-item:last-child{border-right:0}.metric-dot{background:#3577b8;border-radius:50%;flex:0 0 11px;width:11px;height:11px}.metric-dot.healthy{background:var(--healthy)}.metric-dot.warning{background:#d48a0b}.metric-dot.danger{background:var(--danger)}.metric-item>span:last-child{flex-direction:column;gap:3px;display:flex}.metric-item small{color:var(--muted);font-size:12px;font-weight:800}.metric-item strong{font-size:22px;font-weight:900;line-height:1}.content-error{border-left:4px solid var(--danger);background:var(--danger-bg);color:#851b13;margin:0 0 14px;padding:12px 14px;font-weight:800}.table-section{border:1px solid var(--border);background:var(--surface);min-width:0}.table-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:12px 16px;display:flex}.table-toolbar h2{margin:0;font-size:17px;font-weight:900}.table-toolbar-actions{align-items:center;gap:10px;display:flex}.excel-action{color:#176238;border-color:#5e9f70}.excel-action:hover{background:#edf7f0}.page-size-control{color:var(--muted);white-space:nowrap;align-items:center;gap:9px;font-size:13px;font-weight:800;display:inline-flex}.page-size-control select{border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--text);padding:0 30px 0 10px;font-weight:700}.pc-tabs{border-bottom:1px solid var(--border);background:var(--surface-alt);flex-wrap:wrap;gap:6px;padding:12px 16px;display:flex}.pc-tabs button{border:1px solid var(--border);background:var(--surface);color:#3c4653;cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-height:36px;padding:0 13px;font-size:13px;font-weight:900;display:inline-flex}.pc-tabs button:hover{border-color:var(--primary);color:var(--primary)}.pc-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.pc-tabs small{color:#536071;background:#edf1f4;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:900;display:inline-grid}.pc-tabs button.active small{color:#fff;background:#fff3}.status-tabs{border-bottom:1px solid var(--border);background:var(--surface);gap:0;padding:10px 16px;display:flex}.status-tabs button{border:1px solid var(--border-strong);background:var(--surface);color:#46505d;cursor:pointer;min-width:82px;height:34px;padding:0 14px;font-size:13px;font-weight:900}.status-tabs button+button{margin-left:-1px}.status-tabs button:hover{border-color:var(--primary);color:var(--primary);position:relative}.status-tabs button.active{z-index:1;border-color:var(--primary);background:var(--primary);color:#fff;position:relative}.status-tabs button.status-tab-danger.active{border-color:var(--danger);background:var(--danger)}.table-scroll{overscroll-behavior-inline:contain;width:100%;overflow-x:auto}.monitor-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;min-width:1780px}.monitor-table th{border-bottom:1px solid var(--border);color:#2d3540;text-align:left;white-space:nowrap;background:#edf1f4;height:46px;padding:0 10px;font-size:14px;font-weight:900}.monitor-table td{background:var(--surface);height:58px;color:var(--text);vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e7ebef;padding:8px 10px;font-size:15px;font-weight:650}.monitor-table tbody tr:last-child td{border-bottom:0}.monitor-table tbody tr:hover td{filter:brightness(.985)}.monitor-table .status-warning td{background:var(--warning-bg)}.monitor-table .status-danger td{background:var(--danger-strong-bg);color:#6f130d}.monitor-table .status-warning td:first-child{box-shadow:inset 4px 0 #d48a0b}.monitor-table .status-danger td:first-child{box-shadow:inset 4px 0 0 var(--danger)}.sort-button{width:100%;height:44px;color:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:inline-flex}.sort-button svg{color:#929ba7}.sort-button svg.active{color:var(--primary)}.column-select{width:40px;min-width:40px;text-align:center!important}.column-select input,td.column-select input{cursor:pointer;width:17px;height:17px}.column-pcNm{min-width:150px}.column-anydeskId,.column-rustdeskId{min-width:120px}.column-officeLocation{min-width:145px}.column-pcMac,.column-oldMac{min-width:155px}.column-pcIp,.column-oldPcIp{min-width:130px}.column-gapDt{min-width:94px}.column-upDt,.column-lastUpDt,.column-regDt{min-width:154px}.column-agentVersion{min-width:145px}.column-actions{min-width:430px;text-align:center!important}.sticky-name{z-index:5;position:sticky;left:0}thead .column-pcNm{z-index:8;position:sticky;left:0}.pc-name{align-items:center;gap:7px;font-weight:900;display:flex}.pc-name i{background:var(--healthy);border-radius:50%;flex:0 0 9px;width:9px;height:9px}.pc-name i.warning{background:#d48a0b}.pc-name i.danger{background:var(--danger)}.column-pcNm small{color:var(--muted);margin:4px 0 0 16px;font-size:12px;font-weight:700;display:block}.agent-state{background:var(--healthy-bg);border:1px solid #9bc8b9;border-radius:999px;align-items:center;width:fit-content;min-height:22px;padding:0 7px;color:var(--healthy)!important;margin-top:5px!important;font-size:11px!important;font-weight:900!important;display:inline-flex!important}.agent-state.pending{background:#fff7e2;border-color:#e5c16d;color:var(--warning)!important}.agent-state.unsupported{background:#f1f3f5;border-color:#c4cad2;color:#596474!important}.agent-version-cell .agent-state{margin-top:0!important}.agent-platform{margin-top:4px;display:block;color:var(--muted)!important;font-size:11px!important;font-weight:800!important}.mono{font-variant-numeric:tabular-nums;font-family:Roboto Mono,Consolas,Malgun Gothic,monospace;font-size:13px!important}.date-cell{font-size:12px!important}.cell-subtext{max-width:150px;color:var(--muted);text-overflow:ellipsis;margin-top:4px;font-size:12px;font-weight:600;display:block;overflow:hidden}.manual-source{color:#8a3b33;text-overflow:ellipsis;white-space:nowrap;max-width:170px;margin-top:4px;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif;font-size:11px;font-weight:850;display:block;overflow:hidden}.status-chip{background:var(--healthy-bg);min-width:56px;min-height:28px;color:var(--healthy);border:1px solid #a7d9c7;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.status-chip.warning{color:var(--warning);background:#fff7e2;border-color:#e5c16d}.status-chip.danger{color:var(--danger);background:#fff0ee;border-color:#e7aaa4}.action-cell{text-align:center;white-space:normal;height:auto;min-height:58px}.action-buttons{flex-wrap:wrap;justify-content:center;gap:6px;max-width:260px;margin:0 auto;display:flex}.table-action{border:1px solid var(--border-strong);background:var(--surface);color:#485260;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-width:74px;height:36px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.table-action.edit-action{color:#354052;border-color:#9aa6b5}.table-action.edit-action:hover{background:#edf1f4}.table-action.download-action{color:var(--primary);border-color:#75aa9e}.table-action.download-action:hover{background:#e8f4f1}.table-action.update-action{color:#245f99;border-color:#6e94bd}.table-action.update-action:hover:not(:disabled){background:#edf5fc}.table-action:disabled{opacity:.45}.table-message{text-align:center;height:180px!important;color:var(--muted)!important;font-size:14px!important}.mobile-card-list{display:none}.table-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:10px 16px;display:flex}.table-footer>span{color:var(--muted);font-size:13px;font-weight:700}.pagination{align-items:center;gap:4px;display:flex}.pagination button{border:1px solid var(--border);background:var(--surface);color:#46505d;cursor:pointer;place-items:center;min-width:34px;height:34px;padding:0 7px;font-size:13px;font-weight:800;display:inline-grid}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination button.active{border-color:var(--primary);background:var(--primary);color:#fff}.pagination button:disabled{color:#b7bec7;cursor:default}.modal-backdrop{z-index:70;background:#0f121794;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.manual-modal{border:1px solid var(--border);background:var(--surface);width:min(100%,560px);max-height:min(720px,100vh - 40px);overflow:auto;box-shadow:0 18px 45px #0f121742}.manual-modal-head{z-index:1;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex;position:sticky;top:0}.manual-modal-head h2{margin:0;font-size:19px;font-weight:900}.manual-modal-head p{color:var(--muted);margin:5px 0 0;font-size:13px;font-weight:800}.manual-form{gap:13px;padding:18px;display:grid}.screen-modal{border:1px solid var(--border);background:var(--surface);flex-direction:column;width:min(100%,960px);max-height:min(760px,100vh - 40px);display:flex;overflow:hidden;box-shadow:0 18px 45px #0f121742}.screen-modal.is-fullscreen{width:calc(100vw - 40px);max-width:calc(100vw - 40px);height:calc(100vh - 40px);max-height:calc(100vh - 40px)}.screen-modal-body{background:#0d0f12;flex:1;place-items:center;min-height:360px;display:grid;position:relative;overflow:auto}.screen-modal-image{object-fit:contain;max-width:100%;max-height:min(680px,100vh - 140px);display:block}.screen-modal.is-fullscreen .screen-modal-image{max-height:calc(100vh - 100px)}.screen-modal-status{color:#b7bec9;text-align:center;margin:0;padding:24px;font-size:14px;font-weight:700}.screen-modal-status.overlay{background:#0d0f12b8;place-items:center;margin:0;display:grid;position:absolute;inset:0}.terminal-modal{width:min(100%,1040px)}.terminal-container{background:#0d0f12;flex:1;min-height:420px;padding:10px}.terminal-container .xterm{height:100%}.manual-field{gap:6px;display:grid}.manual-field span{font-size:13px;font-weight:900}.manual-field small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:750}.manual-field input,.manual-field select,.manual-field textarea{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#fff;border-radius:4px;padding:0 11px;font-size:14px;font-weight:700}.manual-field input,.manual-field select{height:42px}.manual-field textarea{resize:vertical;padding-top:10px;padding-bottom:10px;font-family:inherit}.manual-field input:focus,.manual-field select:focus,.manual-field textarea:focus{border-color:var(--primary);outline:3px solid var(--focus)}.manual-field input:disabled{color:var(--muted);background:#eef1f4}.manual-field-checkbox{align-items:center;gap:9px;font-size:13px;font-weight:900;display:flex}.manual-field-checkbox input{width:17px;height:17px}.install-status-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-block}.install-status-installing{background:var(--warning-bg);color:#8a5a00}.install-status-success{color:var(--primary);background:#dff3ec}.install-status-failed{background:var(--danger-bg);color:var(--danger)}.vpn-badge{color:#2c5cc5;vertical-align:middle;background:#e8eefc;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.manual-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.account-management{min-width:0}.account-metrics .metric-item>svg{color:var(--primary)}.account-toolbar{align-items:center}.account-search{border:1px solid var(--border-strong);background:var(--surface);width:min(100%,360px);height:40px;color:var(--muted);align-items:center;gap:8px;padding:0 11px;display:flex}.account-search:focus-within{border-color:var(--primary);outline:3px solid var(--focus)}.account-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:14px}.account-table-wrap{width:100%;overflow-x:auto}.account-table{border-collapse:collapse;width:100%;min-width:980px}.account-table th{border-bottom:1px solid var(--border);color:#2d3540;text-align:left;white-space:nowrap;background:#edf1f4;height:46px;padding:0 14px;font-size:14px;font-weight:900}.account-table td{min-height:58px;color:var(--text);vertical-align:middle;border-bottom:1px solid #e7ebef;padding:12px 14px;font-size:15px;font-weight:700}.account-table td>strong,.account-table td>small{display:block}.account-table td>small{color:var(--primary);margin-top:3px;font-size:11px;font-weight:900}.account-table tbody tr:last-child td{border-bottom:0}.role-chip,.account-status{color:#344357;white-space:nowrap;background:#edf2f7;border:1px solid #a8b7c7;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.role-chip.admin{color:#0d654f;background:#e6f4ef;border-color:#83b7a9}.role-chip.manager{color:#315f93;background:#eaf1f9;border-color:#90acd0}.role-chip.guest{color:#596474;background:#f2f4f6;border-color:#b9c1cc}.account-status{background:var(--healthy-bg);color:var(--healthy);border-color:#9bc8b9}.account-status.locked{background:var(--danger-bg);color:var(--danger);border-color:#e0a49e}.account-actions{align-items:center;gap:6px;display:flex}.account-actions .icon-button{width:36px;height:36px}.danger-icon{color:var(--danger)}.danger-icon:disabled{opacity:.35;cursor:default}.account-card-list{display:none}.account-modal{width:min(100%,620px)}.switch-field{border:1px solid var(--border);background:var(--surface-alt);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 12px;display:flex}.switch-field>span{flex-direction:column;gap:3px;min-width:0;display:flex}.switch-field strong{font-size:13px}.switch-field small{color:var(--muted);font-size:12px}.switch-field input{width:20px;height:20px;accent-color:var(--primary);flex:0 0 20px}.danger-action{color:var(--danger);border-color:#d98f88}.danger-action:hover:not(:disabled){background:var(--danger-bg)}.primary-action{color:var(--primary);border-color:#75aa9e}.primary-action:hover:not(:disabled){background:#e8f4f1}.pending-action{color:var(--warning);background:#fff7e2;border-color:#e0b75b}.vpn-table-wrap{width:100%;overflow-x:auto}.vpn-table{border-collapse:collapse;width:100%;min-width:820px}.vpn-table th{border-bottom:1px solid var(--border);color:#2d3540;text-align:left;white-space:nowrap;background:#edf1f4;height:46px;padding:0 14px;font-size:14px;font-weight:900}.vpn-table td{min-height:58px;color:var(--text);vertical-align:middle;border-bottom:1px solid #e7ebef;padding:12px 14px;font-size:15px;font-weight:700}.vpn-table tbody tr:last-child td{border-bottom:0}.vpn-detail{color:var(--muted);font-size:13px;font-weight:700}.vpn-type-chip{border:1px solid var(--border-strong);background:var(--surface-alt);color:#344357;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.vpn-status{color:#344357;white-space:nowrap;background:#edf2f7;border:1px solid #a8b7c7;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.vpn-status.connected{background:var(--healthy-bg);color:var(--healthy);border-color:#9bc8b9}.vpn-status.disconnected{color:#596474;background:#f2f4f6;border-color:#b9c1cc}.vpn-status.unavailable{background:var(--danger-bg);color:var(--danger);border-color:#e0a49e}.vpn-card-list{display:none}.xcp-host-section{flex:none}.xcp-host-list{flex-wrap:nowrap;gap:10px;padding:10px 16px;display:flex;overflow-x:auto}.xcp-host-message{color:var(--muted);margin:0;padding:8px 0;font-size:14px;font-weight:800}.xcp-host-chip{border:1px solid var(--border-strong);background:var(--surface);min-height:46px;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:10px;padding:7px 14px;font-family:inherit;display:flex}.xcp-host-chip:hover{border-color:var(--primary);background:var(--surface-alt)}.xcp-host-chip.active{border-color:var(--primary);color:var(--primary);background:#e8f4f1}.xcp-host-chip>span{flex-direction:column;gap:3px;min-width:0;display:flex}.xcp-host-chip strong{overflow-wrap:anywhere;font-size:15px;font-weight:900}.xcp-host-chip small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:750}.console-modal{width:min(100%,1180px);max-height:min(860px,100vh - 40px)}.console-modal-body{background:#0d0f12;flex:1;min-height:460px;display:flex;position:relative;overflow:hidden}.console-container{flex:1;min-width:0}.xcp-console{flex-direction:column;gap:14px;height:calc(100vh - 160px);min-height:480px;display:flex}.xcp-split{flex:1;align-items:stretch;gap:16px;min-height:0;display:flex}.xcp-split-left{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;flex-direction:column;flex:0 0 380px;min-width:320px;display:flex;overflow:hidden}.xcp-split-right{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.xcp-vm-list{flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.xcp-vm-message{color:var(--muted);text-align:center;padding:24px 16px;font-size:14px;font-weight:800}.xcp-vm-row{border-bottom:1px solid var(--border)}.xcp-vm-row:last-child{border-bottom:0}.xcp-vm-row-button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:11px 16px;font-family:inherit;display:flex}.xcp-vm-row-button:hover{background:var(--surface-alt)}.xcp-vm-row-button:disabled{cursor:not-allowed;opacity:.6}.xcp-vm-row.active .xcp-vm-row-button{color:var(--primary);background:#e8f4f1}.xcp-vm-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.xcp-vm-name strong{overflow-wrap:anywhere;font-size:14px;font-weight:900}.xcp-vm-name small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:650}.console-panel-head{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.console-panel-head h2{margin:0;font-size:15px;font-weight:900}.console-panel-head p{color:var(--muted);margin:2px 0 0;font-size:12px;font-weight:700}.console-panel-actions{align-items:center;gap:8px;display:flex}.screen-modal-status.static{background:0 0;height:100%;position:static}@media (width<=991px){.xcp-split{flex-direction:column;min-height:0}.xcp-split-left{flex:none}.xcp-split-right{min-height:420px}}@media (width<=1199px){.app-content{padding:18px}.metric-item{padding-inline:14px}}@media (width<=991px){:root{--sidebar-width:296px}.login-page{grid-template-columns:minmax(340px,460px) 1fr}.login-form-panel{padding:30px}.login-context-panel{padding:42px}.login-context-content dl{grid-template-columns:1fr}.login-context-content dl div{padding-top:14px}.app-sidebar{width:min(var(--sidebar-width), calc(100vw - 44px));transition:transform .2s;transform:translate(-100%)}.sidebar-is-collapsed .app-sidebar{width:min(var(--sidebar-width), calc(100vw - 44px))}.sidebar-is-open .app-sidebar{transform:translate(0)}.sidebar-close{display:inline-grid}.sidebar-collapse{display:none}.sidebar-is-collapsed .brand-text,.sidebar-is-collapsed .sidebar-nav>p,.sidebar-is-collapsed .nav-link span,.sidebar-is-collapsed .account-summary>span:last-child,.sidebar-is-collapsed .logout-button span{display:flex}.sidebar-is-collapsed .sidebar-nav>p{display:block}.sidebar-is-collapsed .sidebar-header{justify-content:flex-start;gap:8px;padding:0 14px}.sidebar-is-collapsed .sidebar-home{flex:1;justify-content:flex-start}.sidebar-is-collapsed .nav-link{justify-content:flex-start;padding:0 13px}.sidebar-is-collapsed .app-workspace{margin-left:0}.sidebar-backdrop{z-index:35;visibility:hidden;opacity:0;background:#0f1217b3;transition:opacity .2s,visibility .2s;display:block;position:fixed;inset:0}.sidebar-is-open .sidebar-backdrop{visibility:visible;opacity:1}.app-workspace{margin-left:0}.mobile-menu{display:inline-grid}.app-topbar{height:60px;padding:0 14px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-item:nth-child(2){border-right:0}.metric-item:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (width<=767px){.login-page{display:block}.login-form-panel{border-right:0;min-height:100vh;padding:28px 20px}.login-form-wrap{width:100%;max-width:420px}.login-brand{margin-bottom:48px}.login-heading h1{font-size:27px}.login-context-panel,.topbar-title span,.topbar-user span{display:none}.app-content{padding:14px 10px 22px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}.page-heading h1{font-size:23px}.heading-actions{justify-content:space-between;width:100%}.updated-chip{min-width:0;font-size:12px}.refresh-button{padding-inline:12px}.metric-item{min-height:70px;padding:12px}.metric-item strong{font-size:20px}.table-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.table-toolbar-actions,.page-size-control{justify-content:space-between;width:100%}.table-toolbar-actions .page-size-control{width:auto}.pc-tabs{flex-wrap:nowrap;padding:10px 12px;overflow-x:auto}.pc-tabs button{flex:none}.status-tabs{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 12px;display:grid}.status-tabs button{min-width:0;padding-inline:8px}.table-scroll{display:none}.mobile-card-list{background:#eef2f5;gap:10px;padding:10px;display:grid}.mobile-message{background:var(--surface);color:var(--muted);text-align:center;margin:0;padding:42px 14px;font-size:14px;font-weight:800}.monitor-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;gap:12px;padding:13px;display:grid}.monitor-card.status-warning{background:var(--warning-bg);border-color:#e5c16d}.monitor-card.status-danger{background:var(--danger-strong-bg);color:#6f130d;border-color:#d04a40}.monitor-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.monitor-card-head .pc-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px}.monitor-card-select{cursor:pointer;flex-shrink:0;width:17px;height:17px;margin-top:2px}.monitor-card-grid{grid-template-columns:1fr;gap:8px;margin:0;display:grid}.monitor-card-grid div{border-top:1px solid #78849447;grid-template-columns:92px minmax(0,1fr);gap:10px;padding-top:8px;display:grid}.monitor-card-grid dt{color:var(--muted);font-size:12px;font-weight:900}.monitor-card-grid dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:750}.monitor-card-grid dd small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:650;display:block}.monitor-card-grid dd small:first-of-type{color:#8a3b33;font-weight:850}.monitor-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.monitor-card-actions .table-action{min-width:86px}.table-footer{flex-direction:column;align-items:flex-start}.pagination{justify-content:space-between;width:100%;overflow-x:auto}.pagination button{min-width:38px;height:38px}.account-page-heading .primary-button{width:100%}.account-toolbar{align-items:stretch}.account-search{width:100%}.account-table-wrap{display:none}.account-card-list{background:#eef2f5;gap:10px;padding:10px;display:grid}.account-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:14px}.account-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.account-card header>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.account-card header strong{overflow-wrap:anywhere;font-size:16px}.account-card header small{color:var(--muted);font-size:12px;font-weight:750}.account-card dl{gap:8px;margin:14px 0;display:grid}.account-card dl div{border-top:1px solid var(--border);grid-template-columns:92px minmax(0,1fr);gap:10px;padding-top:8px;display:grid}.account-card dt{color:var(--muted);font-size:12px;font-weight:900}.account-card dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:750}.account-card footer{justify-content:flex-end;gap:8px;display:flex}.vpn-table-wrap{display:none}.vpn-card-list{background:#eef2f5;gap:10px;padding:10px;display:grid}.vpn-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:14px}.vpn-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.vpn-card header>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.vpn-card header strong{overflow-wrap:anywhere;font-size:16px}.vpn-card header small{color:var(--muted);font-size:12px;font-weight:750}.vpn-card dl{gap:8px;margin:14px 0;display:grid}.vpn-card dl div{border-top:1px solid var(--border);grid-template-columns:60px minmax(0,1fr);gap:10px;padding-top:8px;display:grid}.vpn-card dt{color:var(--muted);font-size:12px;font-weight:900}.vpn-card dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:750}.vpn-card footer{justify-content:flex-end;gap:8px;display:flex}}@media (width<=420px){.login-form-panel{padding-inline:16px}.topbar-user{display:none}.metric-strip{grid-template-columns:1fr 1fr}.metric-item{gap:9px;padding-inline:10px}.heading-actions{flex-direction:column;align-items:stretch}.updated-chip,.agent-install-button,.refresh-button{justify-content:center;width:100%}.table-toolbar{padding-inline:12px}.table-toolbar-actions{flex-direction:column;align-items:stretch}.table-toolbar-actions .table-action,.table-toolbar-actions .page-size-control{width:100%}.table-toolbar-actions .page-size-control select{min-width:92px}.table-footer{padding-inline:12px}.modal-backdrop{align-items:end;padding:0}.manual-modal,.screen-modal{border-width:1px 0 0;width:100%;max-height:88vh}.screen-modal.is-fullscreen{border-width:0;height:100vh;max-height:100vh}.manual-actions{grid-template-columns:1fr 1fr;display:grid}.manual-actions .table-action,.manual-actions .primary-button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
