:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #eff6ff;--primary-line: #bfdbfe;--on-primary: #fff;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--bg: #f5f7fb;--panel: #fff;--panel-soft: #f8fafc;--text: #334155;--heading: #0f172a;--muted: #64748b;--disabled: #94a3b8;--line: #e2e8f0;--line-strong: #cbd5e1;--radius: 10px;--radius-sm: 6px;--control-height: 36px;--sidebar-width: 224px;--sidebar-collapsed-width: 64px;--topbar-height: 60px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--shadow-card: 0 2px 8px rgba(15, 23, 42, .035);--shadow-pop: 0 12px 36px rgba(15, 23, 42, .14);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .16);--overlay: rgba(15, 23, 42, .38);--z-header: 20;--z-navigation: 65;--z-popover: 80;--z-modal: 1200;--z-confirm: 2300;--z-feedback: 2400;--select-arrow-offset: 12px;--select-padding-right: 36px;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:3px}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}::selection{color:var(--heading);background:#dbeafe}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.panel{overflow:hidden}.field label{display:flex;min-width:0;flex-direction:column;gap:10px;color:var(--text);font-size:14px;font-weight:600}.search-box{display:grid;grid-template-columns:1fr 42px}.search-box input{border-top-right-radius:0;border-bottom-right-radius:0}.search-box>button{width:42px;min-width:0;height:var(--control-height);padding:0;color:var(--muted);border-left:0;border-radius:0 6px 6px 0}.table-wrap{overflow-x:auto;border:0;border-radius:0;min-width:0;max-width:100%;overscroll-behavior-x:contain}.search-box>.clearable-filter-input{width:100%}.page-head{display:flex;min-width:0;justify-content:space-between;gap:16px;margin-bottom:0;align-items:center;flex-wrap:wrap}.page-head h1,.page-head h2,h1{margin:0;color:var(--heading);font-size:22px;font-weight:700;line-height:1.5}.page-head>div{min-width:0}.page-head h1,.page-head h2{overflow-wrap:anywhere}.page-head :is(.primary-btn,.ghost-btn){font-size:14px}.page-head p{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.6}input,select,textarea,.input,.select,.textarea{height:var(--control-height);min-width:180px;padding:0 11px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s}select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;padding-right:var(--select-padding-right);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m1 4 5 5 5-5' fill='none' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--select-arrow-offset) center;background-size:12px 12px}input:focus,select:focus,textarea:focus,.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}textarea,.textarea{width:100%;height:280px;padding:10px 12px;line-height:1.55;resize:vertical}button,.button,.primary-btn,.ghost-btn,.danger-btn,.icon-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--control-height);padding:0 14px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}button:hover,.button:hover,.ghost-btn:hover,.ghost-button:hover,.icon-button:hover{color:var(--primary);border-color:var(--primary)}.primary-btn,.button{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.primary-btn:hover,.button:hover{color:var(--on-primary);background:var(--primary-hover);border-color:var(--primary-hover)}.danger-btn,.danger-button{color:var(--danger);background:var(--panel);border-color:#ffccc7}.danger-btn:hover,.danger-button:hover{color:var(--danger);background:#fff2f0;border-color:var(--danger)}.icon-button{width:34px;padding:0}.panel-header{display:flex;align-items:center;justify-content:space-between;min-height:52px;gap:10px;padding:0 18px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--heading)}.section-title>span:where(:not(.clearable-filter-input)){display:inline-grid;place-items:center;width:20px;height:20px;color:var(--primary);font-weight:600}.section-title strong{font-size:16px}.cloud-table,table{width:100%;border-collapse:collapse}.cloud-table th,.cloud-table td,th,td{height:44px;padding:10px 12px;color:var(--text);text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);font-size:14px;white-space:nowrap}.cloud-table th,th{height:44px;color:var(--text);background:var(--panel-soft);font-weight:700}.cloud-table tr:last-child td{border-bottom:0}.table-link:hover{color:var(--primary-hover);border-color:transparent}.status-badge,.badge{display:inline-flex;align-items:center;min-height:26px;padding:2px 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:600;line-height:1}.status-badge.green,.badge.ok{color:#16a34a;background:#ecfdf3;border-color:#a7ef88}.status-badge.gray{color:var(--text);background:#f2f4f7;border-color:var(--line-strong)}.status-badge.red,.badge.error{color:#ef4444;background:#fff1f0;border-color:#ffccc7}.status-badge.create-failed,.vm-status-pill.create-failed{color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe}.status-badge.yellow,.badge.warn{color:#b7791f;background:#fff7e6;border-color:#ffd591}.status-badge.sky-blue{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.status-badge.ok,.status-badge.running{color:#16a34a;background:#ecfdf3;border-color:#a7ef88}.status-badge.error,.status-badge.failed{color:#ef4444;background:#fff1f0;border-color:#ffccc7}.status-badge.warn,.status-badge.pending{color:#b7791f;background:#fff7e6;border-color:#ffd591}.status-badge.stopped{color:var(--text);background:#f2f4f7;border-color:var(--line-strong)}.action-dropdown{position:relative;display:inline-flex}.operation-btn{height:var(--control-height);min-width:68px;padding:0 10px;color:var(--primary);border-color:var(--primary-line);border-radius:var(--radius-sm)}.manage-btn.warn{color:#ad6800;background:#fffbe6;border-color:#ffe58f}.manage-btn.danger{color:#cf1322;background:#fff1f0;border-color:#ffccc7}.manage-btn:disabled{color:var(--disabled);background:var(--panel-soft);border-color:var(--line-strong)}.operation-btn:hover{color:var(--primary-hover);border-color:var(--primary);background:var(--primary-soft)}.action-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:12;display:flex;flex-direction:column;gap:2px;width:138px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop)}.action-menu button{display:flex;justify-content:flex-start;width:100%;min-width:0;height:var(--control-height);padding:0 10px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm)}.action-menu button:hover{color:var(--primary);background:var(--primary-soft)}.action-menu .danger-text{color:#ef4444}.floating-action-menu{position:fixed;right:auto;z-index:500;width:138px;max-width:calc(100vw - 16px);overflow-y:auto;overscroll-behavior:contain}.floating-action-menu button{flex-shrink:0}.action-menu button:disabled{color:var(--disabled);background:transparent;border-color:transparent;cursor:not-allowed}.vm-table-footer{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding-top:14px;flex-wrap:wrap;gap:var(--space-3);color:var(--muted)}.vm-footer-left,.vm-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.vm-page-size-select,.vm-pagination select{width:auto;min-width:96px;height:var(--control-height);border-radius:var(--radius-sm)}.vm-pagination button.active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.vm-field.vm-full{grid-column:1 / -1}.vm-field input,.vm-field textarea,.vm-field select{width:100%;min-width:0;border-radius:var(--radius-sm)}.vm-field input,.vm-field select{height:var(--control-height)}.mini-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 9px;border-radius:var(--radius-sm);white-space:nowrap;font-size:12px;font-weight:600}.mini-badge.green{color:#237804;background:#f6ffed;border:1px solid #b7eb8f}.mini-badge.red{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e}.vm-pagination button,.vm-pagination input,.vm-page-size{height:var(--control-height);min-width:30px;padding:0 9px;border-radius:var(--radius-sm)}.vm-pagination input{width:46px;min-width:46px;text-align:center}.mini-btn.danger{color:#ef4444;border-color:#ffd6d6}.primary-btn:disabled,.ghost-btn:disabled,button:disabled{color:var(--disabled);background:var(--panel-soft);border-color:var(--line-strong);cursor:not-allowed;box-shadow:none}.cloud-empty,.empty-state{padding:22px;color:var(--muted);text-align:center}.muted{color:var(--muted)}.modal-mask{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;z-index:var(--z-modal);background:var(--overlay)}.modal-mask.show{display:flex}.modal{width:min(820px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:12px;padding:0 20px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-head h2{margin:0;color:var(--heading);font-size:18px}.modal-close{width:34px;padding:0}.modal-body{padding:18px 20px;overflow:auto;min-height:0;overscroll-behavior:contain}.modal-foot{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.vm-field.required span:before,.vm-disk-pair-row>label.required:before,.vm-disk-inline.required span:before{content:"* ";color:#ef4444}.vm-field{min-width:0;flex-direction:column;color:var(--text);font-size:13px;font-weight:700;display:grid;grid-template-columns:88px 1fr;align-items:center;gap:10px}.vm-field.vm-schedule-filter-field{grid-template-columns:max-content minmax(0,1fr)}.vm-field input,.vm-field select,.vm-field textarea{width:100%;min-width:0}.vm-field textarea{min-height:96px;padding:10px 12px;resize:vertical;height:64px}.vm-field-tag{display:inline-flex;align-items:center;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;vertical-align:middle}.vm-field-tag.muted{color:var(--text);background:#f2f4f7}.panel-title-row,.host-info-panel h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:#061a3f}.panel-title-row h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.panel-title-row em{color:var(--muted);font-size:12px;font-style:normal}@media(max-width:900px){.page-head{align-items:flex-start;flex-direction:column}}.management-page{display:grid;gap:16px;min-width:0}.legacy-console{display:grid;max-width:100%;min-width:0;gap:16px}.legacy-hero:not(.page-head){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.legacy-hero:not(.page-head) h2{margin:0;color:var(--heading);font-size:22px;line-height:1.4}.legacy-hero:not(.page-head) p{margin:6px 0 0;color:var(--muted)}.legacy-hero-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.legacy-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.legacy-panel,.legacy-help-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.legacy-filter-panel{padding:var(--space-4)}.legacy-table-panel{min-width:0;padding:var(--space-5)}.legacy-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;overscroll-behavior-x:contain}.legacy-filter-actions{display:flex;grid-column:1 / -1;gap:10px;padding-top:2px}.legacy-filter-actions button{height:var(--control-height);border-radius:var(--radius-sm);width:auto;min-width:64px}.legacy-help-panel{min-width:0;padding:18px}.legacy-help-panel h3{margin:0 0 16px;color:var(--heading);font-size:16px}.legacy-help-panel>div{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.legacy-help-panel i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#16a34a}.legacy-help-panel i.maintenance{background:#faad14}.legacy-help-panel i.error{background:#ef4444}.legacy-help-panel p,.legacy-help-panel strong,.legacy-help-panel span{display:block;margin:0}.legacy-help-panel strong{color:var(--heading);font-size:13px}.legacy-help-panel span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.65}.legacy-alert{margin:0;padding:10px 13px;border-radius:var(--radius-sm);font-size:13px}.legacy-alert.error,.legacy-form-error{color:#b42318;background:#fff1f0;border:1px solid #ffccc7}.legacy-toast{position:fixed;z-index:1300;top:76px;left:50%;margin:0;padding:10px 16px;color:var(--on-primary);background:#172033f0;border-radius:var(--radius-sm);box-shadow:0 12px 30px #0f172a38;transform:translate(-50%)}.global-feedback{position:fixed;top:18px;left:50%;display:flex;width:min(520px,calc(100vw - 32px));pointer-events:none;transform:translate(-50%);flex-direction:column;gap:10px;z-index:var(--z-feedback)}.global-feedback-item{display:grid;min-height:46px;padding:11px 11px 11px 14px;border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius-sm);color:#263244;background:var(--panel);box-shadow:var(--shadow-card);pointer-events:auto;grid-template-columns:20px minmax(0,1fr) 28px;align-items:center;gap:10px}.global-feedback-item>span{overflow-wrap:anywhere;font-size:13px;line-height:1.55}.global-feedback-item>button{display:inline-flex;width:28px;height:28px;padding:0;border:0;border-radius:4px;color:var(--muted);background:transparent;cursor:pointer;align-items:center;justify-content:center}.global-feedback-item>button:hover{color:#263244;background:#f0f3f7}.global-feedback-item.is-success{border-left-color:#18a058}.global-feedback-item.is-success .global-feedback-icon{color:#18a058}.global-feedback-item.is-info{border-left-color:#2878d0}.global-feedback-item.is-info .global-feedback-icon{color:#2878d0}.global-feedback-item.is-warning{border-left-color:#d48806;background:#fffdf5}.global-feedback-item.is-warning .global-feedback-icon{color:#d48806}.global-feedback-item.is-error{border-left-color:#d03050;background:snow}.global-feedback-item.is-error .global-feedback-icon{color:#d03050}.feedback-message-enter-active,.feedback-message-leave-active,.feedback-message-move{transition:opacity .2s ease,transform .2s ease}.feedback-message-enter-from,.feedback-message-leave-to{opacity:0;transform:translateY(-10px)}.feedback-message-leave-active{position:absolute;width:100%}@media(max-width:640px){.global-feedback{top:10px;width:calc(100vw - 20px)}.global-feedback-item{min-height:44px}}.global-confirm-mask{position:fixed;inset:0;display:grid;place-items:center;padding:24px;z-index:var(--z-confirm);background:var(--overlay)}.global-confirm-dialog{width:min(470px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--line);background:var(--panel);max-height:calc(100dvh - 48px);overflow-y:auto;border-radius:var(--radius);box-shadow:var(--shadow-pop)}.global-confirm-head{display:grid;min-height:68px;padding:18px 18px 12px;align-items:center;grid-template-columns:38px minmax(0,1fr) 30px;gap:12px}.global-confirm-head h2{margin:0;overflow-wrap:anywhere;color:var(--heading);font-size:18px;line-height:1.4}.global-confirm-icon{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:50%;color:var(--primary);background:var(--primary-soft)}.global-confirm-dialog.is-warning .global-confirm-icon{color:#b76e00;background:#fff7e6}.global-confirm-dialog.is-danger .global-confirm-icon{color:#d03050;background:#fff1f0}.global-confirm-close{display:inline-grid;width:30px;min-width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:var(--radius-sm);color:var(--muted);background:transparent}.global-confirm-close:hover{color:#263244;background:#f0f3f7}.global-confirm-message{min-height:52px;margin:0;padding:4px 68px 22px;overflow-wrap:anywhere;color:var(--muted);font-size:14px;line-height:1.65;white-space:pre-line}.global-confirm-checkbox{display:flex;margin:-4px 18px 18px 68px;align-items:flex-start;gap:9px;color:var(--text);font-size:14px;line-height:1.5;cursor:pointer}.global-confirm-checkbox input{width:16px;min-width:16px;height:16px;margin:2px 0 0;accent-color:#d03050}.global-confirm-actions{display:flex;min-height:64px;padding:13px 18px;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);background:var(--panel-soft)}.global-confirm-actions button{min-width:82px;height:var(--control-height);padding:0 16px;border-radius:var(--radius-sm);font-weight:600}.global-confirm-cancel{color:var(--text);border:1px solid #cfd7e3;background:var(--panel)}.global-confirm-cancel:hover{border-color:var(--disabled);background:var(--panel-soft)}.global-confirm-submit{color:var(--on-primary);border:1px solid var(--primary);background:var(--primary)}.global-confirm-dialog.is-warning .global-confirm-submit{border-color:#d48806;background:#d48806}.global-confirm-dialog.is-danger .global-confirm-submit{border-color:#d03050;background:#d03050}.global-confirm-submit:hover{filter:brightness(.94)}.global-confirm-submit:disabled{opacity:.5;cursor:not-allowed;filter:none}.global-confirm-enter-active,.global-confirm-leave-active{transition:opacity .18s ease}.global-confirm-enter-active .global-confirm-dialog,.global-confirm-leave-active .global-confirm-dialog{transition:transform .18s ease}.global-confirm-enter-from,.global-confirm-leave-to{opacity:0}.global-confirm-enter-from .global-confirm-dialog,.global-confirm-leave-to .global-confirm-dialog{transform:translateY(-8px)}@media(max-width:640px){.global-confirm-mask{padding:16px}.global-confirm-head{padding:16px 16px 10px;grid-template-columns:36px minmax(0,1fr) 30px}.global-confirm-message{padding:4px 16px 18px 64px}.global-confirm-checkbox{margin:-2px 16px 18px 64px}.global-confirm-actions{padding:12px 16px}}.legacy-pagination{gap:8px}.legacy-pagination select{width:auto;min-width:92px;height:var(--control-height);border-radius:var(--radius-sm)}.legacy-pagination button{height:var(--control-height);padding:0;border-radius:var(--radius-sm);width:var(--control-height);min-width:var(--control-height)}.legacy-pagination button.active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.legacy-pagination input{width:56px;min-width:56px;height:var(--control-height);padding:0 6px;border-radius:var(--radius-sm)}.legacy-pagination .legacy-jump-label,.legacy-pagination .legacy-page-total{margin:0}.legacy-modal-mask{position:fixed;inset:0;display:grid;place-items:center;padding:24px;z-index:var(--z-modal);background:var(--overlay)}.legacy-modal{max-height:calc(100vh - 48px);background:var(--panel);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.legacy-modal-head,.legacy-modal-foot{z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:var(--panel);position:static;flex-shrink:0}.legacy-modal-head{top:0;min-height:58px;border-bottom:1px solid var(--line)}.legacy-modal-head h2{margin:0;color:var(--heading);font-size:18px}.legacy-modal-close{width:30px;min-width:30px;height:30px;padding:0;border:0}.legacy-modal-foot{bottom:0;justify-content:flex-end;border-top:1px solid var(--line)}.legacy-modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-5)}.legacy-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.legacy-form-grid label{display:grid;align-content:start;min-width:0;gap:7px;color:var(--text);font-size:14px}.legacy-form-grid label.wide,.legacy-form-grid .legacy-form-error{grid-column:1 / -1}.legacy-form-grid .legacy-field-hint{color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.legacy-form-grid .legacy-form-note{display:flex;grid-column:1 / -1;align-items:flex-start;gap:9px;margin-top:-4px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-soft);color:var(--text);font-size:12px;line-height:1.6}.legacy-form-grid .legacy-form-note.compact{padding-block:8px}.legacy-form-grid .legacy-form-note svg{flex:0 0 auto;margin-top:2px;color:var(--primary)}.legacy-form-grid .legacy-form-note span{min-width:0;overflow-wrap:anywhere}.legacy-form-grid .legacy-form-note strong{color:var(--text)}.legacy-form-grid label span em{color:#ef4444;font-style:normal}.legacy-form-grid input,.legacy-form-grid select,.legacy-form-grid textarea{width:100%;min-width:0;border-radius:var(--radius-sm)}.legacy-form-grid textarea{height:88px;padding:10px}.legacy-form-error{margin:0;padding:9px 11px;border-radius:var(--radius-sm)}.table-link{border-radius:0;font:inherit;height:auto;padding:0;color:var(--primary);background:transparent;border:0;font-weight:700}.manage-btn{background:var(--panel);height:var(--control-height);min-width:52px;padding:0 10px;color:var(--primary);border-color:var(--primary-line);border-radius:var(--radius-sm)}.section-title.legacy-title-actions>span{display:inline-flex;flex:none;align-items:center;width:auto;height:auto;gap:6px;color:inherit;white-space:nowrap}.mini-btn{min-width:62px;color:var(--primary);border-color:var(--primary-line);background:var(--panel);font-size:12px;font-weight:600;height:var(--control-height);padding:0 9px;border-radius:var(--radius-sm)}.muted-text{margin:0;font-size:13px;line-height:1.7;color:var(--muted)}.panel-title{color:var(--heading);font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:7px}.page-actions,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.page-primary-btn,.page-refresh-btn{height:var(--control-height);border-radius:var(--radius-sm);font-size:14px;min-width:auto;padding:0 14px}.cloud-table tbody tr:hover td{background:var(--panel-soft)}.cloud-table.vm-list-table th:nth-child(3),.cloud-table.vm-list-table td:nth-child(3){text-align:center}.cloud-table.ip-address-table th,.cloud-table.ip-address-table td,.cloud-table.ip-pool-table th,.cloud-table.ip-pool-table td{min-height:58px;padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.cloud-table.ip-address-table th,.cloud-table.ip-pool-table th{color:var(--text);background:var(--panel-soft);font-weight:700}.cloud-table.ip-pool-table th,.cloud-table.ip-pool-table td,.cloud-table.ip-address-table th,.cloud-table.ip-address-table td{overflow:hidden;text-overflow:ellipsis}.cloud-table.ip-address-table th:nth-child(1),.cloud-table.ip-address-table td:nth-child(1){width:46px}.cloud-table.ip-address-table th:nth-child(3),.cloud-table.ip-address-table td:nth-child(3),.cloud-table.ip-address-table th:nth-child(4),.cloud-table.ip-address-table td:nth-child(4){text-align:center}.cloud-table.ip-pool-table th:nth-child(1),.cloud-table.ip-pool-table td:nth-child(1),.cloud-table.ip-pool-table th:nth-child(2),.cloud-table.ip-pool-table td:nth-child(2){width:90px}.cloud-table.ip-pool-table th:nth-child(3),.cloud-table.ip-pool-table td:nth-child(3){width:110px}.cloud-table.ip-pool-table th:nth-child(4),.cloud-table.ip-pool-table td:nth-child(4){width:180px}.cloud-table.ip-pool-table th:nth-child(5),.cloud-table.ip-pool-table td:nth-child(5){width:80px}.cloud-table.ip-pool-table th:nth-child(6),.cloud-table.ip-pool-table td:nth-child(6){width:100px}.cloud-table.ip-pool-table th:nth-child(7),.cloud-table.ip-pool-table td:nth-child(7),.cloud-table.ip-pool-table th:nth-child(8),.cloud-table.ip-pool-table td:nth-child(8),.cloud-table.ip-pool-table th:nth-child(9),.cloud-table.ip-pool-table td:nth-child(9),.cloud-table.ip-pool-table th:nth-child(10),.cloud-table.ip-pool-table td:nth-child(10),.cloud-table.ip-pool-table th:nth-child(11),.cloud-table.ip-pool-table td:nth-child(11){width:72px;text-align:center}.cloud-table.ip-pool-table th:nth-child(12),.cloud-table.ip-pool-table td:nth-child(12){width:168px}.cloud-table.ip-address-table input[type=checkbox]{width:16px;min-width:0;height:16px}.cloud-table.host-list-table th:nth-child(3),.cloud-table.host-list-table td:nth-child(3){text-align:center}.cloud-table.host-list-table th:nth-child(8),.cloud-table.host-list-table td:nth-child(8){min-width:100px;text-align:center}.cloud-table.host-list-table th:nth-child(10),.cloud-table.host-list-table td:nth-child(10){min-width:180px}.cloud-table.host-list-table th:nth-child(11),.cloud-table.host-list-table td:nth-child(11),.cloud-table.host-list-table th:nth-child(12),.cloud-table.host-list-table td:nth-child(12){min-width:136px}.cloud-table.host-list-table th:nth-child(13),.cloud-table.host-list-table td:nth-child(13){text-align:center}.cloud-table.host-list-table th:nth-child(15),.cloud-table.host-list-table td:nth-child(15){width:188px;min-width:188px;overflow:visible;text-overflow:clip}.cloud-table.compact-detail-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel);font-size:14px;min-width:600px;table-layout:auto}.cloud-table.compact-detail-table th{padding:0 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-table.compact-detail-table td{height:44px;padding:0 12px;border-bottom:1px solid var(--line);color:var(--text);background:inherit;text-align:left;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-table.compact-detail-table th{height:44px;color:var(--text);background:var(--panel-soft);font-weight:600}.cloud-table.compact-detail-table tr:last-child td{border-bottom:0}.cloud-table.compact-detail-table .empty{color:var(--text);text-align:left;border:1px dashed #cbd5e1;background:var(--panel)}.cloud-table.area-list-table th,.cloud-table.area-list-table td{min-height:58px;padding:12px 10px;overflow:hidden;border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.cloud-table.area-list-table th{color:var(--text);background:var(--panel-soft);font-weight:700}.cloud-table.area-list-table th:nth-child(1),.cloud-table.area-list-table td:nth-child(1){width:70px}.cloud-table.area-list-table th:nth-child(2),.cloud-table.area-list-table td:nth-child(2){width:120px}.cloud-table.area-list-table th:nth-child(3),.cloud-table.area-list-table td:nth-child(3){width:88px;text-align:center}.cloud-table.area-list-table th:nth-child(4),.cloud-table.area-list-table td:nth-child(4),.cloud-table.area-list-table th:nth-child(5),.cloud-table.area-list-table td:nth-child(5),.cloud-table.area-list-table th:nth-child(6),.cloud-table.area-list-table td:nth-child(6),.cloud-table.area-list-table th:nth-child(7),.cloud-table.area-list-table td:nth-child(7),.cloud-table.area-list-table th:nth-child(8),.cloud-table.area-list-table td:nth-child(8){width:82px;text-align:center}.cloud-table.area-list-table th:nth-child(9),.cloud-table.area-list-table td:nth-child(9){width:180px}.cloud-table.area-list-table th:nth-child(10),.cloud-table.area-list-table td:nth-child(10){width:168px}.cloud-table.area-list-table th:nth-child(11),.cloud-table.area-list-table td:nth-child(11){width:232px;overflow:visible}.page-grid,.cloud-console,.vm-console{display:flex;flex-direction:column;gap:20px;min-width:0}.vm-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;min-width:0}.vm-hero h2{margin:0;color:var(--heading);font-size:24px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.vm-hero p{margin:8px 0 0;color:var(--muted);font-size:14px}.vm-hero-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px}.vm-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{position:relative;grid-template-columns:54px 1fr;align-items:center;gap:14px;overflow:hidden;padding:22px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.vm-stat-card{position:relative;display:grid;align-items:center;overflow:hidden;background:var(--panel);border:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);min-height:112px;gap:14px;padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.metric-card{display:block;min-height:104px}.vm-stat-icon{display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);font-weight:600;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius);font-size:20px}.vm-stat-card.play .vm-stat-icon{color:#16a34a;background:#e8f8ed}.vm-stat-card.power .vm-stat-icon{color:var(--text);background:#eef1f6}.vm-stat-card.alert .vm-stat-icon{color:#ef4444;background:#fff1f0}.vm-stat-card span,.vm-stat-card em,.metric-card span{display:block;color:var(--muted);font-size:14px;font-style:normal}.metric-card strong{display:block;margin:7px 0 18px;color:var(--heading);font-size:30px;line-height:1}.vm-stat-card strong{display:block;color:var(--heading);margin:8px 0;font-size:28px;line-height:1.2}.metric-card strong{margin-bottom:0}.vm-stat-card.play strong{color:#16a34a}.vm-stat-card.alert strong{color:#ef4444}.vm-filter-panel,.vm-table-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.vm-filter-grid{display:grid;align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;min-width:0}.generic-toolbar{display:grid;align-items:end;grid-template-columns:minmax(0,360px) auto;gap:16px}.vm-filter-grid label,.generic-toolbar label{display:flex;min-width:0;flex-direction:column;gap:10px;color:var(--text);font-size:14px;font-weight:600}.vm-filter-grid input,.vm-filter-grid select,.generic-toolbar input{width:100%;height:var(--control-height);min-width:0;border-radius:var(--radius-sm)}.vm-filter-actions{display:flex;gap:14px;flex-wrap:wrap}.vm-filter-actions button{min-width:68px;height:var(--control-height);border-radius:var(--radius-sm)}.vm-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;overscroll-behavior-x:contain}.vm-list-table{min-width:1330px}.vm-list-table .vm-remark-column{width:200px;min-width:200px;max-width:200px}.vm-remark-text{display:block;width:176px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generic-list-table{min-width:980px}.vm-id-th,.vm-id-td{width:118px}.vm-id-cell{display:inline-flex;align-items:center;min-width:92px;gap:12px}.vm-id-cell input,.cloud-table input[type=checkbox]{width:16px;min-width:16px;height:16px;margin:0;padding:0}.vm-id-cell strong{color:var(--heading);font-weight:700}.vm-action-th{width:112px}.vm-action-cell{position:relative;width:112px}.vm-action-with-manage{width:176px;min-width:176px}.vm-row-actions{display:inline-flex;align-items:center;gap:8px}.vm-batch-dialog{display:grid;gap:16px}.vm-batch-summary{display:grid;gap:6px;padding:12px 14px;color:var(--primary-hover);background:var(--primary-soft);border:1px solid #91caff;border-radius:var(--radius)}.vm-batch-summary.danger{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.vm-batch-summary strong,.vm-batch-summary span{font-size:14px}.vm-batch-preview{display:grid;gap:10px}.vm-batch-preview h3{margin:0;color:var(--heading);font-size:15px}.batch-skip-reason{margin-left:8px;color:var(--muted)}.vm-batch-footer-btn{height:var(--control-height);min-width:104px}.vm-batch-selected-hint,.vm-batch-clear{display:none}.vm-batch-selected-hint.show,.vm-batch-clear.show{display:inline-flex}.vm-batch-selected-hint b{color:var(--primary)}.action-help{margin:0 0 12px;padding:10px 12px;color:var(--text);background:var(--panel-soft);border:1px solid #d8e4f5;border-radius:var(--radius);line-height:1.55}.batch-ip-modal{width:min(860px,calc(100vw - 48px))}.batch-ip-dialog{display:grid;gap:16px}.batch-ip-summary{display:grid;gap:6px;padding:12px 14px;color:var(--primary-hover);background:var(--primary-soft);border:1px solid #bfdbff;border-radius:var(--radius)}.batch-ip-summary strong{color:#102a56;font-size:15px}.batch-ip-summary span{color:#405173;font-size:14px;line-height:1.6}.batch-ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ip-edit-modal{width:min(760px,calc(100vw - 48px))}.ip-edit-dialog{display:grid;gap:14px}.ip-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ip-detail-modal{width:min(880px,calc(100vw - 48px))}.ip-detail-modal .modal-head{justify-content:flex-end}.ip-address-detail-dialog{display:grid;gap:16px}.ip-address-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #d8e4f5;border-radius:var(--radius);background:var(--panel-soft)}.ip-address-detail-hero div{display:grid;min-width:0;gap:5px}.ip-address-detail-hero span,.ip-address-detail-item span{color:var(--muted);font-size:12px;font-weight:600}.ip-address-detail-hero strong{overflow:hidden;color:var(--heading);font-size:24px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.ip-address-detail-hero em{overflow:hidden;color:var(--muted);font-size:14px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.ip-address-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ip-address-detail-item{display:grid;min-width:0;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.ip-address-detail-item.wide{grid-column:span 2}.ip-address-detail-item strong{overflow:hidden;color:var(--heading);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.ip-address-raw{display:grid;gap:10px}.ip-address-raw-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ip-address-raw-head strong{color:var(--heading);font-size:15px}.ip-address-raw pre{max-height:220px;margin:0;overflow:auto;padding:12px 14px;color:var(--text);background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius);font-size:12px;line-height:1.6;white-space:pre-wrap}.ip-pool-console,.ip-console{display:flex;flex-direction:column}.ip-stat-card{position:relative;overflow:hidden}.ip-stat-card.used .ip-stat-icon{color:var(--primary);background:var(--primary-soft)}.legend{display:inline-flex;align-items:center;gap:6px}.legend:before{content:"";width:8px;height:8px;border-radius:999px;background:#16a34a}.legend.pending:before{background:#faad14}.legend.failed:before{background:#ef4444}.legend.stopped:before{background:#98a2b3}.ip-address-table{width:100%;border-collapse:collapse;table-layout:auto}.ip-pool-table{border-collapse:collapse}.ip-row-actions{flex-wrap:wrap}.ip-row-actions button{background:var(--panel)}.ip-pool-free{margin:0 auto}.ip-pool-free strong{font-weight:700}.ip-pool-free.warn strong{color:#faad14}.ip-pool-free.warn i{background:#faad14}.ip-pool-free.danger strong{color:#ef4444}.ip-pool-free.danger i{background:#ef4444}.ip-pool-summary div{min-width:0}.image-console{display:grid;gap:20px;min-width:0}.image-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0}.image-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vm-big-btn{height:var(--control-height);min-width:116px;border-radius:var(--radius-sm);font-size:15px}.image-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.image-stat-card{position:relative;display:grid;align-items:center;border:1px solid var(--line);background:var(--panel);grid-template-columns:44px minmax(0,1fr);min-height:112px;gap:14px;padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.image-stat-icon{display:grid;place-items:center;font-weight:600;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius);font-size:20px}.image-stat-card.purple .image-stat-icon{background:#f3e8ff;color:#7c3aed}.image-stat-card.green .image-stat-icon{background:#dcfce7;color:#16a34a}.image-stat-card.blue .image-stat-icon{background:#dbeafe;color:var(--primary)}.image-stat-card.red .image-stat-icon{background:#fee2e2;color:#ef4444}.image-stat-main{display:grid;min-width:0;gap:8px}.image-stat-main span,.image-stat-main em{color:var(--muted);font-size:14px;font-style:normal}.image-stat-main strong{color:var(--heading);font-size:30px;line-height:1}.image-stat-card.purple strong{color:#7c3aed}.image-stat-card.green strong{color:#16a34a}.image-stat-card.blue strong{color:var(--primary)}.image-stat-card.red strong{color:#dc2626}.image-stat-card i{position:absolute;right:20px;bottom:18px;width:44px;height:16px;border-bottom:2px solid currentColor;opacity:.55}.image-stat-card.purple i{color:#a855f7}.image-stat-card.green i{color:#22c55e}.image-stat-card.blue i{color:#3b82f6}.image-stat-card.red i{color:#ef4444}.image-filter-panel{padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.image-filter-grid{display:grid;align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;min-width:0}.image-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--text);font-size:14px;font-weight:600}.image-filter-grid input,.image-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.image-filter-grid .search-box>button{height:var(--control-height)}.image-filter-actions{grid-column:auto;align-self:end;padding-top:0}.image-filter-grid .image-filter-actions{grid-column:auto;padding-top:0}.image-list-panel{display:grid;gap:14px;padding:16px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.image-card-grid{display:grid;grid-template-columns:1fr;gap:8px}.image-list-title{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 10px;flex-wrap:wrap;min-width:0}.image-list-title>div{display:inline-flex;align-items:center;gap:9px}.image-list-title strong{color:var(--heading);font-size:16px}.image-list-meta em{color:var(--text);font-size:14px;font-style:normal}.image-refresh-btn{width:28px;min-width:28px;height:var(--control-height);padding:0;border:1px solid #d6e4ff;border-radius:var(--radius-sm);background:var(--panel);color:var(--primary)}.image-list-card{display:grid;align-items:center;min-height:62px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);grid-template-columns:24px 42px 40px minmax(0,1fr) 80px 170px auto;gap:12px}.image-list-card.failed{border-color:#ffd6d6;background:#fff7f6}.image-select-check,.image-select-all input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:16px;min-width:0;height:16px;margin:0;padding:0;border:0;border-radius:0;background:none;cursor:pointer}.image-select-all{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:14px;cursor:pointer}.image-select-all span{width:auto;height:auto;color:#475569;background:none;border-radius:0;font-size:14px}.image-batch-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius)}.image-batch-count{color:#1d4ed8;font-size:14px;font-weight:600}.image-batch-count b{font-size:15px}.image-batch-actions{display:flex;flex-wrap:wrap;gap:8px}.image-row-id{color:#98a2b3;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;text-align:right;white-space:nowrap}.image-os-logo{display:grid;place-items:center;width:52px;height:52px;border-radius:50%}.image-list-card .image-os-logo{width:38px;height:38px}.image-os-logo svg{width:52px;height:52px}.image-list-card .image-os-logo svg{width:38px;height:38px}.image-os-logo svg path,.image-os-logo svg circle{fill:currentColor}.image-os-logo.ubuntu{color:#e95420}.image-os-logo.windows{color:#00a4ef;border-radius:0}.image-os-logo.rocky{color:#10b981}.image-os-logo.debian{color:#d70a53}.image-row-main{display:grid;min-width:0;gap:3px}.image-row-name{display:inline-flex;align-items:center;min-width:0;gap:10px}.image-row-name strong{overflow:hidden;color:var(--heading);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.image-row-meta{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.image-row-size{color:var(--text);font-size:14px;text-align:right;white-space:nowrap}.image-enable-badge{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--radius-sm);font-size:12px;font-style:normal;font-weight:700}.image-enable-badge.enabled{color:#237804;background:#f6ffed;border:1px solid #b7eb8f}.image-enable-badge.disabled{color:var(--text);background:#f2f4f7;border:1px solid var(--line-strong)}.image-row-dist{min-width:0}.image-row-dist em{color:var(--text);font-size:12px;font-style:normal}.image-dist-status{display:inline-flex;align-items:center;gap:8px;color:var(--heading);font-size:14px;font-weight:700}.image-dist-status span{width:7px;height:7px;border-radius:50%}.image-dist-status.ready span{background:#16a34a}.image-dist-status.downloading span{background:var(--primary)}.image-dist-status.failed span{background:#ef4444}.image-download-progress-card{display:grid;min-width:180px;gap:8px}.image-download-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.image-download-progress-head .image-dist-status{min-width:0;flex-wrap:wrap}.image-download-failed-count{flex:none;color:#ef4444;font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}.image-download-progress-head b{color:var(--primary);font-size:14px;font-weight:600}.image-download-progress-values{display:grid;justify-items:end;min-width:78px;gap:2px;color:var(--muted);font-size:12px;line-height:1.2;white-space:nowrap}.image-progress{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#dbeafe}.image-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#69b1ff)}.image-error-message{margin:0;overflow:hidden;color:#ef4444;font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.image-card-actions{display:flex;justify-content:flex-end;gap:12px}.image-card-actions button{height:var(--control-height);min-width:56px;padding:0 13px;color:var(--primary);background:var(--panel);border:1px solid #d6e4ff;border-radius:var(--radius-sm);font-size:14px;font-weight:700}.image-card-actions button.danger{color:#ef4444;border-color:#ffd6d6}.image-pagination{display:flex;align-items:center;justify-content:flex-end;min-height:44px;gap:12px;padding:6px 12px 0;color:var(--text);font-size:14px}.image-pagination select,.image-pagination input,.image-pagination button{height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--panel)}.image-pagination select{min-width:96px;padding:0 var(--select-padding-right) 0 8px}.image-pagination button{min-width:32px;padding:0 10px}.image-pagination button.active{color:#fff;background:var(--primary);border-color:var(--primary)}.image-pagination button:disabled{color:#98a2b3;background:var(--panel-soft)}.image-pagination label{display:inline-flex;align-items:center;gap:8px}.image-pagination input{width:64px;min-width:64px;padding:0 8px;text-align:center}.image-detail-dialog{display:grid;gap:16px}.image-source-change{display:grid;gap:12px;padding:14px;border:1px solid #f6c453;border-radius:var(--radius);background:#fffbeb}.image-source-change-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.image-source-change-head>div{display:grid;gap:3px}.image-source-change-head strong{color:#7a2e0e;font-size:14px}.image-source-change-head span{color:#854d0e;font-size:12px}.image-source-change-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.image-source-change-grid>div{display:grid;min-width:0;gap:3px}.image-source-change-grid span{color:var(--muted);font-size:12px}.image-source-change-grid strong{overflow-wrap:anywhere;color:var(--text);font-size:12px}.image-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.image-info-item{display:grid;min-width:0;gap:6px}.image-info-item span{color:#5b6b88;font-size:12px;font-weight:600}.image-info-item strong{overflow:hidden;color:var(--heading);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.image-detail-hosts{display:grid;gap:10px}.image-detail-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.image-detail-section-title strong{color:var(--heading);font-size:15px}.image-detail-section-title span{color:var(--muted);font-size:12px}.image-detail-host-list{display:grid;max-height:420px;overflow:auto;gap:10px}.image-detail-host-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.image-detail-host-error{color:#cf1322;font-size:12px;font-style:normal;overflow-wrap:anywhere}.batch-progress{position:fixed;right:24px;bottom:24px;z-index:600;width:min(360px,calc(100vw - 48px));padding:14px 16px;border:1px solid #bfdbfe;border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 48px #0f172a38}.bp-title{color:var(--heading);font-size:14px;font-weight:600}.bp-bar{height:8px;overflow:hidden;margin:12px 0 10px;border-radius:999px;background:#dbeafe}.bp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#69b1ff)}.bp-text{color:var(--text);font-size:14px}.bp-text strong{margin-left:6px;color:var(--primary)}.image-download-modal{width:min(900px,calc(100vw - 48px))}.image-download-dialog{display:grid;gap:14px}.image-download-summary{display:grid;gap:6px;padding:12px 14px;color:var(--text);background:var(--panel-soft);border:1px solid #d6e4ff;border-radius:var(--radius)}.image-download-summary strong{min-width:0;color:var(--heading);font-size:15px;overflow-wrap:anywhere}.image-download-summary span{min-width:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.image-download-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.image-force-check{display:inline-flex;align-items:center;min-height:34px;gap:8px;margin-left:auto;color:var(--text);font-size:14px;font-weight:600}.image-force-check input,.image-download-host input{width:16px;min-width:16px;height:16px;margin:0;padding:0}.image-download-list{display:grid;max-height:420px;overflow:auto;gap:10px;padding-right:2px}.image-download-host{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:12px 14px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.image-download-host.disabled{color:#98a2b3;background:var(--panel-soft)}.image-download-host-main{display:grid;min-width:0;gap:4px}.image-download-host-main strong{min-width:0;color:var(--heading);font-size:14px;overflow-wrap:anywhere}.image-download-host-main em{min-width:0;color:var(--muted);font-size:12px;font-style:normal;overflow-wrap:anywhere}.image-download-host-main .image-download-error{color:#cf1322}.image-host-chip{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 10px;border:1px solid transparent;border-radius:999px;white-space:nowrap;font-size:12px;font-weight:700}.image-host-chip.ready{color:#237804;background:#f6ffed;border-color:#b7eb8f}.image-host-chip.downloading{color:var(--primary-hover);background:var(--primary-soft);border-color:#91caff}.image-host-chip.failed{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.image-host-chip.offline{color:var(--text);background:#f2f4f7;border-color:var(--line-strong)}.image-host-chip.stale{color:#ad6800;background:#fffbe6;border-color:#ffe58f}.image-download-hint{min-height:34px;padding:9px 12px;color:var(--text);background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px}.modal-mask.image-form-mask{background:#0f172a73}.modal.image-form-modal{width:min(1040px,calc(100vw - 48px));max-height:calc(100vh - 72px)}.image-form-modal .modal-body{padding:18px;background:var(--panel-soft)}.modal.vm-create-modal{width:min(980px,calc(100vw - 24px))}.modal.task-detail-modal{width:min(1120px,calc(100vw - 32px))}.modal.cluster-task-modal{width:min(720px,calc(100vw - 32px))}.vm-create-modal .modal-body{display:block;padding:14px 18px;background:var(--panel-soft)}.task-detail-modal .modal-body,.cluster-task-modal .modal-body{display:block;padding:18px 20px;background:var(--panel-soft)}.modal.config-adjust-modal{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 72px)}.config-adjust-modal .modal-head h2{font-size:17px}.modal.remote-info-modal{width:min(480px,calc(100vw - 32px))}.remote-info-modal .modal-body{padding:12px 22px 20px}.remote-info-body{min-height:72px;padding:6px 2px 4px}.remote-info-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:96px;color:var(--muted);font-size:14px}.remote-info-note{margin-bottom:10px;padding:8px 10px;border:1px solid #fde68a;border-radius:var(--radius);color:#b45309;background:#fffbeb;font-size:12px;line-height:1.6}.remote-info-error{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:96px;padding:10px;border:1px solid #fecaca;border-radius:var(--radius);color:#b42318;background:#fff5f5;font-size:12px;line-height:1.6}.remote-info-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}.remote-info-row>span{color:var(--muted);font-size:14px}.remote-info-row>strong{min-width:0;overflow:hidden;color:var(--heading);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.remote-info-row .mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:60px}.remote-info-copyall{width:100%;margin-top:14px}.vm-create{display:flex;flex-direction:column;gap:12px}.vm-create-error{display:flex;align-items:flex-start;gap:8px;min-height:38px;padding:9px 12px;border:1px solid #ffccc7;border-radius:var(--radius-sm);background:#fff1f0;color:#cf1322;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.vm-create-error>span{display:inline-grid;place-items:center;width:16px;height:16px;flex:0 0 auto;border-radius:50%;color:#fff;background:#ff4d4f;font-size:12px;line-height:1}.vm-create-error-main{min-width:0;flex:1}.vm-section{padding:18px 24px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.vm-section h3{margin:0 0 16px;color:var(--heading);font-size:15px}.vm-resource-grid{display:grid}.vm-basic-grid,.vm-system-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 42px}.vm-image-config{display:grid}.vm-resource-grid,.vm-image-config,.vm-instance-grid{grid-template-columns:1fr;gap:12px}.vm-number-row{display:grid;grid-template-columns:112px minmax(220px,1fr) 154px 88px;align-items:center;min-height:42px;gap:12px}.vm-number-row label,.vm-disk-pair-row>label,.vm-disk-inline span,.vm-field span,.vm-radio-row>span{color:var(--text);font-size:14px;font-weight:600}.vm-range{min-width:0;height:6px;padding:0;accent-color:var(--primary)}.vm-stepper{display:grid;grid-template-columns:28px minmax(72px,1fr) 28px;width:148px}.vm-stepper button{height:var(--control-height);padding:0;border-radius:0}.vm-stepper input{min-width:0;width:100%;height:var(--control-height);border-right:0;border-left:0;border-radius:0;text-align:center}.vm-number-row select{width:88px;min-width:0}.vm-disk-pair-row{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;min-height:42px;gap:12px}.vm-disk-pair{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));min-width:0;gap:18px}.vm-disk-inline{display:grid;grid-template-columns:92px 154px 34px;align-items:center;min-width:0;gap:10px}.vm-disk-inline em,.vm-field-tag,.vm-pf-hint{color:var(--muted);font-size:14px;font-style:normal}.vm-schedule-filter-field>.vm-schedule-filter-label{display:flex;width:max-content;align-items:center;flex-wrap:nowrap;gap:6px;line-height:20px;white-space:nowrap}.vm-schedule-filter-label>.vm-field-tag{flex:0 0 auto;margin-left:0}.vm-full{grid-column:1 / -1}.vm-wide{grid-column:1 / 2}.vm-advanced-note{padding:10px 12px;border:1px solid #ffe58f;border-radius:var(--radius);background:#fffbe6;color:#7a4f01;font-size:14px;line-height:1.5}.vm-image-summary{display:grid;gap:10px;padding:12px 14px;border:1px solid #d6e4ff;border-radius:var(--radius);background:var(--panel-soft)}.vm-image-ready-hint{padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-soft);color:var(--text);font-size:12px;line-height:1.5}.vm-image-ready-hint.warn{border-color:#fecdca;background:#fffbfa;color:#b42318}.vm-image-summary-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.vm-image-summary-title strong{color:var(--heading);font-size:14px}.vm-image-summary-title span{color:var(--muted);font-size:12px}.vm-image-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vm-image-summary-grid div{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.vm-image-summary-grid span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.vm-image-summary-grid b{display:block;overflow:hidden;color:var(--text);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.vm-image-summary p{margin:0;color:var(--text);font-size:12px;line-height:1.5}.vm-input-stack,.password-reset-panel{display:grid;gap:14px;min-width:0}.vm-input-stack small,.muted-text{color:var(--muted);font-size:14px;line-height:1.55}.vm-password-control{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;min-width:0;gap:8px}.vm-port-control{display:grid;grid-template-columns:minmax(0,1fr) 34px;min-width:0;gap:8px}.vm-password-tool{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);background:var(--panel);font-size:14px;line-height:1}.vm-password-tool:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.vm-radio-row{grid-column:1 / -1;display:flex;align-items:center;min-height:36px;gap:18px}.vm-radio-row label,.cloud-check{display:inline-flex;align-items:center;gap:6px}.vm-radio-row input,.cloud-check input{width:auto;min-width:0;height:auto}.vm-network-mode-panel{display:grid;grid-column:1 / -1;gap:12px}.vm-network-hint{min-height:34px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft);color:var(--text);font-size:14px;line-height:1.45}.vm-network-hint.vpc{border-color:#ffe7ba;background:#fff7e6;color:#ad6800}.vm-network-hint.transparent{border-color:#bae7ff;background:#e6f7ff;color:var(--primary-hover)}.vm-network-extra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vm-static-summary,.vm-readiness-empty{color:var(--muted);font-size:14px;line-height:1.5}.vm-host-readiness{display:grid;gap:10px;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel-soft)}.vm-readiness-head,.vm-readiness-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.vm-readiness-head{justify-content:space-between}.vm-readiness-head strong,.vm-readiness-head span{display:block}.vm-readiness-head strong{color:var(--heading);font-size:14px}.vm-readiness-head span{margin-top:3px;color:var(--muted);font-size:12px}.vm-readiness-metrics span{padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:12px}.vm-readiness-note{color:var(--muted);font-size:14px;line-height:1.55}.vm-readiness-note.ok{color:#237804}.vm-readiness-note.warn{color:#b54708}.vm-advanced-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.vm-advanced-section summary{padding:14px 24px;color:var(--heading);font-weight:700;cursor:pointer}.vm-advanced-section .vm-system-grid{padding:0 24px 20px}.vm-pf-control{display:grid;gap:8px}.vm-pf-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.vm-pf-quota{width:82px!important}.volume-switch input{display:none}.volume-switch span{position:relative;display:inline-block;width:38px;height:22px;border-radius:999px;background:var(--line-strong)}.volume-switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--panel);transition:transform .16s ease}.volume-switch input:checked+span{background:var(--primary)}.volume-switch input:checked+span:after{transform:translate(16px)}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid>div,.gpu-attach-summary-item{min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.detail-grid span,.gpu-attach-summary-item span{display:block;color:var(--muted);font-size:12px}.detail-grid strong,.gpu-attach-summary-item strong{display:block;overflow:hidden;margin-top:7px;color:var(--heading);font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.gpu-attach-summary-item.ok{border-color:#b7ebc6;background:#f6ffed}.gpu-attach-summary-item.warn{border-color:#ffe1a6;background:#fffaf0}.password-reset-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.config-update-grid{display:grid}.password-reset-form label,.config-update-grid label,.backup-form-grid label,.backup-note-field{display:flex;min-width:0;flex-direction:column;gap:7px}.password-reset-form label span,.backup-form-grid label>span,.backup-note-field>span{color:var(--muted);font-size:14px;font-weight:600}.password-reset-tip{margin:0}.backup-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.backup-note-field{grid-column:1 / -1}.field-req{color:#ef4444;font-style:normal}.config-adjust-panel{display:flex;flex-direction:column;gap:14px}.config-pending-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #fde68a;border-radius:var(--radius);color:#92400e;background:#fffbeb;font-size:14px;line-height:1.6}.config-pending-banner .cpb-icon{font-size:16px;line-height:1.4}.config-pending-banner strong{color:#b45309}.config-adjust-summary-row{display:flex;gap:12px}.config-adjust-summary-row .gpu-attach-summary-item{flex:1 1 0;min-height:64px}.config-adjust-summary-row .gpu-attach-summary-item strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.config-adjust-sections{display:flex;flex-direction:column;gap:14px}.config-adjust-section{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.config-adjust-section h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#1e293b;font-size:14px;font-weight:600}.cas-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%}.cas-dot.compute{background:#f59e0b}.cas-dot.storage{background:#10b981}.cas-dot.network{background:#3b82f6}.cas-hint{padding:2px 8px;border-radius:999px;color:#92400e;background:#fef3c7;font-size:12px;font-style:normal;font-weight:500}.cas-hint.ok{color:#166534;background:#dcfce7}.config-update-grid{grid-template-columns:1fr 1fr;gap:12px 16px}.config-update-label{display:flex;flex-direction:column;gap:6px}.config-update-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.config-update-name{display:flex;align-items:center;gap:6px;color:#334155;font-size:14px;font-weight:500}.cfg-effect{padding:1px 6px;border-radius:999px;font-size:12px;font-style:normal;font-weight:500}.cfg-effect.cold{color:#b45309;background:#fef3c7}.cfg-effect.instant{color:#166534;background:#dcfce7}.config-current{color:#94a3b8;font-size:12px;font-style:normal}.config-update-label input{min-width:0;box-sizing:border-box;padding:9px 12px;border:1px solid #cbd5e1;border-radius:var(--radius);font-size:14px;transition:border-color .15s}.config-update-label input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61f}.config-section-note{margin-bottom:10px;padding:8px 10px;border:1px solid #e0f2fe;border-radius:var(--radius);color:var(--muted);background:#f0f9ff;font-size:12px;line-height:1.6}.config-section-note strong{color:#0369a1}.config-restart-section{padding:12px 16px;border-color:#fed7aa;background:#fff7ed}.config-restart-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.config-restart-toggle input[type=checkbox]{appearance:auto;width:16px;min-width:0;height:16px;flex:0 0 16px;margin:2px 0 0;padding:0;border:0;background:none;cursor:pointer}.config-restart-toggle strong{display:block;margin-bottom:2px;color:#9a3412;font-size:14px}.config-restart-toggle em{color:#b45309;font-size:12px;font-style:normal;line-height:1.5}.config-offline-note{padding:8px 4px;color:var(--muted);font-size:12px}.migrate-dialog{display:grid;gap:16px}.migrate-alert{padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--text);font-weight:600;line-height:1.55}.migrate-alert.pass{border-color:#b7eb8f;background:#f6ffed;color:#237804}.migrate-alert.fail{border-color:#ffa39e;background:#fff1f0;color:#cf1322}.migrate-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.migrate-meta-item{min-width:0;padding:12px 16px;border-right:1px solid var(--line)}.migrate-meta-item:last-child{border-right:0}.migrate-meta-item span{display:block;margin-bottom:5px;color:#94a3b8;font-size:12px}.migrate-meta-item strong{display:block;overflow:hidden;color:var(--heading);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.migrate-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.migrate-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.migrate-precheck{display:grid;gap:10px}.migrate-precheck-table{max-width:100%;overflow-x:auto}.migrate-precheck-table .cloud-table.compact-detail-table{min-width:620px;table-layout:auto}.migrate-precheck-table .migrate-check-code{width:180px}.migrate-precheck-table .migrate-check-status{width:92px}.migrate-precheck-table .cloud-table.compact-detail-table th:last-child,.migrate-precheck-table .cloud-table.compact-detail-table td:last-child{min-width:280px;height:auto;padding-top:10px;padding-bottom:10px;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.security-group-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sg-check{min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.image-form-modal .modal-head h2{font-size:17px}.image-form-modal .modal-close{font-size:18px;line-height:1}.image-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.image-edit-grid .field{display:flex;min-width:0;flex-direction:column;gap:7px}.image-edit-grid .field label{flex-direction:row;align-items:center;gap:0;color:var(--text);font-size:14px;font-weight:600}.image-edit-grid .image-required-label:before{content:"*";margin-right:4px;color:#ef4444}.image-edit-grid .field .image-field-label{flex-direction:row;align-items:center;gap:4px}.field-label-tip{color:var(--muted);cursor:help;font-size:12px;line-height:1}.field-label-tip:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--primary);outline-offset:2px}.image-edit-grid input,.image-edit-grid select,.image-edit-grid textarea{width:100%;min-width:0}.image-edit-grid input:read-only,.image-edit-grid input:disabled,.image-edit-grid select:disabled{color:#8a96aa;background-color:var(--panel-soft);cursor:not-allowed}.image-edit-grid textarea{min-height:64px;resize:vertical;font-family:inherit}.image-edit-grid .image-form-wide{grid-column:1 / -1}.image-checksum-section{min-width:0;border-top:1px solid var(--line);padding-top:12px}.image-checksum-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;background:transparent;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer}.image-checksum-toggle svg{transition:transform .15s ease}.image-checksum-toggle svg.collapsed{transform:rotate(-90deg)}.image-checksum-toggle:focus-visible,.image-checksum-help:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--primary);outline-offset:3px}.image-checksum-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:14px;margin-top:12px}.image-checksum-label{position:relative;display:flex;align-items:center;gap:5px}.image-checksum-help{display:inline-flex;color:var(--muted);cursor:help}.image-checksum-tooltip{position:absolute;z-index:2;top:100%;left:0;display:none;width:min(320px,calc(100vw - 100px));padding:10px 12px;border-radius:var(--radius-sm);background:var(--text);box-shadow:0 4px 12px #10182829;color:#fff;font-size:12px;font-weight:400;line-height:1.6}.image-checksum-help:hover .image-checksum-tooltip,.image-checksum-help:focus .image-checksum-tooltip{display:block}.modal.host-form-modal{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 72px);overflow:hidden;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-pop)}.host-form-modal .modal-head{min-height:70px;padding:0 28px;border-bottom:1px solid #edf0f6;background:var(--panel)}.host-form-modal .modal-head h2{display:flex;align-items:center;gap:14px;color:var(--heading);font-size:18px;font-weight:600}.host-form-title-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:var(--radius);background:var(--primary-soft);color:var(--primary)}.host-form-title-icon svg{display:block;stroke-width:2.1}.host-form-modal .modal-close{width:36px;height:36px;border:0;color:var(--heading);background:transparent}.host-form-modal .modal-body{display:block;padding:22px 22px 26px;overflow:auto;background:#f7f9fd}.host-form-modal .modal-foot{position:sticky;bottom:0;z-index:2;min-height:72px;padding:0 30px;border-top:1px solid var(--line);background:#fffffff5;box-shadow:0 -10px 24px #0f172a0f}.host-form-modal .modal-foot button{min-width:82px;height:var(--control-height);border-radius:var(--radius);font-size:15px;font-weight:700}.host-form-shell{display:grid;gap:18px}.host-form-section{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.host-form-section h3{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--heading);font-size:18px;font-weight:600}.host-form-section h3 i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-style:normal;font-weight:600}.host-form-section.blue h3 i{background:var(--primary)}.host-form-section.green h3 i{background:#22c55e}.host-form-section.purple h3 i{background:#7567ff}.host-form-section.orange h3 i{background:#ff8a2a}.host-form-grid{display:grid;gap:16px 28px}.host-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.host-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.host-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.host-form-field{display:grid;gap:8px;min-width:0}.host-form-field.wide{grid-column:span 2}.host-form-field span{color:#26364f;font-size:14px;font-weight:600}.host-form-field span em{color:#ff4d4f;font-style:normal}.host-form-field input,.host-form-field select{width:100%;min-width:0;height:var(--control-height);border:1px solid #d8e0eb;border-radius:var(--radius-sm);background-color:var(--panel);color:var(--heading);font-size:14px}.host-form-field textarea{width:100%;min-width:0;border:1px solid #d8e0eb;border-radius:var(--radius-sm);background-color:var(--panel);color:var(--heading);font-size:14px;height:76px;resize:vertical}.host-form-field input::placeholder,.host-form-field textarea::placeholder{color:#98a2b3}.host-form-field input:disabled{color:#8a96aa;background:var(--panel-soft)}.host-form-switch-control{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer}.host-form-switch-control .vmos-switch{flex:none}.host-form-switch-control .vmos-switch input{height:100%;padding:0}.host-form-field .host-form-switch-state{color:var(--muted);font-weight:500}.host-form-switch-control input:focus-visible+.vmos-switch-track{outline:2px solid var(--primary);outline-offset:3px}.host-pw-control{position:relative;min-width:0}.host-pw-control input{width:100%;padding-right:40px}.password-eye-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-grid;place-items:center;width:28px;height:var(--control-height);border:0;border-radius:var(--radius-sm);color:#5d6b82;background:transparent;cursor:pointer}.password-eye-btn:hover{color:var(--primary);background:var(--primary-soft)}.password-eye-btn svg{display:block}.host-form-help{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"icon title" "icon description";align-items:start;gap:8px 14px;margin-bottom:18px;padding:14px 18px;border:1px solid #b7ebc6;border-radius:var(--radius);background:linear-gradient(90deg,#f0fff7,#f6fffb);color:#1d7040}.host-form-help:before{content:"✓";display:inline-grid;place-items:center;grid-area:icon;width:28px;height:28px;border:2px solid #22c55e;border-radius:50%;color:#22c55e;font-weight:600}.host-form-help b{grid-area:title;min-width:0;color:#17603a;font-size:15px}.host-form-help span{grid-area:description;min-width:0;color:#2e6b4a;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.host-form-help.storage-help{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"icon title action" "icon description action";align-items:center}.host-form-help .mini{grid-area:action;align-self:center;min-width:104px;height:30px;padding:0 10px;white-space:nowrap}.host-auth-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);gap:18px}.host-auth-card{min-width:0;padding:16px;border:1px solid #dfe7f2;border-radius:var(--radius);background:var(--panel)}.host-auth-card.api{border-color:#9dcbff;background:linear-gradient(180deg,#f7fbff,#fff)}.host-auth-card h4{margin:0 0 10px;color:#2363d1;font-size:15px;font-weight:600}.host-auth-card p{margin:-2px 0 14px;color:#405173;font-size:12px;font-weight:700;line-height:1.55}.image-import-hint{margin-top:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--panel-soft);color:var(--muted);font-size:12px}.image-import-hint.ok{background:#f0fdf4;color:#15803d}.image-import-hint.warn{background:#fff7ed;color:#b45309}.host-storage-loading{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--panel-soft);color:#40516b;font-size:14px}.host-storage-error{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;background:#fff5f5;color:#b42318}.host-storage-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.host-storage-card{display:grid;gap:5px;padding:12px;border:1px solid #d8e5f7;border-radius:var(--radius);background:#fbfdff;color:#31415a;font-size:12px}.host-storage-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.host-storage-card strong{color:#102a56;font-size:14px}.host-storage-card small{padding:2px 7px;border-radius:999px;background:var(--primary-soft);color:#315a9f;font-size:12px;font-weight:700}.host-storage-card em{color:#66758d;font-style:normal}.form-grid{display:grid;gap:14px}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.console-stage{height:calc(100vh - 126px);min-height:460px;overflow:hidden;background:#0d1117;border-radius:var(--radius)}.console-screen{width:100%;height:100%}.host-console{display:grid;grid-template-columns:minmax(0,1fr);max-width:100%;min-width:0;overflow:visible;gap:20px}.host-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:var(--radius);flex-wrap:wrap;min-width:0;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}.host-refresh-btn,.host-create-btn{height:var(--control-height);min-width:126px;border-radius:var(--radius-sm);font-size:15px}.host-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.host-stat-card{position:relative;display:grid;align-items:center;overflow:hidden;background:var(--panel);border:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);min-height:112px;gap:14px;padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.host-stat-card>i{position:absolute;right:18px;bottom:12px;width:44px;height:2px;background:#8fb7ff}.host-stat-icon{display:inline-grid;place-items:center;justify-self:center;align-self:center;color:var(--primary);background:var(--primary-soft);font-weight:600;line-height:1;text-align:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius);font-size:20px}.host-stat-icon.vm,.host-stat-icon.gpu{font-size:18px;letter-spacing:0}.host-stat-icon svg{display:block;stroke-width:2.2}.host-stat-icon.alert{color:#ff4d4f;background:#fff1f0}.host-stat-icon.alert+div+i{background:#ff9b9d}.host-stat-icon.purple{color:#8b3dff;background:#f0e5ff}.host-stat-icon.purple+div+i{background:#b58cff}.host-stat-icon.stat-blue{color:var(--primary);background:var(--primary-soft)}.host-stat-icon.stat-green{color:#16a34a;background:#e8f8ed}.host-stat-icon.stat-cyan{color:#0891b2;background:#e6f7fb}.host-stat-icon.stat-orange{color:#ea580c;background:#fff1e8}.host-stat-icon.stat-red{color:#ef4444;background:#fff1f0}.host-stat-icon.stat-purple{color:#7c3aed;background:#f3e8ff}.host-stat-icon.stat-neutral{color:#475569;background:#eef2f6}.host-stat-icon.stat-blue+div+i{background:#8fb7ff}.host-stat-icon.stat-green+div+i{background:#72cf8b}.host-stat-icon.stat-cyan+div+i{background:#67c9dc}.host-stat-icon.stat-orange+div+i{background:#f9a66c}.host-stat-icon.stat-red+div+i{background:#ff9b9d}.host-stat-icon.stat-purple+div+i{background:#b692f6}.host-stat-icon.stat-neutral+div+i{background:#94a3b8}.host-stat-card>div>span,.host-stat-card>div>em{display:block;color:var(--muted);font-size:14px;font-style:normal}.host-stat-card strong{display:block;margin:6px 0;color:var(--heading);font-size:24px;line-height:1}.host-console .host-stat-card>div{min-width:0}.host-summary-feedback{color:var(--muted);font-size:14px}.host-summary-feedback button:disabled{cursor:wait;opacity:.6}.host-filter-panel,.host-table-panel{border-radius:var(--radius)}.host-filter-panel{padding:14px 16px}.host-table-panel{min-width:0;padding:16px}.host-section-title{margin-bottom:12px;color:var(--heading)}.host-section-title strong{font-weight:600;font-size:16px}.host-filter-grid{display:grid;align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;min-width:0}.host-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--heading);font-size:14px;font-weight:600}.host-filter-grid input,.host-filter-grid select{width:100%;height:var(--control-height);min-width:0;border-color:var(--line-strong);border-radius:var(--radius-sm);font-size:14px}.host-filter-grid .search-box{grid-template-columns:1fr 42px}.host-filter-grid .search-box>button{height:var(--control-height)}.host-filter-actions{display:flex;grid-column:auto;gap:10px;padding-top:2px;flex-wrap:wrap}.host-filter-actions button{width:62px;height:var(--control-height);border-radius:var(--radius-sm)}.host-table-wrap{width:100%;overflow-x:auto;border-color:var(--line);border-radius:var(--radius-sm);min-width:0;max-width:100%;overscroll-behavior-x:contain}.host-list-table{width:100%;min-width:100%;table-layout:auto}.host-list-table th{padding:0 10px;font-size:14px;overflow:hidden;text-overflow:ellipsis}.host-list-table td{height:56px;padding:0 10px;color:var(--heading);font-size:14px;overflow:hidden;text-overflow:ellipsis}.host-list-table th{height:44px;color:var(--heading);background:var(--panel-soft);font-weight:600}.host-forwarder-header{position:relative;cursor:help}.host-forwarder-header>span{display:inline-block}.host-forwarder-header svg{position:absolute;top:50%;right:0;color:#55708f;pointer-events:none;transform:translateY(-50%)}.host-forwarder-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 9px;color:var(--muted);background:var(--panel-soft);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:12px;font-weight:700}.host-forwarder-badge.deployed{color:#15803d;background:#f0fdf4;border-color:#a7e0b6}.host-id-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:18px;padding:0 7px;color:#3453d8;background:#eef2ff;border-radius:999px;font-size:12px;font-weight:600}.host-name-link{color:var(--primary);font-weight:500}.pve-version-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;color:var(--primary);background:#f1f7ff;border:1px solid #cfe4ff;border-radius:var(--radius-sm);font-weight:700}.host-limit-cell{max-width:86px;overflow:hidden;color:var(--heading);text-overflow:ellipsis}.host-gpu-cell{display:grid;min-width:0;gap:4px}.host-gpu-cell span{overflow:hidden;color:var(--heading);text-overflow:ellipsis;white-space:nowrap}.host-gpu-cell strong{display:inline-flex;align-items:center;width:fit-content;max-width:100%;min-height:22px;overflow:hidden;padding:2px 7px;color:#237804;background:#f6ffed;border:1px solid #b7eb8f;border-radius:var(--radius-sm);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.usage-cell{display:grid;grid-template-columns:72px 36px;align-items:center;gap:8px}.usage-track{display:block;width:72px;height:6px;overflow:hidden;background:var(--line);border-radius:999px}.usage-track i{display:block;width:0;height:100%;background:var(--primary);border-radius:inherit}.usage-cell.memory .usage-track i{background:#17a957}.usage-cell em{color:var(--heading);font-size:12px;font-style:normal}.host-action-cell{white-space:nowrap}.host-row-actions{display:inline-flex;align-items:center;gap:8px}.host-mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:var(--control-height);min-width:52px;padding:0 10px;border-radius:var(--radius-sm);font-weight:700}.host-mini-btn.edit{color:var(--primary);background:var(--panel);border-color:#8bb8ff}.host-mini-btn.warning{color:#b46900;background:#fff7e6;border-color:#ffc96b}.host-mini-btn.danger{color:#ff2121;background:#fff1f0;border-color:#ffb5b0}.host-table-footer{display:flex;align-items:center;justify-content:flex-end;min-height:52px;padding-top:14px;color:var(--text)}.host-detail-page{display:grid;gap:16px;max-width:100%}.host-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px 18px 22px;border:1px solid var(--line);border-left:4px solid #8ca8c4;flex-wrap:wrap;min-width:0;background:var(--panel);min-height:112px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.host-detail-hero.green{border-left-color:#52c41a}.host-detail-hero.red{border-left-color:#ff4d4f}.host-hero-main{display:flex;align-items:center;min-width:0;gap:14px}.host-server-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:22px;font-weight:600}.host-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.host-title-row h1{margin:0;color:var(--heading);font-size:24px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.host-status-pill,.host-verdict-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:2px 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:600}.host-status-pill.green,.host-status-pill.online,.host-verdict-badge.ok{color:#237804;background:#f6ffed;border:1px solid #b7eb8f}.host-status-pill.gray,.host-status-pill.offline{color:var(--text);background:#f2f4f7;border:1px solid var(--line-strong)}.host-status-pill.red,.host-status-pill.error{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e}.host-status-pill.yellow,.host-status-pill.maintenance,.host-verdict-badge.warn{color:#ad6800;background:#fffbe6;border:1px solid #ffe58f}.host-meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:9px;color:var(--muted);font-size:14px}.host-detail-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.host-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.host-metric-card{display:flex;flex-direction:column;min-width:0;min-height:124px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.host-metric-card span,.host-metric-card em{display:block;color:var(--muted);font-size:12px;font-style:normal;line-height:1.5;overflow-wrap:anywhere;white-space:normal}.host-metric-card strong{display:block;margin:8px 0;color:var(--primary);font-size:18px;line-height:1.4;overflow-wrap:anywhere;white-space:normal}.host-metric-detail{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere;white-space:normal}.host-metric-card.purple strong{color:#6d5dfc}.host-metric-card.green strong{color:#16a34a}.host-metric-card.orange strong{color:#f97316}.host-metric-card.cyan strong{color:#0891b2}.host-metric-card>i{display:block;height:5px;overflow:hidden;margin-top:auto;background:#edf2f7;border-radius:999px}.host-metric-card>i b{display:block;height:100%;background:#5898f3;border-radius:inherit}.host-console-body{display:grid;gap:16px;align-items:start;grid-template-columns:minmax(0,1fr) 320px;min-width:0}.host-console-main,.host-console-side{display:grid;gap:16px;min-width:0}.host-console-side{align-content:start}.host-info-panel{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.host-info-panel h3 span,.panel-title-row h3 span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm);font-size:12px}.host-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;overscroll-behavior-x:contain}.host-detail-vm-table,.host-gpu-table{min-width:900px}.host-detail-vm-table th,.host-detail-vm-table td,.host-gpu-table th,.host-gpu-table td{height:44px;padding:0 12px;font-size:14px}.host-gpu-table th:nth-child(n+4),.host-gpu-table td:nth-child(n+4){text-align:center}.host-info-list{display:grid;gap:10px}.host-info-list>div{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;min-height:30px;padding-bottom:8px;border-bottom:1px solid var(--line)}.host-info-list>div:last-child{border-bottom:0}.host-info-list span{color:var(--muted)}.host-info-list strong{min-width:0;overflow:hidden;color:var(--heading);text-overflow:ellipsis;white-space:nowrap}.host-info-id{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.host-info-id code{padding:1px 8px;border-radius:var(--radius-sm);color:#3538cd;background:#eef2ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;user-select:all}.id-copy-btn{padding:1px 8px;border:1px solid #c7d0e0;border-radius:var(--radius-sm);color:#3538cd;background:var(--panel);font-size:12px;cursor:pointer}.id-copy-btn:hover{border-color:#a5b4fc;background:#f5f7ff}.id-hint{color:#98a2b3;font-size:12px;font-style:normal;font-weight:400}.instance-detail-page{display:flex;flex-direction:column;gap:16px}.detail-action-bar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:760px}.detail-action-bar button{height:var(--control-height);border-radius:var(--radius-sm)}.detail-view.instance-detail-page{gap:0}.vm-detail-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap;min-width:0}.vm-detail-title{display:flex;align-items:center;min-width:0;gap:18px;flex-wrap:wrap}.vm-detail-title h1{margin:0;color:var(--heading);font-size:24px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.vm-status-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:600}.vm-status-pill i{width:8px;height:8px;border-radius:50%;background:currentColor}.vm-status-pill.green{color:#237804;background:#f6ffed;border:1px solid #b7eb8f}.vm-status-pill.gray{color:var(--text);background:#f2f4f7;border:1px solid var(--line-strong)}.vm-status-pill.red{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e}.vm-status-pill.yellow{color:#ad6800;background:#fffbe6;border:1px solid #ffe58f}.vm-status-pill.sky-blue{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd}.detail-view .detail-action-bar{position:relative;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:none}.detail-view .detail-action-bar button{height:var(--control-height);min-width:56px;padding:0 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:600}.detail-view .detail-action-blue{color:var(--primary);border-color:#91caff;background:var(--panel)}.detail-view .detail-action-blue:hover{color:var(--primary-hover);border-color:var(--primary-hover);background:var(--primary-soft)}.detail-view .detail-action-muted:disabled{color:#98a2b3;background:var(--panel-soft);border-color:var(--line-strong)}.instance-archive-banner{display:flex;align-items:center;gap:10px 18px;margin-bottom:16px;padding:12px 16px;border:1px solid #ffd591;border-radius:var(--radius-sm);color:#7c2d12;background:#fff7e6;flex-wrap:wrap}.instance-archive-banner strong{flex:0 0 auto;color:#ad4e00}.instance-archive-banner span{min-width:0;color:#7c2d12}.instance-archive-banner em{flex:0 0 auto;margin-left:auto;color:#9a3412;font-size:12px;font-style:normal}.detail-more-wrap{position:relative;display:inline-flex}.detail-more-menu{position:absolute;top:40px;right:0;z-index:50;display:none;width:164px;padding:6px;border:1px solid #d9e2ef;border-radius:var(--radius);background:var(--panel);box-shadow:0 14px 36px #0f172a2e}.detail-more-menu-floating{position:fixed;top:auto;right:auto;z-index:500;display:grid;gap:2px;max-width:calc(100vw - 16px);overflow-y:auto;overscroll-behavior:contain}.detail-more-menu button{justify-content:flex-start;width:100%;height:var(--control-height)!important;padding:0 10px!important;border:0;color:var(--text);background:transparent;text-align:left;font-weight:600!important;flex-shrink:0}.detail-more-menu button:hover{color:var(--primary);background:var(--primary-soft)}.vm-detail-shell{display:grid;gap:16px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-width:0;align-items:start}.detail-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.detail-card-title{display:flex;align-items:center;gap:8px;color:var(--heading);font-weight:600;height:auto;min-height:52px;padding:12px 18px;flex-wrap:wrap;font-size:16px;border-bottom:1px solid var(--line)}.detail-card-title em{color:var(--muted);font-style:normal;font-weight:500}.detail-card-title.split-title{justify-content:space-between}.detail-card-title.split-title>span{display:inline-flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.detail-icon{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 auto;border-radius:var(--radius-sm);color:var(--primary);background:var(--primary-soft);font-size:12px;font-style:normal;font-weight:600;line-height:1}.basic-grid{display:grid;align-items:start;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:16px;padding:12px 20px 20px}.basic-divider{width:1px;min-height:128px;height:100%;background:var(--line)}.basic-column{display:grid;min-width:0;gap:18px}.detail-kv{display:grid;align-items:center;min-width:0;min-height:28px;grid-template-columns:84px minmax(0,1fr);gap:10px}.detail-kv span,.inline-kv span,.metric span{color:var(--muted)}.detail-kv strong,.inline-kv strong{min-width:0;color:var(--heading)}.metric strong{min-width:0;color:var(--heading);grid-column:2;overflow-wrap:anywhere}.inline-kv strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:22px}.detail-kv strong{display:block;overflow-wrap:anywhere;white-space:normal;line-height:22px}.credential-kv{grid-column:1 / -1;grid-template-columns:96px minmax(0,1fr);margin-top:18px}.credential-kv strong{display:flex;align-items:center;gap:6px;overflow:visible;white-space:normal;flex-wrap:wrap}.credential-main,.credential-actions{display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.credential-main{flex:0 1 auto}.credential-actions{flex:0 0 auto}.credential-user,.credential-password{display:inline-block;max-width:124px;overflow:hidden;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-weight:600}.credential-password{min-width:88px;font-family:Consolas,Courier New,monospace;letter-spacing:0}.credential-password.is-loading{color:var(--muted)}.credential-password.is-error{color:#d92d20}.credential-kv b{color:#98a2b3}.credential-icon-btn{flex:0 0 auto;display:inline-grid;place-items:center;width:26px;min-width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-sm);color:var(--primary);background:transparent}.credential-icon-btn:disabled{cursor:wait}.credential-loading-icon{animation:credential-spin .8s linear infinite}@keyframes credential-spin{to{transform:rotate(360deg)}}.credential-icon-btn:hover{color:var(--primary-hover);background:var(--primary-soft)}.credential-copy-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;border:1px solid #b7d4ff;border-radius:var(--radius-sm);color:var(--primary);background:var(--primary-soft);font-size:12px;font-weight:600;line-height:24px}.credential-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:var(--control-height);min-width:74px;padding:0 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.credential-action.danger{color:#fff;border-color:#ff7875;background:#ff4d4f}.credential-action.primary{color:#fff;border-color:var(--primary);background:var(--primary)}.instance-detail-page .resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:12px 20px 20px;min-width:0}.metric{display:grid;align-items:center;grid-template-columns:24px minmax(0,1fr);gap:8px}.metric .detail-icon{width:24px;height:24px;font-size:12px}.nat-card,.gpu-passthrough-card,.storage-card,.network-card-wide,.sg-card-wide{grid-column:1 / -1;width:100%}.log-card{grid-column:1 / -1;width:100%;overflow-x:auto}.network-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:center;gap:2px 22px;padding:12px 18px 16px}.network-strip .inline-kv{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;min-width:0;min-height:28px;gap:14px;margin:0;padding:6px 2px;border-right:0;border-bottom:1px solid var(--line)}.inline-kv{display:flex;align-items:center;min-width:max-content;gap:18px;margin-right:20px;padding-right:20px;border-right:1px solid var(--line)}.sg-body{padding:16px 18px}.sg-body p{margin:0 0 10px;color:var(--text);line-height:1.7}.sg-body strong{color:var(--heading)}.sg-footnote{font-size:12px}.nat-quota-tag{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;color:var(--muted);background:#eef4fb;font-size:12px}.nat-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tiny-action,.detail-card-title .tiny-action{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);min-width:62px;padding:0 12px;border:1px solid #b7c7dd;border-radius:var(--radius-sm);color:var(--primary);background:var(--panel);font-size:12px;font-weight:600}.warn.tiny-action{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);min-width:62px;padding:0 12px;border:1px solid #b7c7dd;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.tiny-action:hover{color:var(--primary-hover);border-color:#86b7ff;background:var(--primary-soft)}.primary.tiny-action{color:#fff;border-color:var(--primary);background:var(--primary)}.primary.tiny-action:hover{color:#fff;border-color:var(--primary-hover);background:var(--primary-hover)}.warn.tiny-action{color:#ad6800;border-color:#ffd591;background:#fffaf0}.nat-table-wrap{overflow:auto;padding:16px;min-width:0;max-width:100%;overscroll-behavior-x:contain}.nat-forward-table th:nth-child(1),.nat-forward-table td:nth-child(1){width:18%}.nat-forward-table th:nth-child(2),.nat-forward-table td:nth-child(2),.nat-forward-table th:nth-child(3),.nat-forward-table td:nth-child(3){width:24%}.nat-forward-table th:nth-child(4),.nat-forward-table td:nth-child(4){width:10%}.nat-forward-table th:nth-child(5),.nat-forward-table td:nth-child(5){width:12%}.nat-forward-table th:nth-child(6),.nat-forward-table td:nth-child(6){width:12%;text-align:right}.storage-grid{display:grid;gap:14px;padding:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.inner-panel{min-width:0;overflow:auto}.inner-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:var(--panel-soft);color:var(--heading);font-weight:600;height:auto;min-height:44px;padding:8px 12px;flex-wrap:wrap}.inner-panel .cloud-table.compact-detail-table{border-radius:0 0 8px 8px}.vm-wide-panel{grid-column:1 / -1}.snapshot-name{display:block;min-width:0;overflow:hidden;color:var(--heading);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.snapshot-actions{min-width:128px;text-align:right!important;white-space:nowrap}.snapshot-actions button{min-width:50px;margin-right:6px;margin-bottom:3px}.snapshot-actions button:last-child{margin-right:0}.log-card .cloud-table.compact-detail-table{width:calc(100% - 32px);margin:0 16px}.view-all-btn{float:right;height:var(--control-height);margin:12px 16px 14px 0;border:0;color:var(--primary);background:transparent;font-weight:600}.host-health-panel .panel-title-row{margin-bottom:12px}.host-health-list{display:grid;gap:10px}.host-health-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:10px 0;border-bottom:1px solid var(--line)}.host-health-row:last-child{border-bottom:0}.host-health-row>span{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.host-health-row.ok>span{background:#22c55e}.host-health-row.warn>span{background:#faad14}.host-health-row.bad>span{background:#ff4d4f}.host-health-row strong{display:block;color:var(--heading);font-size:14px}.host-health-row em{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.host-health-row b{color:#16a34a;font-size:14px}.host-health-row.warn b{color:#ad6800}.host-health-row.bad b{color:#cf1322}.host-side-card{min-height:0;padding:16px;border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.host-side-card .host-side-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px;margin:0 0 12px;color:var(--heading)}.host-side-card .host-side-card-head h3{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;color:var(--heading);font-size:15px;font-weight:600;line-height:24px}.host-side-card .host-side-card-head h3 span{display:inline-grid;width:24px;min-width:24px;height:24px;padding:0;place-items:center;border-radius:var(--radius-sm);color:var(--primary);background:var(--primary-soft)}.host-side-card .host-side-card-head h3 svg{display:block}.host-side-card .host-side-card-head>em{min-width:0;max-width:55%;overflow:hidden;color:var(--muted);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.host-side-card .host-info-list,.host-side-card .host-health-list{display:grid;gap:0}.host-side-card .host-info-row,.host-side-card .host-health-row{min-height:44px;padding:9px 0;border-bottom:1px solid var(--line)}.host-side-card .host-info-row{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px}.host-side-card .host-info-row:last-child,.host-side-card .host-health-row:last-child{border-bottom:0}.host-side-card .host-info-row>span,.host-side-card .host-info-row>strong,.host-side-card .host-health-row strong,.host-side-card .host-health-row b{font-size:14px;line-height:1.45}.host-side-card .host-info-row>span{color:var(--muted)}.host-side-card .host-info-row>strong{overflow:visible;color:var(--heading);font-weight:700;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.host-side-card .host-health-row em{margin-top:2px;font-size:12px;line-height:1.4}.host-side-card .host-info-id .id-hint{flex-basis:100%;margin-top:1px;line-height:1.4}.detail-view .modal{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.area-console{display:grid;gap:20px;min-width:0}.area-stat-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.area-filter-grid{display:grid;align-items:end;gap:16px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.area-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--text);font-size:14px;font-weight:600}.area-filter-grid input,.area-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.area-filter-grid .search-box{display:grid;grid-template-columns:minmax(0,1fr) 42px}.area-filter-grid .search-box input{border-radius:6px 0 0 6px}.area-filter-grid .search-box>button{width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 6px 6px 0}.area-filter-grid .legacy-filter-actions{grid-column:auto;flex-wrap:nowrap}.area-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:16px}.area-main-grid.single{grid-template-columns:minmax(0,1fr)}.area-list-table{width:100%;min-width:1280px;border-collapse:collapse;table-layout:fixed}.area-list-table .ip-row-actions{flex-wrap:nowrap}.area-row-disabled td{background:var(--panel-soft)}.agent-console{width:100%;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}.agent-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:16px}.agent-filter-grid{display:grid;align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;min-width:0}.agent-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--heading);font-size:14px;font-weight:600}.agent-filter-grid input,.agent-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-color:var(--line-strong);border-radius:var(--radius-sm)}.agent-filter-grid .search-box{display:grid;grid-template-columns:1fr 42px}.agent-filter-grid .search-box>button{width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 5px 5px 0}.agent-filter-grid .search-box input{border-radius:5px 0 0 5px}.agent-filter-grid .legacy-filter-actions{grid-column:auto;flex-wrap:nowrap}.agent-auth-switch{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 13px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-weight:700}.vmos-switch{position:relative;display:inline-flex;width:38px;height:22px}.vmos-switch input{position:absolute;inset:0;width:100%;min-width:0;height:100%;margin:0;opacity:0;pointer-events:none}.vmos-switch-track{position:absolute;inset:0;border-radius:999px;background:#c7ced8;transition:background .18s}.vmos-switch-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--panel);box-shadow:0 1px 4px #0f172a47;transition:transform .18s}.vmos-switch input:checked+.vmos-switch-track{background:var(--primary)}.vmos-switch input:checked+.vmos-switch-track .vmos-switch-thumb{transform:translate(16px)}.agent-list-table{width:100%;min-width:1180px;table-layout:fixed}.agent-list-table th{padding:0 10px;overflow:hidden;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:14px}.agent-list-table td{height:56px;padding:0 10px;overflow:hidden;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:14px}.agent-list-table th{height:44px;background:var(--panel-soft);font-weight:600}.agent-list-table td:first-child small{display:block;margin-top:4px;color:var(--muted)}.agent-list-table th:nth-child(1),.agent-list-table td:nth-child(1){width:126px}.agent-list-table th:nth-child(2),.agent-list-table td:nth-child(2){width:108px}.agent-list-table th:nth-child(3),.agent-list-table td:nth-child(3){width:80px}.agent-list-table th:nth-child(4),.agent-list-table td:nth-child(4){width:118px}.agent-list-table th:nth-child(5),.agent-list-table td:nth-child(5){width:82px}.agent-list-table th:nth-child(6),.agent-list-table td:nth-child(6),.agent-list-table th:nth-child(7),.agent-list-table td:nth-child(7),.agent-list-table th:nth-child(8),.agent-list-table td:nth-child(8){width:90px}.agent-list-table th:nth-child(9),.agent-list-table td:nth-child(9){width:142px}.agent-list-table th:nth-child(10),.agent-list-table td:nth-child(10){width:132px;overflow:visible}.host-table-actions{display:flex;align-items:center;gap:7px}.legacy-more-menu{position:fixed;z-index:500;display:grid;grid-auto-rows:32px;width:148px;max-width:calc(100vw - 16px);overflow-y:auto;overscroll-behavior:contain;padding:5px;color:var(--heading);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);box-shadow:0 14px 34px #0f172a2e;white-space:nowrap;font-size:14px}.legacy-more-menu button{justify-content:flex-start;width:100%;height:var(--control-height);padding:0 9px;border:0;border-radius:var(--radius-sm)}.legacy-more-menu button:hover{background:#f2f6fc}.legacy-more-menu button.danger{color:#ef4444}.token-note{margin:0 0 14px;color:#56647a;font-size:14px;line-height:1.7}.apikey-value{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 10px 8px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-soft)}.apikey-value code{min-width:0;overflow:hidden;color:var(--heading);text-overflow:ellipsis;white-space:nowrap}.apikey-value>span{display:flex;gap:7px}.settings-console{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}.settings-panel{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card);max-width:none}.settings-form{display:grid;gap:18px;padding:8px 0 0}.settings-field{display:grid;gap:8px;color:var(--text);font-size:14px}.settings-field>span{color:var(--text);font-weight:600}.settings-field input{width:320px;max-width:100%;height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 11px;color:var(--text)}.settings-field em{color:#94a3b8;font-size:12px;font-style:normal;line-height:1.6}.settings-actions{display:flex;justify-content:flex-start}.settings-strategy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(860px,100%);overflow:hidden;border:1px solid #cfd9e8;border-radius:var(--radius-sm)}.settings-strategy-option{position:relative;min-width:0;cursor:pointer}.settings-strategy-option:not(:last-child){border-right:1px solid #cfd9e8}.settings-strategy-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.settings-strategy-option-content{display:grid;min-height:72px;align-content:center;gap:4px;padding:10px 14px;color:#475569;background:var(--panel)}.settings-strategy-option-content strong{color:var(--text);font-size:14px}.settings-strategy-option-content small{color:#7c8ba1;font-size:12px;line-height:1.45}.settings-strategy-option input:checked+.settings-strategy-option-content{color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 -2px 0 var(--primary)}.settings-strategy-option input:checked+.settings-strategy-option-content strong{color:var(--primary)}.settings-strategy-option input:focus-visible+.settings-strategy-option-content{outline:2px solid var(--primary);outline-offset:-2px}.settings-strategy-rules{max-width:920px;padding-left:14px;border-left:3px solid #cbd8ea;color:#536176;font-size:14px;line-height:1.7}.settings-strategy-rules>strong{color:#27364d}.settings-strategy-rules ol{margin:7px 0 0;padding-left:20px}.settings-strategy-rules li+li{margin-top:3px}.settings-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-toggle-row>span{flex:1;color:#475569;font-size:14px;line-height:1.6}.settings-toggle-row em{display:block;margin-top:4px;color:#94a3b8;font-size:12px;font-style:normal}.settings-toggle-row .vmos-switch{width:46px;height:26px;flex:none}.settings-toggle-row .vmos-switch-track{border-radius:999px}.settings-toggle-row .vmos-switch-thumb{top:3px;left:3px;width:20px;height:20px}.settings-toggle-row .vmos-switch input:checked+.vmos-switch-track .vmos-switch-thumb{transform:translate(20px)}.legacy-title-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.legacy-title-actions>div{display:flex;gap:8px}.compact-list-actions{min-width:0;align-items:center}.compact-list-search{width:min(260px,34vw);grid-template-columns:minmax(0,1fr) 36px}.compact-list-search input,.compact-list-search>button{height:var(--control-height)}.compact-list-search>button{width:36px}.apikey-table{width:100%;margin-top:6px;border-collapse:collapse;table-layout:auto}.apikey-table th,.apikey-table td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;text-align:left;vertical-align:middle}.apikey-table th{background:var(--panel-soft);color:var(--muted);font-weight:600}.apikey-table th:nth-child(1),.apikey-table td:nth-child(1){max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apikey-table th:nth-child(2),.apikey-table td:nth-child(2){min-width:172px}.apikey-table th:nth-child(3),.apikey-table td:nth-child(3),.apikey-table th:nth-child(5),.apikey-table td:nth-child(5){white-space:nowrap}.api-key-console .apikey-table{min-width:920px}.api-key-console .apikey-value{justify-content:flex-start;min-height:0;padding:0;border:0;background:transparent;gap:8px}.api-key-console .apikey-value code{flex:0 1 auto;min-width:0;padding:3px 8px;overflow:hidden;color:#334155;background:#f1f5f9;border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.apikey-value-actions{display:inline-flex;flex:none;gap:6px}.apikey-ops-cell{white-space:nowrap}.apikey-ops{display:inline-flex;gap:6px;flex-wrap:nowrap}.apikey-modal-note{margin:6px 0 12px;color:var(--muted);font-size:14px;line-height:1.6}.apikey-reveal-box{padding:14px 16px;border-radius:var(--radius);background:var(--heading)}.apikey-reveal-box code{color:#7dd3fc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;word-break:break-all}.openapi-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.openapi-log-panel{max-width:none}.openapi-log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:16px 16px 0}.openapi-log-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.openapi-log-toolbar-left>strong{color:var(--heading);font-size:16px;white-space:nowrap}.openapi-log-filter{width:auto;min-width:130px;height:34px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 9px;background-color:var(--panel)}.openapi-log-toolbar-right{display:flex;gap:8px}.openapi-log-row{cursor:pointer}.openapi-log-row:hover{background:var(--panel-soft)}.openapi-log-table .log-method{color:#2563eb;font-size:12px;font-weight:700}.openapi-log-table .log-path{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.openapi-log-table .log-error{max-width:260px;overflow:hidden;color:#b91c1c;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.audit-log-table{min-width:1120px}.login-log-table{min-width:900px}.audit-log-table .log-operator{color:#1e293b;font-weight:600}.audit-log-table .log-module{white-space:nowrap}.audit-log-table .log-duration{color:var(--muted);white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.token-command{margin-top:16px}.token-command h3{margin:0 0 8px;color:var(--text);font-size:14px}.token-command pre{max-height:240px;overflow:auto;margin:0;padding:13px;color:#dbeafe;background:var(--heading);border-radius:var(--radius-sm);font-size:12px;line-height:1.6;white-space:pre-wrap}.host-group-console{gap:20px}.host-group-filter-grid{display:grid;align-items:end;gap:16px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.host-group-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--text);font-size:14px;font-weight:600}.host-group-filter-grid input,.host-group-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.host-group-filter-grid .search-box{display:grid;grid-template-columns:minmax(0,1fr) 42px}.host-group-filter-grid .search-box input{border-radius:6px 0 0 6px}.host-group-filter-grid .search-box>button{width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 6px 6px 0}.host-group-filter-grid .legacy-filter-actions{grid-column:auto;flex-wrap:nowrap}.config-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:16px}.config-list-table{width:100%;min-width:1050px;border-collapse:collapse}.image-group-console{gap:18px}.image-group-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.image-group-filter-grid{display:grid;align-items:end;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;min-width:0}.image-group-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--text);font-size:14px;font-weight:600}.image-group-filter-grid .search-box{display:grid;grid-template-columns:minmax(0,1fr) 42px}.image-group-filter-grid .search-box input{width:100%;min-width:0;height:var(--control-height);border-radius:6px 0 0 6px}.image-group-filter-grid .search-box>button{display:inline-flex;width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 6px 6px 0;align-items:center;justify-content:center}.image-group-filter-grid .legacy-filter-actions{grid-column:auto;flex-wrap:nowrap}.image-group-table-panel{min-width:0}.image-group-table-panel .legacy-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.image-group-list-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.image-group-list-table th{padding:0 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.image-group-list-table td{height:50px;padding:0 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.image-group-list-table th{height:46px;color:var(--text);background:var(--panel-soft);font-weight:700}.image-group-list-table th:nth-child(1){width:76px}.image-group-list-table th:nth-child(2){width:190px}.image-group-list-table th:nth-child(3){width:178px}.image-group-list-table th:nth-child(4),.image-group-list-table th:nth-child(5){width:104px}.image-group-list-table th:nth-child(7),.image-group-list-table td:nth-child(7){width:160px;overflow:visible;text-align:center}.image-group-name{display:inline-flex;max-width:100%;align-items:center;gap:10px}.image-group-name>span{overflow:hidden;text-overflow:ellipsis}.image-group-avatar{display:inline-grid;width:22px;min-width:22px;height:22px;place-items:center;border-radius:var(--radius-sm);color:var(--primary);background:var(--primary-soft);font-size:12px;font-style:normal;font-weight:600}.image-group-category{display:inline-flex;min-height:24px;padding:0 8px;align-items:center;border:1px solid #d8e4f5;border-radius:var(--radius-sm);color:#1f4f8f;background:var(--panel-soft);font-size:12px;font-weight:600}.image-group-remark{overflow:hidden;max-width:280px;color:var(--muted);text-overflow:ellipsis}.image-group-row-actions{display:inline-flex;min-width:104px;align-items:center;justify-content:center;flex-wrap:nowrap;gap:8px;white-space:nowrap}.image-group-row-actions button{width:48px;min-width:48px;height:var(--control-height);padding:0 8px;color:var(--primary);border-color:#8eb5ff;border-radius:var(--radius-sm);white-space:nowrap}.image-group-row-actions button.danger{color:#ef4444;border-color:#ffa39e}.volume-filter-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.volume-filter-row select{width:160px;min-width:0}.volume-filter-row>.clearable-filter-input{width:260px}.volume-filter-row input{width:100%}.light-btn{height:var(--control-height);padding:0 14px;color:var(--primary);background:var(--primary-soft);border:1px solid #d8e9ff;border-radius:var(--radius-sm)}.volume-table{min-width:1120px;table-layout:fixed}.volume-table th,.volume-table td{overflow:hidden;text-overflow:ellipsis}.volume-table th:nth-child(1),.volume-table td:nth-child(1){width:150px}.volume-table th:nth-child(2),.volume-table td:nth-child(2){width:84px}.volume-table th:nth-child(3),.volume-table td:nth-child(3){width:140px}.volume-table th:nth-child(4),.volume-table td:nth-child(4){width:125px}.volume-table th:nth-child(5),.volume-table td:nth-child(5){width:105px}.volume-table th:nth-child(6),.volume-table td:nth-child(6){width:150px}.volume-table th:nth-child(7),.volume-table td:nth-child(7),.volume-table th:nth-child(9),.volume-table td:nth-child(9),.volume-table th:nth-child(10),.volume-table td:nth-child(10){width:80px}.volume-table th:nth-child(8),.volume-table td:nth-child(8){width:112px}.volume-type-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:700}.volume-type-badge.sys{color:#245fae;background:#e9f1ff}.volume-type-badge.data{color:#24724a;background:#e8f7ee}.task-console{gap:20px;min-width:0}.task-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.task-stat-card{position:relative;display:grid;align-items:center;overflow:hidden;border:1px solid var(--line);background:var(--panel);grid-template-columns:44px minmax(0,1fr);min-height:112px;gap:14px;padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.task-stat-icon{display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius);font-size:20px}.task-stat-card.success .task-stat-icon{color:#16a34a;background:#e8f8ed}.task-stat-card.failed .task-stat-icon{color:#ef4444;background:#fff1f0}.task-stat-card span,.task-stat-card em{display:block;color:var(--muted);font-size:14px;font-style:normal}.task-stat-card strong{display:block;margin:7px 0;color:var(--heading);font-size:28px;line-height:1}.task-stat-card.running strong{color:var(--primary)}.task-stat-card.success strong{color:#16a34a}.task-stat-card.failed strong{color:#ef4444}.task-spark{position:absolute;right:20px;bottom:18px;width:64px;height:22px;border-bottom:2px solid rgba(22,119,255,.35);transform:skew(-18deg)}.task-stat-card.success .task-spark{border-bottom-color:#16a34a73}.task-stat-card.failed .task-spark{border-bottom-color:#ef444473}.task-filter-panel,.task-table-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.task-filter-panel{padding:18px 20px}.task-filter-grid{display:grid;align-items:end;gap:16px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.task-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--text);font-size:14px;font-weight:600}.task-filter-grid input,.task-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.task-filter-grid .search-box{display:grid;grid-template-columns:minmax(0,1fr) 42px}.task-filter-grid .search-box input{border-radius:6px 0 0 6px}.task-filter-grid .search-box>button{width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 6px 6px 0}.task-date-filter{grid-column:span 2}.task-date-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px}.task-date-range i{color:#8490a4;font-style:normal}.task-filter-actions{display:flex;gap:10px;flex-wrap:wrap}.task-filter-actions button{height:var(--control-height);min-width:62px;border-radius:var(--radius-sm)}.task-main-grid{display:grid;min-width:0;grid-template-columns:minmax(0,1fr)}.task-table-panel{min-width:0;padding:16px}.task-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0}.task-table-head .section-title{margin-bottom:14px}.task-legend{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px;flex-wrap:wrap}.task-legend .legend:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor}.task-legend .success{color:#16a34a}.task-legend .running{color:var(--primary)}.task-legend .pending{color:#fa8c16}.task-legend .failed{color:#ef4444}.task-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;overscroll-behavior-x:contain}.task-log-table{width:100%;min-width:1280px;border-collapse:collapse}.task-log-table th,.task-log-table td{min-height:58px;padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.task-log-table th{color:var(--text);background:var(--panel-soft);font-weight:700}.task-log-table th:last-child{position:sticky;right:0;min-width:116px;box-shadow:-8px 0 12px #0f172a0d}.task-log-table tr:not(.task-error-row)>td:last-child{position:sticky;right:0;z-index:2;min-width:116px;background:var(--panel);box-shadow:-8px 0 12px #0f172a0d}.task-log-table th:last-child{z-index:3;background:var(--panel-soft)}.task-log-table td:nth-child(3),.task-log-table td:nth-child(4),.task-error-row td{max-width:260px;overflow:hidden;text-overflow:ellipsis}.task-id{color:var(--heading);font-weight:600}.task-type-icon{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:8px;color:var(--primary);border:1px solid currentColor;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.task-progress{display:grid;grid-template-columns:92px 42px;align-items:center;gap:8px}.task-progress span{height:6px;overflow:hidden;background:var(--line);border-radius:999px}.task-progress i{display:block;height:100%;background:var(--primary);border-radius:inherit}.task-progress.success i{background:#16a34a}.task-progress.failed i{background:#ef4444}.task-progress.waiting i{background:#fa8c16}.task-progress em{color:var(--text);font-size:12px;font-style:normal}.task-row-actions{display:flex;gap:8px}.task-row-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:var(--control-height);min-width:48px;padding:0 10px;color:var(--primary);background:var(--panel);border-color:#8eb5ff;border-radius:var(--radius-sm)}.task-row-actions button.danger{color:#ef4444;border-color:#ffa39e}.task-row-actions button:disabled{color:#98a2b3;background:var(--panel-soft);border-color:var(--line-strong)}.task-error-row td{color:#ef4444;background:snow;font-size:12px;white-space:normal;overflow-wrap:anywhere}.task-error-row p{margin:0}.task-error-row p+p{margin-top:4px}.task-detail-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.task-detail-summary>div{min-width:0;padding:10px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm)}.task-detail-summary span,.task-detail-summary strong{display:block;overflow-wrap:anywhere}.task-detail-summary span{margin-bottom:6px;color:#7a8698;font-size:12px}.task-detail-summary strong{color:var(--text);font-size:14px}.task-detail-section{margin-top:16px}.task-detail-section h3{margin:0 0 9px;color:var(--text);font-size:14px}.task-detail-section pre{max-height:260px;overflow:auto;margin:0;padding:12px;color:#dbeafe;background:var(--heading);border-radius:var(--radius-sm);font-size:12px;line-height:1.6;white-space:pre-wrap}.task-error-box pre{color:#b42318;background:#fff1f0;border:1px solid #ffccc7}.task-json-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;max-width:100%;overscroll-behavior-x:contain}.detail-table{width:100%;min-width:650px}.port-range-console,.ip-pool-console,.ip-console{gap:20px;min-width:0}.ip-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ip-stat-card{display:grid;align-items:center;border:1px solid var(--line);background:var(--panel);grid-template-columns:44px minmax(0,1fr);min-height:112px;gap:14px;padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.ip-stat-icon{display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);font-weight:600;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius);font-size:20px}.ip-stat-card.free .ip-stat-icon{color:#16a34a;background:#e8f8ed}.ip-stat-card.error .ip-stat-icon{color:#ef4444;background:#fff1f0}.ip-stat-card span,.ip-stat-card em{display:block;color:var(--muted);font-size:14px;font-style:normal}.ip-stat-card strong{display:block;margin:7px 0;color:var(--heading);font-size:30px;line-height:1}.ip-stat-card.free strong{color:#16a34a}.ip-stat-card.error strong{color:#ef4444}.ip-filter-panel,.ip-table-panel,.ip-help-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.ip-filter-panel{padding:18px 20px}.port-range-filter-grid,.ip-pool-filter-grid,.ip-filter-grid{display:grid;align-items:end}.ip-filter-grid,.ip-pool-filter-grid,.port-range-filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;min-width:0}.ip-filter-grid label,.ip-pool-filter-grid label,.port-range-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--text);font-size:14px;font-weight:600}.ip-filter-grid input,.ip-filter-grid select,.ip-pool-filter-grid input,.ip-pool-filter-grid select,.port-range-filter-grid input,.port-range-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.ip-filter-grid .search-box,.ip-pool-filter-grid .search-box,.port-range-filter-grid .search-box{display:grid;grid-template-columns:minmax(0,1fr) 42px}.ip-filter-grid .search-box input,.ip-pool-filter-grid .search-box input,.port-range-filter-grid .search-box input{border-radius:6px 0 0 6px}.ip-filter-grid .search-box>button,.ip-pool-filter-grid .search-box>button,.port-range-filter-grid .search-box>button{width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 6px 6px 0}.port-range-filter-grid .ip-filter-actions{grid-column:1 / -1}.ip-filter-actions{display:flex;gap:10px;flex-wrap:wrap}.ip-filter-actions button{height:var(--control-height);min-width:62px;border-radius:var(--radius-sm)}.ip-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:16px}.ip-main-grid.single{grid-template-columns:minmax(0,1fr)}.ip-table-panel{min-width:0;padding:16px}.ip-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0}.ip-table-head .section-title{margin-bottom:14px}.ip-legend{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;flex-wrap:wrap}.ip-legend .legend:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#16a34a}.ip-legend .running:before{background:var(--primary)}.ip-legend .pending:before{background:#faad14}.ip-legend .failed:before{background:#ef4444}.ip-legend .stopped:before{background:#98a2b3}.ip-usage{display:grid;grid-template-columns:auto auto;align-items:center;min-width:95px;gap:6px}.ip-usage em{color:var(--muted);font-style:normal}.ip-usage strong{color:var(--primary)}.ip-usage span{grid-column:1/-1;height:6px;overflow:hidden;background:var(--line);border-radius:999px}.ip-usage i{display:block;height:100%;background:var(--primary);border-radius:inherit}.ip-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;overscroll-behavior-x:contain}.ip-pool-table{width:100%;min-width:1480px;table-layout:fixed}.port-range-table{width:100%;min-width:1320px;table-layout:fixed}.ip-address-table th{padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ip-address-table td{height:56px;padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ip-pool-table th{padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ip-pool-table td{height:56px;padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.port-range-table th{padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.port-range-table td{height:56px;padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ip-address-table th,.ip-pool-table th,.port-range-table th{height:44px;color:var(--text);background:var(--panel-soft);font-weight:700}.ip-address-table th:first-child,.ip-address-table td:first-child{width:46px}.ip-address-table th:last-child,.ip-address-table td:last-child{overflow:visible}.cloud-table.ip-pool-table th:last-child,.cloud-table.ip-pool-table td:last-child{width:280px;overflow:visible}.port-range-table th:last-child,.port-range-table td:last-child{width:116px;overflow:visible}.ip-address-table input[type=checkbox],.port-forward-select input{width:16px;min-width:16px;height:16px}.ip-row-actions{display:flex;gap:7px}.ip-row-actions button{height:var(--control-height);min-width:44px;padding:0 8px;color:var(--primary);border-color:#8eb5ff;border-radius:var(--radius-sm)}.ip-row-actions button.danger{color:#ef4444;border-color:#ffa39e}.ip-address-table .ip-row-actions,.ip-pool-table .ip-row-actions{flex-wrap:nowrap}.ip-error-row td{height:auto;color:#ef4444;background:snow;font-size:12px}.ip-pool-free{display:grid;grid-template-columns:42px minmax(46px,1fr);align-items:center;gap:8px;max-width:116px}.ip-pool-free strong{color:#16a34a}.ip-pool-free span,.port-range-usage span{height:6px;overflow:hidden;background:var(--line);border-radius:999px}.ip-pool-free i,.port-range-usage i{display:block;height:100%;background:#16a34a;border-radius:inherit}.ip-pool-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.ip-pool-summary span,.ip-pool-summary strong{display:block}.ip-pool-summary span{color:var(--muted);font-size:12px}.ip-pool-summary strong{overflow:hidden;margin-top:6px;color:var(--heading);text-overflow:ellipsis;white-space:nowrap}.ip-address-section{display:grid;gap:16px}.port-range-agent-cell,.port-range-segment{display:grid;gap:4px}.port-range-agent-cell strong,.port-range-segment strong{color:var(--heading)}.port-range-agent-cell span,.port-range-segment em{color:#78859a;font-size:12px;font-style:normal}.port-range-counts strong{color:var(--primary)}.port-range-counts em{color:var(--muted);font-style:normal}.port-range-usage{display:grid;grid-template-columns:40px minmax(60px,1fr);align-items:center;gap:7px}.port-range-usage strong{font-size:12px}.ip-address-section{min-width:0;grid-template-columns:minmax(0,1fr)}.port-forward-search{display:flex;align-items:center;gap:10px;padding:14px 16px;flex-wrap:wrap}.port-forward-search select{width:180px;max-width:100%}.port-forward-search>.clearable-filter-input{width:260px}.port-forward-search input{width:260px;max-width:100%}.port-forward-list{display:grid;gap:12px}.port-forward-card{display:grid;grid-template-columns:34px minmax(0,1fr) 120px;align-items:stretch;min-height:126px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.port-forward-select{padding-top:4px}.port-forward-main{display:grid;gap:16px}.port-forward-route{display:grid;grid-template-columns:minmax(180px,1fr) 42px minmax(180px,1fr);align-items:center;gap:10px}.port-endpoint{padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft)}.port-endpoint.private{background:#f6fff8;border-color:#d8f0df}.port-endpoint span,.port-endpoint strong{display:block}.port-endpoint span{margin-bottom:6px;color:var(--muted);font-size:12px}.port-endpoint strong{color:var(--heading);font-size:17px;overflow-wrap:anywhere}.port-arrow{display:grid;place-items:center;color:var(--primary)}.port-forward-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:12px}.port-forward-meta b{color:var(--text)}.port-forward-side{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;gap:12px}.port-rule-id{color:#8a94a6;font-size:12px}.row-action.danger{height:var(--control-height);color:#ef4444;border-color:#ffa39e}.port-forward-empty{display:grid;place-items:center;min-height:140px;border:1px dashed #d8e0eb;border-radius:var(--radius);color:#8a94a6}.vpc-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vpc-stat-card{border:1px solid var(--line);background:var(--panel)}.vpc-stat-card span,.vpc-stat-card em{display:block;color:var(--muted);font-size:14px;font-style:normal}.vpc-stat-card strong{display:block;margin:8px 0;color:var(--primary);font-size:30px}.vpc-stat-card.green strong{color:#16a34a}.vpc-stat-card.orange strong{color:#fa8c16}.vpc-stat-card.red strong{color:#ef4444}.vpc-filter-panel,.vpc-table-panel{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.vpc-filter-grid{display:grid;align-items:end;gap:16px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.vpc-filter-grid label{display:grid;gap:8px;color:var(--text);font-size:14px;font-weight:600}.vpc-filter-grid input,.vpc-filter-grid select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.vpc-filter-grid .search-box{display:grid;grid-template-columns:minmax(0,1fr) 42px}.vpc-filter-grid .search-box input{border-radius:6px 0 0 6px}.vpc-filter-grid .search-box>button{width:42px;min-width:42px;height:var(--control-height);padding:0;border-radius:0 6px 6px 0}.vpc-filter-actions{display:flex;gap:9px;flex-wrap:wrap}.vpc-filter-actions button{height:var(--control-height);min-width:62px}.vpc-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:100%;overscroll-behavior-x:contain}.vpc-network-table{width:100%;min-width:1180px;table-layout:fixed}.vpc-network-table th{padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.vpc-network-table td{height:58px;padding:10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.vpc-network-table th{height:44px;background:var(--panel-soft)}.vpc-network-table th:first-child,.vpc-network-table td:first-child{width:46px}.vpc-network-table th:nth-child(2),.vpc-network-table td:nth-child(2),.vpc-network-table th:nth-child(6),.vpc-network-table td:nth-child(6){width:130px}.vpc-network-table th:last-child,.vpc-network-table td:last-child{width:176px;overflow:visible}.vpc-name-cell,.vpc-stack-cell,.vpc-usage-cell{display:grid;gap:4px}.vpc-name-cell span,.vpc-stack-cell span,.vpc-usage-cell span{color:var(--muted);font-size:12px}.vpc-stack-cell strong,.vpc-usage-cell strong{color:var(--heading)}.vpc-row-actions{display:flex;gap:7px}.vpc-row-actions button{height:var(--control-height);min-width:48px;padding:0 8px;color:var(--primary);border-color:#8eb5ff;border-radius:var(--radius-sm)}.vpc-row-actions button.danger{color:#ef4444;border-color:#ffa39e}.vpc-error-detail td{height:auto;color:#ef4444;background:snow}.vpc-table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0}.vpc-footer-left{display:flex;align-items:center;gap:12px;padding:12px 0}.vpc-batch-delete{height:32px;color:#ef4444;border-color:#ffa39e}.vpc-table-footer .vm-table-footer{flex:1;border:0}.vpc-table-footer .vm-table-footer>span{display:none}.vpc-stat-card{display:grid;align-items:center;grid-template-columns:44px minmax(0,1fr);min-height:112px;gap:14px;padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-card)}.vpc-stat-icon{display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius);font-size:20px}.vpc-stat-card.green .vpc-stat-icon{color:#16a34a;background:#e8f8ed}.vpc-stat-card.orange .vpc-stat-icon{color:#ea580c;background:#fff1e8}.vpc-stat-card.red .vpc-stat-icon{color:#ef4444;background:#fff1f0}.vpc-footer-left{flex:0 0 auto;min-height:32px}.vpc-name-cell .table-link{justify-content:flex-start;text-align:left}.vpc-instance-list{display:flex;align-items:center;gap:4px;min-width:0}.vpc-instance-chip{display:grid;max-width:92px;height:auto;min-width:0;padding:2px 5px;border:1px solid #dbeafe;border-radius:var(--radius-sm);background:#eff6ff;text-align:left}.vpc-instance-chip b{overflow:hidden;color:#1d4ed8;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.vpc-instance-chip em{overflow:hidden;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.vpc-instance-more{flex:none}.vpc-detail-instances{margin-top:18px}.vpc-detail-instances h3{margin:0 0 10px;font-size:15px}.vpc-detail-instance-list{display:grid;gap:8px;max-height:280px;overflow:auto}.vpc-detail-instance-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft)}.vpc-detail-instance-list article>div{display:grid;gap:4px}.vpc-detail-instance-list article>div:last-child{justify-items:end}.vpc-detail-instance-list span{color:var(--muted);font-size:12px}.sg-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.security-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:16px}.security-list-table{width:100%;min-width:900px;table-layout:fixed}.security-list-table th{padding:0 10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.security-list-table td{height:56px;padding:0 10px;border-bottom:1px solid var(--line);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.security-list-table th{height:44px;background:var(--panel-soft)}.security-list-table th:nth-child(1),.security-list-table td:nth-child(1){width:70px}.security-list-table th:nth-child(2),.security-list-table td:nth-child(2){width:140px}.security-list-table th:nth-child(3),.security-list-table td:nth-child(3){width:190px}.security-list-table th:last-child,.security-list-table td:last-child{width:120px;overflow:visible}.sg-editor{display:grid;gap:16px}.sg-base-form{padding:0}.sg-rules-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.sg-rules-head>div{display:flex;flex-wrap:wrap;gap:8px}.sg-rules-hint{margin:0;padding:9px 11px;color:#825c13;background:#fff8e8;border:1px solid #f2d698;border-radius:var(--radius-sm);font-size:12px}.sg-rules-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;max-width:100%;overscroll-behavior-x:contain}.sg-rules-table{width:100%;min-width:900px;table-layout:fixed}.sg-rules-table th,.sg-rules-table td{height:48px;padding:7px;border-bottom:1px solid var(--line)}.sg-rules-table th{background:var(--panel-soft)}.sg-rules-table input,.sg-rules-table select{width:100%;min-width:0;height:var(--control-height);border-radius:var(--radius-sm)}.sg-rules-table th:last-child,.sg-rules-table td:last-child{width:48px}.management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:2px 0;flex-wrap:wrap;min-width:0}.management-head h1{margin:0;letter-spacing:0;color:var(--heading);font-size:24px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.management-head p{max-width:920px;margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.management-row-actions,.management-pagination,.management-head-actions,.management-toolbar{display:flex;align-items:center;gap:8px}.management-head-actions{flex:none;flex-wrap:wrap}.management-metrics{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.management-metric{min-height:96px;padding:17px 18px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-card)}.management-metric span,.management-metric small{display:block;color:var(--muted);font-size:12px}.management-metric strong{display:block;margin:7px 0 5px;color:var(--heading);font-size:24px;line-height:1;letter-spacing:0}.management-workspace{min-width:0;overflow:hidden;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-card)}.management-toolbar{min-height:58px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-soft);flex-wrap:wrap}.management-search{display:flex;align-items:center;width:min(390px,42vw);height:36px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:#8791a4}.management-search input{width:100%;min-width:0;border:0;outline:0;padding:0 0 0 8px;background:transparent;color:var(--text);font:inherit;letter-spacing:0}.management-search .clearable-filter-input{flex:1;width:100%}.management-select,.management-pagination select,.management-form-grid input,.management-form-grid select,.management-form-grid textarea,.rule-row input,.rule-row select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background-color:var(--panel);color:var(--text);font:inherit;letter-spacing:0}.management-select,.management-pagination select{height:var(--control-height);padding:0 var(--select-padding-right) 0 10px}.management-table-wrap{width:100%;overflow:auto;min-width:0;max-width:100%;overscroll-behavior-x:contain}.management-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:auto}.management-table td{height:48px;padding:8px 12px;border-bottom:1px solid var(--line);color:var(--text);text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.management-table th{padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;vertical-align:middle;white-space:nowrap;background:var(--panel-soft);color:#68748a;font-weight:600;height:44px}.management-table tbody tr:hover{background:#fbfcff}.management-table td>span:not(.management-status):not(.management-percent):not(.disk-type){display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis}.management-status,.disk-type{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.management-status.ok{background:#e8f7ee;color:#167346}.management-status.warn{background:#fff4d8;color:#9a6510}.management-status.bad{background:#fdebec;color:#b93742}.management-status.muted{background:#eef1f5;color:#69758a}.disk-type.system{background:#e9f1ff;color:#245fae}.disk-type.data{background:#e8f7ee;color:#24724a}.management-percent{position:relative;display:block;width:82px;height:22px;overflow:hidden;border-radius:var(--radius-sm);background:#edf1f6}.management-percent i{position:absolute;inset:0 auto 0 0;background:#bcd4fa}.management-percent b{position:relative;z-index:1;display:block;line-height:22px;text-align:center;font-size:12px}.management-row-actions{max-width:390px;flex-wrap:wrap}.management-row-actions button,.management-modal header>button,.rule-row button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:var(--control-height);padding:0 7px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:#40506a;cursor:pointer;font-size:12px}.management-row-actions button:hover{border-color:#9bbbf0;color:var(--primary)}.management-row-actions button.danger{border-color:#f1c9cd;color:#b63742}.management-empty{height:120px!important;color:#8b95a8!important;text-align:center!important}.management-pagination{justify-content:flex-end;min-height:58px;padding:10px 14px;color:var(--muted);font-size:12px}.management-pagination span{margin-right:auto}.management-pagination button{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:#46526a}.management-pagination button:disabled{opacity:.45}.management-error,.management-warning{margin:12px 14px;padding:10px 12px;border-radius:var(--radius-sm);font-size:12px;line-height:1.55}.management-error{background:#fdebec;color:#a82f3a}.management-warning{border:1px solid #f2d698;background:#fff8e8;color:#825c13}.management-modal-mask{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:24px;background:#161d2b7a}.management-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;border-radius:var(--radius-sm);background:var(--panel);box-shadow:0 24px 64px #141d2c3d}.management-modal>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.management-modal>footer{display:flex;align-items:center;gap:16px}.rule-editor>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.management-modal>header{position:sticky;z-index:3;top:0;min-height:58px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--panel)}.management-modal>header h2{margin:0;color:#1d273a;font-size:17px;letter-spacing:0}.management-modal>footer{justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--line)}.management-form-grid,.management-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:18px}.management-form-grid label{display:grid;gap:7px;color:#59667d;font-size:12px}.management-form-grid label.wide{grid-column:1 / -1}.management-form-grid input,.management-form-grid select{height:var(--control-height);padding:0 10px}.management-form-grid textarea{min-height:88px;padding:9px 10px;resize:vertical}.management-detail-item{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft)}.management-detail-item span,.management-detail-item strong{display:block}.management-detail-item span{margin-bottom:6px;color:var(--muted);font-size:12px}.management-detail-item strong{overflow-wrap:anywhere;color:var(--text);font-size:12px;font-weight:500}.management-json{margin:0 18px 18px}.management-json>strong{display:block;margin-bottom:7px;color:#47536a;font-size:12px}.management-json pre{max-height:280px;overflow:auto;margin:0;padding:12px;border-radius:var(--radius-sm);background:var(--heading);color:#dbe7f7;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.rule-editor{margin:0 18px 18px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft)}.rule-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:9px}.rule-row>:nth-child(4),.rule-row>:nth-child(5),.rule-row>:nth-child(6),.rule-row>:nth-child(9){grid-column:span 2}.rule-row>:last-child{align-self:center;justify-self:end}.rule-row input,.rule-row select{min-width:0;height:var(--control-height);padding:0 7px}.rule-enabled{display:inline-flex;align-items:center;gap:5px;height:34px;color:#465269;font-size:12px;white-space:nowrap}.rule-enabled input{width:15px;height:15px;padding:0}.text-button{border:0;background:transparent;color:var(--primary);cursor:pointer}.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft)}.setting-toggle span,.setting-toggle strong,.setting-toggle small{display:block}.setting-toggle small{margin-top:4px;color:var(--muted);line-height:1.45}.setting-toggle input{width:18px;height:18px;flex:none}.cluster-console{display:grid;gap:20px;min-width:0}.cluster-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.cluster-stat-grid .host-stat-card{min-height:112px;padding:18px}.cluster-stat-grid .host-stat-card>div{min-width:0}.cluster-stat-grid .host-stat-card>i{bottom:14px}.cluster-stat-icon.pool{color:var(--primary);background:var(--primary-soft)}.cluster-stat-icon.healthy{color:#16a34a;background:#e8f8ed}.cluster-stat-icon.agent{color:#0891b2;background:#e6f7fb}.cluster-stat-icon.ip{color:#7c3aed;background:#f3e8ff}.cluster-stat-icon.port{color:#ea580c;background:#fff1e8}.cluster-stat-icon.host{color:#475569;background:#eef2f6}.cluster-stat-icon.pool+div+i{background:#8fb7ff}.cluster-stat-icon.healthy+div+i{background:#72cf8b}.cluster-stat-icon.agent+div+i{background:#67c9dc}.cluster-stat-icon.ip+div+i{background:#b692f6}.cluster-stat-icon.port+div+i{background:#f9a66c}.cluster-stat-icon.host+div+i{background:#94a3b8}.cluster-filter-grid{display:grid;align-items:end;gap:16px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.cluster-filter-grid>label{display:grid;min-width:0;gap:7px;color:var(--text);font-size:14px;font-weight:600}.cluster-filter-grid .search-box{grid-template-columns:minmax(0,1fr) 42px}.cluster-filter-grid .search-box input,.cluster-filter-grid .search-box>button,.cluster-filter-grid select{height:var(--control-height)}.cluster-filter-grid .search-box input{width:100%;min-width:0}.cluster-filter-grid .search-box>button{width:42px;min-width:42px}.cluster-filter-grid select{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--select-padding-right) 0 10px;background-color:var(--panel);color:var(--text)}.cluster-filter-grid .legacy-filter-actions{grid-column:auto;flex-wrap:nowrap;padding-top:0}.cluster-grid{display:grid;align-items:stretch;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))}.cluster-card{display:grid;grid-template-rows:auto auto auto minmax(159px,1fr) auto auto;align-content:start;min-width:0;gap:16px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-card)}.cluster-card>.cloud-card-head{display:flex;align-self:start;align-items:flex-start;justify-content:space-between;min-width:0;gap:16px}.cluster-card>.cloud-card-head>div{min-width:0}.cluster-card .cloud-card-title{overflow-wrap:anywhere;color:var(--heading);font-size:17px;font-weight:700;line-height:1.35}.cluster-path{margin-top:4px;color:var(--muted);font-size:12px;font-weight:500}.resource-pool-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.resource-summary-item{display:grid;align-content:start;min-width:0;min-height:82px;gap:4px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.resource-summary-item span{color:var(--muted);font-size:12px}.resource-summary-item strong{color:var(--heading);font-size:18px;line-height:1.1}.resource-summary-item em{color:#98a2b3;font-size:12px;font-style:normal}.resource-relation-tree{display:grid;gap:10px;padding:12px;border:1px solid #d9e2f1;border-radius:var(--radius);background:var(--panel-soft)}.relation-node{display:inline-flex;width:fit-content;max-width:100%;align-items:center;min-height:30px;padding:6px 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:700}.relation-node.area{color:#1d39c4;background:var(--primary-soft)}.relation-node.pool{color:#135200;background:#f6ffed}.relation-branch{position:relative;display:grid;gap:10px;padding-left:18px}.relation-branch:before{content:"";position:absolute;left:6px;top:-4px;bottom:6px;width:1px;background:#c8d3e4}.relation-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.relation-group{min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.relation-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.relation-group-head span{color:var(--heading);font-size:14px;font-weight:700}.relation-group-head a{color:var(--primary);font-size:12px;text-decoration:none}.relation-group p{margin:4px 0 0;color:var(--text);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.cluster-members{display:grid;align-content:start;min-height:159px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.cluster-members-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cluster-members strong{color:var(--heading);font-size:14px}.cluster-members-count{padding:2px 9px;border-radius:999px;background:var(--line);color:var(--muted);font-size:12px;white-space:nowrap}.cluster-members-search-wrap{width:180px;max-width:100%;margin-left:auto}.cluster-members-search-wrap>.clearable-filter-input{width:100%}.cluster-members-search{width:100%;max-width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 10px;background:var(--panel);font-size:12px;height:var(--control-height)}.cluster-members-search:focus{outline:none;border-color:#2563eb}.cluster-members p,.cluster-members-hint{margin:0;color:var(--muted)}.cluster-members-list{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.35) transparent}.cluster-members-list::-webkit-scrollbar{width:7px}.cluster-members-list::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#64748b4d}.cluster-member{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr) auto auto;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid #f1f5f9}.cluster-member:last-child{border-bottom:none}.cm-name{overflow:hidden;color:#1e293b;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.cm-ip{overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.cluster-member-actions{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.cluster-card>.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:10px}.cluster-card>.info-grid>div{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:start;min-width:0;gap:12px}.cluster-card>.info-grid span{color:var(--muted);font-size:12px;line-height:1.5}.cluster-card>.info-grid strong{min-width:0;overflow-wrap:anywhere;color:var(--heading);font-size:14px;line-height:1.5}.cluster-card>.action-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.row-action.sm{padding:3px 10px;font-size:12px}.cluster-force-panel,.cluster-join-panel{display:grid;grid-column:1 / -1;gap:14px}.cluster-host-list{display:grid;gap:10px;margin-top:16px}.cluster-host-option{display:grid;grid-template-columns:20px 34px 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.cluster-host-option.disabled{background:var(--panel-soft);color:#98a2b3}.cluster-host-option input{width:16px;min-width:0;height:16px}.cluster-precheck-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700}.cluster-precheck-icon.ok{border:1px solid #b7eb8f;background:#f6ffed;color:#389e0d}.cluster-precheck-icon.fail{border:1px solid #ffccc7;background:#fff1f0;color:#cf1322}.cluster-host-text{display:grid;gap:4px}.cluster-host-text strong{font-size:14px;font-weight:500}.cluster-host-text small{color:var(--muted);font-size:12px;line-height:1.4}.detail-view code{padding:2px 5px;border-radius:var(--radius-sm);color:var(--text);background:#f2f4f7;font-family:Consolas,Courier New,monospace}.port-forward-search>.clearable-filter-input{width:260px;max-width:100%}@media(max-width:1440px){.image-list-card{grid-template-columns:24px 36px 40px minmax(0,1fr) 80px 144px}.image-card-actions{grid-column:4 / -1;justify-content:flex-start}}@media(max-width:1279px){.host-form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.host-auth-grid,.host-storage-cards{grid-template-columns:1fr}.vm-filter-actions{grid-column:1 / -1}.legacy-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-filter-grid .legacy-filter-actions,.agent-filter-grid .legacy-filter-actions,.host-group-filter-grid .legacy-filter-actions,.image-group-filter-grid .legacy-filter-actions,.task-filter-actions{grid-column:1 / -1}.port-forward-route{grid-template-columns:1fr}.port-arrow{transform:rotate(90deg)}.vpc-filter-actions{grid-column:1/-1}.rule-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cluster-grid{grid-template-columns:1fr}.cluster-card{grid-template-rows:none}.cluster-members{min-height:0}.cluster-filter-grid .legacy-filter-actions{grid-column:1 / -1}.storage-grid{grid-template-columns:1fr}.network-card,.sg-card{grid-column:1 / -1}.ip-pool-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-filter-actions{grid-column:1 / -1}.vm-detail-shell,.host-console-body,.area-main-grid,.agent-main-grid,.config-main-grid,.ip-main-grid,.security-main-grid{grid-template-columns:minmax(0,1fr)}.host-stat-grid,.area-stat-grid,.cluster-stat-grid,.host-kpi-strip,.management-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.vm-stat-grid,.image-stat-grid,.task-stat-grid,.ip-stat-grid,.vpc-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-detail-page-head{align-items:flex-start;flex-direction:column}.detail-view .detail-action-bar{justify-content:flex-start;max-width:none}.image-list-card{grid-template-columns:24px 36px 40px minmax(0,1fr)}.image-row-size,.image-row-dist,.image-card-actions{grid-column:4 / -1;justify-content:flex-start;text-align:left}}@media(max-width:900px){.image-page-head,.image-list-title,.image-batch-bar,.image-pagination{align-items:flex-start;flex-direction:column}.image-stat-grid,.image-detail-summary,.image-source-change-grid{grid-template-columns:1fr}.image-source-change-head{align-items:stretch;flex-direction:column}.image-list-card{grid-template-columns:22px 36px minmax(0,1fr);align-items:start}.image-row-id,.image-os-logo{grid-row:span 2}.image-row-size,.image-row-dist,.image-card-actions{grid-column:3 / -1;justify-content:flex-start;text-align:left}.image-card-actions{flex-wrap:wrap}.image-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-stat-grid,.split-grid,.generic-toolbar{grid-template-columns:1fr}.host-page-head{align-items:flex-start;flex-direction:column}.host-stat-grid{grid-template-columns:1fr}.openapi-stat-grid,.host-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.basic-grid{grid-template-columns:minmax(0,1fr)}.basic-divider{display:none}}@media(max-width:800px){.volume-filter-row{align-items:stretch;flex-direction:column}.volume-filter-row select,.volume-filter-row input,.volume-filter-row>.clearable-filter-input{width:100%}.task-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-json-grid{grid-template-columns:1fr}.task-detail-summary,.ip-stat-grid,.ip-pool-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.port-forward-card{grid-template-columns:26px minmax(0,1fr)}.port-forward-side{grid-column:2;align-items:flex-start;flex-direction:row}.port-forward-search{align-items:stretch;flex-direction:column}.port-forward-search select,.port-forward-search input,.port-forward-search>.clearable-filter-input{width:100%}}@media(max-width:760px){.settings-strategy-options{grid-template-columns:minmax(0,1fr)}.settings-strategy-option:not(:last-child){border-right:0;border-bottom:1px solid #cfd9e8}.settings-strategy-option-content{min-height:64px}.management-head,.management-toolbar{align-items:stretch;flex-direction:column}.management-head-actions{flex-wrap:wrap}.management-metrics,.management-form-grid,.management-detail-grid{grid-template-columns:1fr}.management-search{width:100%}.management-modal-mask{padding:12px}.management-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.cluster-stat-grid,.resource-pool-summary,.relation-children{grid-template-columns:1fr}.cluster-card{padding:14px}.cluster-card>.info-grid{grid-template-columns:1fr}.cluster-filter-grid .legacy-filter-actions{width:100%}.cluster-filter-grid .legacy-filter-actions button{flex:1}.cluster-member{grid-template-columns:1fr auto;grid-template-areas:"name actions" "ip status";row-gap:4px}.cm-name{grid-area:name}.cm-ip{grid-area:ip}.cluster-member .host-status-pill{grid-area:status;justify-self:end}.cluster-member-actions{grid-area:actions;justify-self:end;flex-wrap:wrap}.task-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.host-detail-hero{flex-direction:column;align-items:flex-start}.host-detail-actions{justify-content:flex-start}.management-pagination{flex-wrap:wrap}}@media(max-width:720px){.modal.host-form-modal{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}.host-form-grid.four,.host-form-grid.three,.host-form-grid.two,.ip-stat-grid,.ip-pool-summary,.batch-ip-grid,.ip-edit-grid,.ip-address-detail-grid{grid-template-columns:1fr}.ip-address-detail-hero{align-items:flex-start;flex-direction:column}.ip-address-detail-item.wide{grid-column:span 1}.ip-table-head,.ip-legend,.vm-hero,.vm-hero-actions{align-items:flex-start;flex-direction:column}.host-form-field.wide{grid-column:span 1}.host-form-help{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"icon title" "icon description"}.host-form-help.storage-help{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"icon title" "icon description" ". action"}.host-form-help .mini{justify-self:start}.basic-grid{grid-template-columns:1fr}.credential-kv{grid-template-columns:1fr;gap:6px}.credential-main{width:100%;flex-wrap:wrap}.gpu-passthrough-card .compact-detail-table{min-width:620px}.basic-divider{display:none}.instance-detail-page .resource-grid,.network-strip{grid-template-columns:1fr}}@media(max-width:700px){.task-date-filter{grid-column:1 / -1}.legacy-hero{align-items:flex-start;flex-direction:column}.legacy-stat-grid,.area-stat-grid,.image-group-stat-grid,.legacy-form-grid{grid-template-columns:1fr}.legacy-hero-actions{justify-content:flex-start}.legacy-pagination .legacy-jump-label,.legacy-pagination input,.legacy-pagination .legacy-page-total{display:none}}@media(max-width:650px){.vpc-stat-grid,.sg-stat-grid{grid-template-columns:1fr}.sg-rules-head{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.config-update-grid{grid-template-columns:1fr}.config-adjust-summary-row{flex-direction:column}.image-edit-grid,.image-checksum-grid,.host-kpi-strip,.host-stat-grid,.vm-stat-grid,.image-stat-grid,.task-stat-grid,.ip-stat-grid,.vpc-stat-grid,.area-stat-grid,.instance-detail-page .resource-grid,.task-detail-summary{grid-template-columns:minmax(0,1fr)}.vm-detail-title{gap:10px}}.login-mask{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;min-height:100svh;padding:20px;background:radial-gradient(ellipse at 50% 20%,#e8f0ff,transparent 65%),var(--bg)}.login-card{display:flex;flex-direction:column;background:var(--panel);width:min(420px,100%);gap:20px;padding:36px;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 48px #0f172a12}.login-brand{margin:0;color:var(--heading);font-weight:700;line-height:1.35;text-align:center;overflow-wrap:anywhere;font-size:22px}.login-sub{font-size:13px;text-align:center;margin:-10px 0 4px;color:var(--muted)}.login-field{display:flex;flex-direction:column;gap:6px}.login-field span{color:var(--text);font-size:14px;font-weight:500}.login-field input{width:100%;height:42px;padding:0 12px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);font-size:14px;transition:border-color .15s,box-shadow .15s;border-radius:var(--radius-sm)}.login-field input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.login-field input:disabled{color:var(--disabled);background:var(--panel-soft);cursor:not-allowed}.login-error{min-height:18px;margin:0;color:#dc2626;font-size:13px;line-height:18px;overflow-wrap:anywhere}.login-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;height:44px;gap:8px;padding:0 16px;color:var(--on-primary);background:var(--primary);border:0;font-size:15px;font-weight:600;transition:background .15s;border-radius:var(--radius-sm)}.login-btn:hover:not(:disabled){background:var(--primary-hover)}.login-btn:disabled{background:#93b4f5;cursor:default}.app-sidebar{position:fixed;inset:0 auto 0 0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;width:var(--sidebar-width);background:var(--panel);color:var(--text);border-right:1px solid var(--line);box-shadow:none;scrollbar-color:var(--line-strong) transparent;z-index:var(--z-navigation);padding-bottom:var(--space-4)}.app-sidebar::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-sidebar::-webkit-scrollbar-thumb{border-radius:3px;background:var(--line-strong)}.brand{display:flex;align-items:center;text-decoration:none;height:var(--topbar-height);padding:0 16px;gap:10px;color:var(--heading);background:var(--panel);border-bottom:1px solid var(--line);text-shadow:none}.brand-name{line-height:1.25;color:var(--heading);font-size:16px;font-weight:700;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu-btn{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:auto;padding:0;background:transparent;border:0;color:var(--muted);flex-shrink:0;border-radius:var(--radius-sm)}.sidebar-menu-btn:hover{color:var(--primary);background:var(--primary-soft)}.menu-group{padding:14px 0 8px;border-bottom:0}.menu-group:last-child{border-bottom:0}.menu-group-title{margin:0 0 8px 24px;color:var(--muted);font-size:12px;font-weight:500}.menu-item{position:relative;display:flex;align-items:center;width:calc(100% - 20px);margin:0 10px 3px;text-align:left;text-decoration:none;background:transparent;border:1px solid transparent;transition:background .16s ease,color .16s ease,border-color .16s ease;height:40px;padding:0 14px;gap:10px;color:var(--text);font-size:14px;font-weight:500;text-shadow:none;border-radius:var(--radius-sm)}.menu-item-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:19px;height:19px;margin-right:0;color:var(--muted)}.menu-item:hover{color:var(--primary);background:var(--panel-soft)}.menu-item.router-link-active{color:var(--primary);background:var(--primary-soft);border-color:transparent;box-shadow:none;font-weight:600}.menu-item.router-link-active .menu-item-icon{color:var(--primary)}.app-main{min-height:100vh;margin-left:var(--sidebar-width)}.app-topbar{position:sticky;top:0;display:flex;align-items:center;height:var(--topbar-height);gap:var(--space-4);padding:0 24px;color:var(--text);background:var(--panel);border-bottom:1px solid var(--line);box-shadow:none;z-index:var(--z-header)}.top-menu-btn{display:none;width:30px;height:30px;padding:0;background:transparent;border:0;color:var(--text)}.top-breadcrumb{display:flex;align-items:center;min-width:0;gap:12px;color:var(--muted);font-size:13px;font-weight:400}.top-breadcrumb i{font-style:normal;color:var(--line-strong)}.top-breadcrumb .current{color:var(--heading);font-weight:600}.topbar-tools{display:flex;align-items:center;margin-left:auto;gap:12px;flex-shrink:0}.top-icon-btn{display:inline-grid;place-items:center;padding:0;background:transparent;border:0;color:var(--muted);width:36px;min-width:36px;height:36px;border-radius:var(--radius-sm)}.top-icon-btn:hover{color:var(--primary);background:var(--primary-soft)}.top-user{display:flex;align-items:center;gap:10px;height:auto;background:transparent;border:0;font-size:14px;color:var(--text);font-weight:500;padding:0 0 0 12px;border-left:1px solid var(--line);border-radius:0}.top-user:hover{color:var(--primary)}.top-user i{font-style:normal;color:var(--muted)}.avatar{display:grid;place-items:center;width:32px;height:32px;font-weight:700;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm)}.app-content{padding:24px 24px 32px}.app-layout{min-height:100vh}.app-main,.app-content{min-width:0}.brand-home{display:flex;min-width:0;align-items:center;color:inherit;text-decoration:none;gap:10px;flex:1}.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-width)}.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width)}.sidebar-collapsed .brand{justify-content:center;padding:0}.sidebar-collapsed .brand-home,.sidebar-collapsed .menu-group-title,.sidebar-collapsed .menu-item>span:last-child{display:none}.sidebar-collapsed .sidebar-menu-btn{margin:0}.sidebar-collapsed .menu-group{padding:10px 0}.sidebar-collapsed .menu-item{width:44px;margin:0 10px 4px;padding:0;justify-content:center}.sidebar-collapsed .menu-item-icon{margin:0}.app-nav-overlay{display:none}.command-backdrop{position:fixed;inset:0;display:grid;align-items:start;justify-items:center;padding-top:min(18vh,150px);border:0;z-index:var(--z-popover);background:var(--overlay)}.command-panel{width:min(560px,calc(100vw - 32px));max-height:66vh;overflow-y:auto;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.command-input{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #e5eaf2}.command-input input{width:100%;height:46px;padding:0;border:0;outline:0}.command-item{display:flex;width:100%;min-height:48px;align-items:center;gap:12px;padding:7px 10px;color:#26354d;background:transparent;border:0;border-radius:var(--radius-sm);text-align:left}.command-item:hover{background:#f1f5f9}.command-item span,.command-item strong,.command-item small{display:block;min-width:0}.command-item small{margin-top:2px;color:#7a8698}.command-empty{margin:0;padding:18px;color:#7a8698;text-align:center}.global-search-panel{width:min(660px,calc(100vw - 32px));padding:0;overflow:hidden}.global-search-panel .command-input{position:sticky;top:0;z-index:3;padding:0 16px;background:var(--panel)}.command-tree{max-height:calc(66vh - 47px);padding:10px 12px 14px;overflow-y:auto}.command-tree-group+.command-tree-group{margin-top:12px}.command-tree-group>header{display:flex;height:30px;align-items:center;gap:5px;color:#526174;font-size:12px}.command-tree-group>header svg{color:#8b98a9}.command-tree-menu{margin-left:10px;padding-left:14px;border-left:1px solid var(--line)}.command-tree-menu+.command-tree-menu{margin-top:7px}.command-tree-menu-head{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:12px}.command-tree-menu-head>span{display:flex;min-width:0;align-items:center;gap:7px;color:#26354d}.command-tree-menu-head>span svg{flex:0 0 auto;color:var(--primary)}.command-tree-menu-head small{color:#8692a3;font-size:11px;font-weight:400}.command-tree-menu-head>button{flex:0 0 auto;padding:4px 6px;color:var(--primary);background:transparent;border:0;font-size:12px}.command-tree-item{display:grid;width:calc(100% - 4px);min-height:40px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;margin:2px 0 2px 4px;padding:6px 9px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm);text-align:left}.command-tree-item:hover,.command-tree-item.active{background:#eef5ff}.command-tree-item>svg{color:#9aa6b5}.command-tree-item>span{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:12px}.command-tree-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.command-tree-item small{flex:0 0 auto;color:var(--disabled);font-size:11px}.command-tree-item mark{padding:0 1px;color:#7a4300;background:#ffe58f;border-radius:2px}.command-error{display:flex;min-height:74px;align-items:center;justify-content:center;gap:12px;padding:16px;color:#c2413b}.command-error button{padding:5px 9px;color:var(--primary);background:var(--panel);border:1px solid var(--primary-line);border-radius:var(--radius-sm)}.top-tool-panel{position:fixed;top:66px;right:18px;z-index:70;width:min(390px,calc(100vw - 24px));max-height:min(70vh,560px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.top-tool-panel header{position:sticky;top:0;z-index:2;display:flex;min-height:46px;align-items:center;padding:0 14px;background:var(--panel);border-bottom:1px solid #e5eaf2}.help-panel>button{display:flex;width:100%;min-height:54px;align-items:center;gap:10px;padding:9px 14px;color:#26354d;background:var(--panel);border:0;border-bottom:1px solid #edf0f5;text-align:left}.help-panel>button:hover{background:var(--panel-soft)}.brand-symbol{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;color:var(--primary);background:var(--primary-soft);border-radius:8px}.top-search-btn{display:inline-flex;width:auto;min-width:176px;justify-content:flex-start;gap:10px;padding:0 12px;background:var(--panel-soft);border:1px solid var(--line);font-weight:400;font-size:13px}.login-symbol{display:grid;place-items:center;width:48px;height:48px;margin:0 auto;color:var(--primary);background:var(--primary-soft);border-radius:12px}@media(max-width:480px){.login-card{padding:28px 24px}}@media(max-width:900px){.app-sidebar,.sidebar-collapsed .app-sidebar{position:fixed;z-index:65;width:min(320px,86vw);min-height:100vh;padding-bottom:70px;transform:translate(-102%);transition:transform .2s ease}.app-sidebar.open{transform:translate(0)}.app-main,.sidebar-collapsed .app-main{margin-left:0}.app-sidebar .menu-group{display:block;padding:12px 0;overflow:visible}.app-sidebar .menu-group-title,.sidebar-collapsed .menu-group-title{display:block}.app-sidebar .menu-item,.sidebar-collapsed .menu-item{width:calc(100% - 20px);min-width:0;margin:0 10px 3px;padding:0 0 0 28px;justify-content:flex-start}.sidebar-collapsed .menu-item>span:last-child,.sidebar-collapsed .brand-home{display:flex}.app-sidebar .menu-item-icon,.sidebar-collapsed .menu-item-icon{margin-right:14px}.sidebar-collapsed .brand{justify-content:flex-start;padding:0 22px 0 28px}.sidebar-collapsed .sidebar-menu-btn{margin-left:auto}.top-menu-btn{display:inline-grid;place-items:center}.app-nav-overlay{position:fixed;inset:0;z-index:60;display:block;padding:0;background:#0f172a73;border:0;height:100dvh;width:100%;border-radius:0}.command-backdrop{padding-top:72px}.global-search-panel{width:calc(100vw - 20px);max-height:calc(100vh - 92px)}.command-tree{max-height:calc(100vh - 140px)}.command-tree-item>span{align-items:flex-start;flex-direction:column;gap:2px}.legacy-title-actions{align-items:stretch;flex-direction:column}.compact-list-actions{width:100%;flex-wrap:wrap}.compact-list-search{width:min(100%,360px);flex:1 1 220px}.top-search-btn{width:36px;min-width:36px;padding:0;justify-content:center}.top-search-btn span{display:none}.app-content{padding:16px}}@media(min-width:901px)and (max-width:1279px){.app-content{padding:20px 16px 28px}.app-topbar{padding:0 16px}.top-search-btn{min-width:144px}}
