/* V7.3.10 — Scoped Console UX. Existing Admin and Customer themes are unchanged. */
body.vps-console-open{overflow:hidden!important}
.vps-console-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:rgba(12,27,49,.9);padding:min(1.6vh,14px);font-family:inherit;color:#152a4b;overflow:hidden;box-sizing:border-box}
.vps-console-overlay *,.vps-console-overlay *::before,.vps-console-overlay *::after{box-sizing:border-box}
.vps-console-overlay [hidden]{display:none!important}
.vps-console-frame{width:min(1760px,100%);height:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #bccde4;border-radius:16px;background:#fff;box-shadow:0 24px 70px #0008}
.vps-console-header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;gap:12px;min-height:65px;padding:10px 16px;background:#fff;border-bottom:1px solid #dbe5f2}
.vps-console-heading{display:flex;align-items:center;gap:12px;min-width:0}
.vps-console-heading strong{display:block;font-size:16px;font-weight:750;white-space:nowrap}
.vps-console-heading small{display:block;font-size:12px;color:#647a99;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:43vw}
.vps-console-icon{display:grid;place-items:center;border-radius:10px;width:40px;height:40px;background:#e8f1ff;color:#216ee9;font-size:22px}
.vps-console-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
.vps-console-overlay button{font-family:inherit;font-size:12px;line-height:1.3;border-radius:8px;background:#f8fbff;border:1px solid #cbdcf0;color:#16395d;padding:8px 10px;cursor:pointer;min-height:34px;transition:background .12s ease,border-color .12s ease}
.vps-console-overlay button:hover:not(:disabled){background:#e9f3ff;border-color:#95bae9}
.vps-console-overlay button:focus-visible,.vps-console-overlay textarea:focus-visible{outline:3px solid #2472df;outline-offset:2px}
.vps-console-overlay button:disabled{opacity:.5;cursor:not-allowed}
.vps-console-status{color:#aa760a;font-size:12px;font-weight:650}
.vps-console-status[data-state=connected]{color:#088451}
.vps-console-status[data-state=error]{color:#b63434}
.vps-console-toolbar{display:flex;flex:0 0 auto;align-items:center;gap:10px;min-height:52px;padding:6px 12px;background:#f5f8fd;border-bottom:1px solid #d8e4f3;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.vps-console-toolbar::-webkit-scrollbar{display:none}
.vps-console-tool-group{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.vps-console-tool-right{margin-left:auto}
.vps-console-toolbar button[aria-pressed=true],.vps-console-toolbar button[aria-expanded=true]{background:#dceaff;border-color:#8bb5ef;color:#0e4da2;font-weight:700}
.vps-console-zoom output{display:inline-flex;align-items:center;justify-content:center;min-width:78px;font-size:12px;font-weight:700;color:#274669;tabular-nums:lining-nums}
.vps-console-zoom button{min-width:36px;font-size:16px;padding:6px}
.vps-console-workspace{flex:1 1 auto;min-height:0;min-width:0;position:relative;display:flex;background:#000;overflow:hidden}
.vps-console-viewport{flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;position:relative;background:#000;color:#dce8f9;display:flex;justify-content:center;align-items:center;text-align:center;outline:0}
.vps-console-viewport>div:not([data-console-loading]){min-width:0;min-height:0}
/* noVNC manages the canvas size and input-coordinate mapping. Avoid max-width/max-height
   overriding its pixel scale, and hide cosmetic scrollbars in manual zoom mode. */
.vps-console-viewport canvas{max-width:none!important;max-height:none!important;image-rendering:auto}
.vps-console-viewport>div:not([data-console-loading]){scrollbar-width:none!important}
.vps-console-viewport>div:not([data-console-loading])::-webkit-scrollbar{display:none}
.vps-console-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:7px 14px;background:#f7faff;border-top:1px solid #dce6f1;color:#64758a;font-size:11px;min-height:30px}
.vps-console-footer [data-console-feedback]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vps-console-footer [data-console-transport]{flex:0 0 auto}
.vps-console-drawer{position:absolute;top:10px;right:10px;bottom:10px;width:min(390px,calc(100% - 20px));z-index:2;overflow-y:auto;background:#fff;box-shadow:0 12px 38px #0008;border:1px solid #c9d7e9;border-radius:12px;padding:15px 16px;color:#173352;text-align:left}
.vps-console-drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid #e1e8f3;margin-bottom:12px}
.vps-console-drawer-heading strong{font-size:15px}
.vps-console-drawer label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#284768}
.vps-console-drawer textarea{display:block;width:100%;resize:vertical;min-height:72px;max-height:220px;border:1px solid #b7c9df;border-radius:8px;padding:10px;font:13px/1.5 ui-monospace,Consolas,monospace;color:#173352;background:#fff}
.vps-console-drawer textarea[readonly]{background:#f5f8fc}
.vps-console-note{font-size:12px;line-height:1.55;color:#596f8a;margin:0 0 12px}
.vps-console-drawer-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.vps-console-remote-text{padding-top:12px;margin-top:12px;border-top:1px solid #e0e8f2}
.vps-console-remote-text button{margin-top:8px}
.vps-console-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vps-console-key-grid button:last-child{grid-column:1/-1}
@media(max-width:760px){.vps-console-overlay{padding:0}.vps-console-frame{border:0;border-radius:0}.vps-console-header{padding:8px 10px;min-height:54px}.vps-console-icon{display:none}.vps-console-heading strong{font-size:13px}.vps-console-heading small{max-width:40vw;font-size:10px}.vps-console-actions button{padding:6px 8px}.vps-console-actions button span{display:none}.vps-console-status{max-width:27vw;font-size:10px;white-space:normal;line-height:1.3}.vps-console-toolbar{gap:7px;min-height:46px;padding:5px 8px}.vps-console-toolbar button{padding:6px 8px;min-height:32px}.vps-console-footer [data-console-transport]{display:none}.vps-console-drawer{top:6px;right:6px;bottom:6px;width:min(360px,calc(100% - 12px))}}
@media(prefers-reduced-motion:reduce){.vps-console-overlay button{transition:none}}
/* V7.3.11 scoped, desktop drag / free resize. Does not touch noVNC canvas DOM. */
.vps-console-frame{position:absolute;left:2.5vw;top:3vh;width:95vw;height:94vh;max-width:none;max-height:none;min-width:560px;min-height:320px}
.vps-console-header{cursor:move;touch-action:none;user-select:none}
.vps-console-header button{cursor:pointer}
.vps-console-resize-grip{position:absolute;right:0;bottom:0;z-index:8;cursor:nwse-resize!important;border-radius:0 0 14px 0!important;background:#e6f1ff!important;border:1px solid #bfd5f1!important;min-width:23px!important;width:24px;height:24px;min-height:24px!important;padding:0!important;touch-action:none;user-select:none}
.vps-console-overlay:fullscreen .vps-console-frame{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0!important;min-width:0}
.vps-console-overlay:fullscreen .vps-console-resize-grip{display:none}
.vps-console-drawer:has([data-console-files-panel]:not([hidden])){width:min(540px,calc(100% - 20px))}
.vps-console-file-fields input{width:100%;border:1px solid #b7c9df;border-radius:8px;padding:9px;background:#fff;color:#173352;margin-bottom:11px;font:13px/1.3 ui-monospace,monospace}
.vps-console-file-fields input[type=password]{font-family:inherit}
.vps-console-file-fields small{display:block;margin:8px 0;font-size:11px;overflow-wrap:anywhere;color:#496a87}
.vps-console-file-path{font-size:12px;font-weight:700;color:#244d81;overflow-wrap:anywhere;margin:12px 0 6px}
.vps-console-file-list{border:1px solid #d5e2f0;border-radius:9px;background:#f7fafe;max-height:240px;overflow:auto;padding:6px}
.vps-file-item{display:grid;grid-template-columns:minmax(0,1fr) 55px auto auto;gap:4px;align-items:center;border-bottom:1px solid #e2eaf5;padding:5px 0}
.vps-file-item:last-child{border-bottom:0}
.vps-file-item .vps-file-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;background:transparent}
.vps-file-item small{font-size:10px;color:#5a718b;white-space:nowrap}
.vps-file-item button{font-size:11px;padding:5px!important;min-height:30px}
.vps-file-item button.vps-file-danger{color:#a32632;border-color:#ead1d3}
.vps-console-file-upload{padding-top:14px;margin-top:12px;border-top:1px solid #dce8f3;display:grid;gap:7px}
.vps-console-file-upload input{max-width:100%;font-size:12px}
@media(max-width:760px){.vps-console-frame{position:relative;left:auto!important;top:auto!important;width:100%!important;height:100%!important;min-height:0;min-width:0}.vps-console-header{cursor:default;touch-action:auto}.vps-console-resize-grip{display:none}.vps-file-item{grid-template-columns:minmax(0,1fr) auto auto}.vps-file-item small{display:none}}
