.cu-update-nav-button .cu-update-nav-icon{font-size:15px;line-height:1}.cu-update-overlay{position:fixed;inset:0;z-index:100000;background:rgba(8,17,34,.68);backdrop-filter:blur(4px);display:flex;align-items:stretch;justify-content:flex-end}.cu-update-panel{width:min(1120px,calc(100vw - 40px));height:100%;background:var(--panel-bg,#f4f7fb);color:var(--text-color,#12213a);box-shadow:-20px 0 60px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.cu-update-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border-bottom:1px solid #dce5f2}.cu-update-header-copy{min-width:0;flex:1}.cu-update-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#71809a;font-weight:800}.cu-update-header h2{margin:3px 0 2px;font-size:25px}.cu-update-header p{margin:0;color:#64738c;font-size:13px}.cu-update-header-actions{display:flex;gap:8px;align-items:center}.cu-update-button{border:1px solid #cdd9e8;background:#fff;color:#17345f;border-radius:11px;padding:9px 14px;font-weight:800;cursor:pointer}.cu-update-button:hover{background:#f1f6fd}.cu-update-button.primary{background:#1766d2;color:#fff;border-color:#1766d2}.cu-update-button.danger{color:#b42318;border-color:#f1c4c1}.cu-update-button:disabled{opacity:.55;cursor:not-allowed}.cu-update-close{width:38px;height:38px;border-radius:10px;border:1px solid #d7e0ed;background:#fff;font-size:24px;line-height:1;cursor:pointer}.cu-update-body{padding:20px 24px 36px;overflow:auto;display:grid;gap:18px}.cu-update-statusbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cu-update-stat{background:#fff;border:1px solid #dbe5f1;border-radius:15px;padding:14px 16px}.cu-update-stat span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#75839a;font-weight:800}.cu-update-stat strong{display:block;margin-top:5px;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cu-update-section{background:#fff;border:1px solid #dbe5f1;border-radius:17px;overflow:hidden}.cu-update-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e7edf5}.cu-update-section-head h3{margin:0;font-size:17px}.cu-update-section-head p{margin:3px 0 0;color:#71809a;font-size:12px}.cu-update-upload{display:flex;align-items:center;gap:9px}.cu-update-file{display:none}.cu-update-table-wrap{overflow:auto}.cu-update-table{width:100%;border-collapse:collapse;min-width:760px}.cu-update-table th,.cu-update-table td{padding:12px 14px;border-bottom:1px solid #edf1f6;text-align:left;font-size:13px;vertical-align:middle}.cu-update-table th{background:#f8fafd;color:#6a7890;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.cu-update-table tr:last-child td{border-bottom:0}.cu-update-file-name{font-weight:800;color:#17345f;max-width:390px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cu-update-muted{font-size:11px;color:#8490a4;margin-top:3px}.cu-update-actions{display:flex;gap:7px;justify-content:flex-end}.cu-update-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#edf3fb;color:#45607f}.cu-update-badge.success{background:#e9f8ef;color:#167543}.cu-update-badge.failed{background:#fff0ef;color:#b42318}.cu-update-badge.running,.cu-update-badge.preparing,.cu-update-badge.queued{background:#fff7df;color:#8b5b00}.cu-update-badge.invalid{background:#fff0ef;color:#b42318}.cu-update-empty{padding:28px;text-align:center;color:#738198}.cu-update-warning{padding:13px 15px;border:1px solid #f3d99c;background:#fff8e6;border-radius:13px;color:#795510;font-size:13px}.cu-update-job{display:none}.cu-update-job.active{display:block}.cu-update-job-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid #e7edf5}.cu-update-log{margin:0;background:#0e1728;color:#d9e5f6;padding:16px 18px;min-height:260px;max-height:48vh;overflow:auto;font:12px/1.55 Consolas,"Courier New",monospace;white-space:pre-wrap;word-break:break-word}.cu-update-network{display:none;padding:10px 16px;background:#fff7df;color:#8b5b00;font-size:12px;font-weight:700}.cu-update-network.visible{display:block}.cu-update-toast{position:fixed;right:28px;bottom:24px;z-index:100005;max-width:480px;padding:12px 16px;border-radius:12px;background:#14233b;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:13px}.cu-update-toast.error{background:#a32219}.cu-update-progress{width:16px;height:16px;border:2px solid #c9d8ea;border-top-color:#1766d2;border-radius:50%;display:inline-block;animation:cu-spin .8s linear infinite}@keyframes cu-spin{to{transform:rotate(360deg)}}
[data-theme="dark"] .cu-update-panel{background:#101827;color:#e8eef8}[data-theme="dark"] .cu-update-header,[data-theme="dark"] .cu-update-section,[data-theme="dark"] .cu-update-stat{background:#172235;border-color:#2a3a52}[data-theme="dark"] .cu-update-section-head,[data-theme="dark"] .cu-update-header{border-color:#2a3a52}[data-theme="dark"] .cu-update-table th{background:#111b2d}[data-theme="dark"] .cu-update-table td{border-color:#27364c}[data-theme="dark"] .cu-update-button,[data-theme="dark"] .cu-update-close{background:#1b2940;border-color:#34465f;color:#e7eef9}[data-theme="dark"] .cu-update-file-name{color:#dceaff}
@media(max-width:760px){.cu-update-panel{width:100vw}.cu-update-header{padding:16px}.cu-update-header p{display:none}.cu-update-header-actions .cu-update-button{display:none}.cu-update-body{padding:14px}.cu-update-statusbar{grid-template-columns:1fr}.cu-update-section-head{align-items:flex-start;flex-direction:column}.cu-update-upload{width:100%}.cu-update-upload .cu-update-button{flex:1}.cu-update-actions{justify-content:flex-start}.cu-update-overlay{background:#f4f7fb}}
.cu-update-admin-group{margin-top:4px}.cu-update-admin-button{width:100%;text-align:left}.cu-update-admin-button::before{content:'↑';display:inline-flex;align-items:center;justify-content:center;width:22px;margin-right:7px;font-weight:900;color:#1766d2}
.cu-update-head-tools{display:flex;align-items:center;gap:10px}.cu-update-live{display:inline-flex;align-items:center;gap:7px;color:#167543;font-size:11px;font-weight:800}.cu-update-live::before{content:'';width:8px;height:8px;border-radius:50%;background:#20a862;box-shadow:0 0 0 4px rgba(32,168,98,.13);animation:cu-pulse 1.4s infinite}.cu-update-live.done{color:#6f7c90}.cu-update-live.done::before{background:#9aa7ba;box-shadow:none;animation:none}@keyframes cu-pulse{50%{opacity:.4}}
.cu-update-job-overview{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid #e7edf5}.cu-update-job-overview>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.cu-update-job-overview strong[data-job="message"]{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cu-update-job-facts{display:flex;gap:14px;flex-wrap:wrap;color:#71809a;font-size:11px}.cu-update-job-facts b{color:#17345f}.cu-update-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 18px;background:#f8fafd;border-bottom:1px solid #e7edf5}.cu-update-steps span{display:flex;align-items:center;gap:8px;color:#78869b;font-size:11px;font-weight:800}.cu-update-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6edf6;color:#61718a}.cu-update-steps .reached{color:#1766d2}.cu-update-steps .reached b{background:#dcecff;color:#1766d2}.cu-update-steps .done{color:#167543}.cu-update-steps .done b{background:#dff5e8;color:#167543}.cu-update-steps .failed{color:#b42318}.cu-update-steps .failed b{background:#fee4e2;color:#b42318}.cu-update-last-error{display:none;margin:12px 18px 0;padding:11px 13px;border:1px solid #f0b8b3;background:#fff3f2;color:#922018;border-radius:11px}.cu-update-last-error.visible{display:block}.cu-update-last-error strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.cu-update-last-error pre{margin:5px 0 0!important;white-space:pre-wrap!important;font:11px/1.45 Consolas,"Courier New",monospace!important;color:inherit!important;background:transparent!important;max-height:none!important;overflow:visible!important}
.cu-update-log-shell{margin:12px 18px 18px;border:1px solid #283954;border-radius:13px;overflow:hidden;background:#0e1728}.cu-update-log-toolbar{min-height:43px;padding:7px 9px 7px 14px;background:#18253a;color:#d8e4f5;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.cu-update-log-toolbar>div:first-child{white-space:nowrap}.cu-update-log-actions{display:flex;gap:6px;overflow-x:auto}.cu-update-log-actions button{flex:0 0 auto;border:1px solid #40516a;background:#24344b;color:#eef5ff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}.cu-update-log-actions button:hover{background:#30445f}.cu-update-job.active .cu-update-log{display:block!important;box-sizing:border-box!important;width:100%!important;height:clamp(380px,54vh,720px)!important;min-height:380px!important;max-height:none!important;margin:0!important;padding:16px 18px!important;overflow:auto!important;background:#0e1728!important;color:#d9e5f6!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:normal!important;font:12px/1.6 Consolas,"Courier New",monospace!important;scrollbar-color:#54657e #142033}.cu-update-job.active .cu-update-log.nowrap{white-space:pre!important;overflow-wrap:normal!important}.cu-log-line{display:block;min-height:1.6em}.cu-log-line.error{color:#ff8d86;background:rgba(221,55,45,.08)}.cu-log-line.success{color:#66dda0}.cu-log-line.warning{color:#ffd166}.cu-log-line.stage{color:#82bdff;font-weight:700}
.cu-update-job.log-expanded{display:flex!important;position:fixed!important;inset:12px!important;z-index:100010!important;flex-direction:column!important;background:#fff!important;border-radius:16px!important;box-shadow:0 25px 80px rgba(0,0,0,.4)!important}.cu-update-job.log-expanded .cu-update-log-shell{display:flex;flex:1;min-height:0;flex-direction:column}.cu-update-job.log-expanded .cu-update-log{height:auto!important;min-height:0!important;flex:1}.cu-update-job.log-expanded .cu-update-section-head,.cu-update-job.log-expanded .cu-update-job-overview,.cu-update-job.log-expanded .cu-update-steps,.cu-update-job.log-expanded .cu-update-last-error{flex:0 0 auto}
[data-theme="dark"] .cu-update-steps{background:#111b2d;border-color:#2a3a52}[data-theme="dark"] .cu-update-job-facts b{color:#dceaff}[data-theme="dark"] .cu-update-job.log-expanded{background:#172235!important}
@media(max-width:760px){.cu-update-head-tools{width:100%;justify-content:space-between}.cu-update-job-overview{align-items:flex-start;flex-direction:column}.cu-update-job-overview>div:first-child{align-items:flex-start;flex-direction:column}.cu-update-job-overview strong[data-job="message"]{white-space:normal}.cu-update-job-facts{gap:8px 14px}.cu-update-steps{padding:10px 12px;gap:3px}.cu-update-steps span{font-size:9px;gap:4px}.cu-update-log-shell{margin:10px}.cu-update-log-toolbar{align-items:flex-start;flex-direction:column}.cu-update-log-actions{width:100%;padding-bottom:2px}.cu-update-job.active .cu-update-log{height:56dvh!important;min-height:340px!important;font-size:11px!important}.cu-update-job.log-expanded{inset:0!important;border-radius:0!important}.cu-update-job.log-expanded .cu-update-section-head{flex-direction:row;align-items:center}.cu-update-job.log-expanded .cu-update-steps,.cu-update-job.log-expanded .cu-update-last-error{display:none}}
.cu-update-audit{display:none;background:#fff;border:1px solid #dbe5f1;border-radius:17px;overflow:hidden}.cu-update-audit.visible{display:block}.cu-update-audit-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e7edf5}.cu-update-audit-head>div:first-child{min-width:0}.cu-update-audit-head>div:last-child{display:flex;gap:8px;flex:0 0 auto}.cu-update-audit-head strong{display:block;margin-top:6px;font-size:16px}.cu-update-audit-head p{margin:4px 0 0;color:#71809a;font-size:12px}.cu-update-audit-state{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eaf1fa;color:#45607f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cu-update-audit-state.running{background:#fff7df;color:#8b5b00}.cu-update-audit-state.ok{background:#e6f7ed;color:#167543}.cu-update-audit-state.warning{background:#fff4d6;color:#8b5b00}.cu-update-audit-state.error{background:#fff0ef;color:#b42318}.cu-update-audit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 18px 18px}.cu-update-audit-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dde6f2;border-radius:12px;background:#f9fbfd}.cu-update-audit-check>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#e3ebf5;color:#536782;font-weight:900}.cu-update-audit-check strong{font-size:12px}.cu-update-audit-check p{margin:3px 0 0;color:#71809a;font-size:11px;line-height:1.4}.cu-update-audit-check.ok>span{background:#daf2e4;color:#167543}.cu-update-audit-check.warning>span{background:#ffedb6;color:#8b5b00}.cu-update-audit-check.error{border-color:#f0c2be;background:#fff7f6}.cu-update-audit-check.error>span{background:#fee2e0;color:#b42318}[data-theme="dark"] .cu-update-audit{background:#172235;border-color:#2a3a52}[data-theme="dark"] .cu-update-audit-head{border-color:#2a3a52}[data-theme="dark"] .cu-update-audit-check{background:#111b2d;border-color:#2a3a52}
@media(max-width:760px){.cu-update-header-actions .cu-update-button[data-act="audit"]{display:inline-flex;padding:8px 10px;font-size:11px}.cu-update-header-actions{gap:5px}.cu-update-audit-head{align-items:flex-start;flex-direction:column}.cu-update-audit-head>div:last-child{width:100%}.cu-update-audit-head>div:last-child .cu-update-button{flex:1}.cu-update-audit-list{grid-template-columns:1fr;padding:12px}.cu-update-audit-check{padding:10px}}
