#hubProjectUpdaterBtn{border-color:rgba(74,183,255,.45);background:linear-gradient(180deg,rgba(15,80,120,.92),rgba(8,51,83,.96));color:#eaf8ff;font-weight:700}
#hubProjectUpdaterBtn:hover{border-color:rgba(88,198,255,.78);transform:translateY(-1px)}
.projectUpdaterModal{z-index:1400}
.projectUpdaterCard{width:min(1100px,96vw);max-height:92vh;overflow:hidden;padding:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#071b2d,#061522);border:1px solid rgba(107,187,235,.25);box-shadow:0 28px 80px rgba(0,0,0,.55)}
.projectUpdaterHeader{display:flex;align-items:flex-start;gap:16px;padding:22px 24px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.projectUpdaterHeader h2{margin:3px 0 5px;font-size:23px}.projectUpdaterHeader p{margin:0;color:#9db5c8}
.projectUpdaterHeader .hubIconClose{margin-left:auto}
.projectUpdaterSenderBox{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,2fr) auto;gap:12px;align-items:center;padding:14px 24px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.07)}
.projectUpdaterSenderLabel{display:flex;flex-direction:column;gap:3px;color:#91a9bc;font-size:12px}.projectUpdaterSenderLabel b{font-size:13px;color:#dbeaf4}
.projectUpdaterSender,.projectUpdaterState{padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.04);color:#c8d8e4;min-height:38px;display:flex;align-items:center}
.projectUpdaterSender.ok,.projectUpdaterState.ok{background:rgba(40,168,100,.12);color:#a9efc6;border:1px solid rgba(53,194,117,.2)}
.projectUpdaterSender.warn,.projectUpdaterState.warn{background:rgba(224,161,56,.12);color:#f4d9a4;border:1px solid rgba(224,161,56,.2)}
.projectUpdaterSender.err,.projectUpdaterState.err{background:rgba(218,73,73,.12);color:#ffc0c0;border:1px solid rgba(218,73,73,.24)}
.projectUpdaterSender.busy,.projectUpdaterState.busy{color:#b7ddf4;border:1px solid rgba(79,171,224,.18)}
.projectUpdaterLive{margin:10px 24px 0;padding:11px 12px;border:1px solid rgba(79,171,224,.2);border-radius:9px;background:rgba(32,115,168,.08)}.projectUpdaterLiveHead{display:flex;gap:10px;align-items:center}.projectUpdaterLiveHead span{margin-left:auto;font-size:11px;color:#8fa6b7;font-variant-numeric:tabular-nums}.projectUpdaterLiveDetail{margin-top:4px;font-size:12px;color:#b7cddd}.projectUpdaterLiveTrack{height:7px;margin-top:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}.projectUpdaterLiveBar{height:100%;width:0;transition:width .18s linear;background:#6fb8e6}
.projectUpdaterToolbar{display:flex;gap:8px;align-items:center;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.07)}
.projectUpdaterToolbar .spacer{flex:1}.projectUpdaterToolbar button{font-size:12px}
.projectUpdaterList{padding:10px 24px 16px;overflow:auto;min-height:220px;max-height:48vh;display:flex;flex-direction:column;gap:7px}
.projectUpdaterRow{display:grid;grid-template-columns:24px minmax(260px,1fr) 150px minmax(150px,260px);gap:12px;align-items:center;padding:12px 13px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025);cursor:pointer}
.projectUpdaterRow:hover{border-color:rgba(86,177,231,.28);background:rgba(255,255,255,.04)}.projectUpdaterRow.disabled{opacity:.55;cursor:not-allowed}
.projectUpdaterRow input{width:18px;height:18px}.projectUpdaterRowMain{display:flex;flex-direction:column;gap:3px;min-width:0}.projectUpdaterRowMain strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectUpdaterRowMain span{font-size:11px;color:#8fa6b7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.projectUpdaterBadge{justify-self:start;font-size:11px;font-weight:700;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);white-space:nowrap}.projectUpdaterBadge.ok{color:#a9efc6;background:rgba(40,168,100,.12)}.projectUpdaterBadge.warn{color:#f4d9a4;background:rgba(224,161,56,.12)}.projectUpdaterBadge.new{color:#bfe8ff;background:rgba(72,159,218,.12)}.projectUpdaterBadge.muted{color:#98a8b3;background:rgba(255,255,255,.04)}
.projectUpdaterProgress{font-size:11px;color:#8fa6b7;text-align:right;overflow:hidden;text-overflow:ellipsis}.projectUpdaterProgress.ok{color:#96e8b9}.projectUpdaterProgress.err{color:#ffaaaa}.projectUpdaterProgress.busy{color:#b5dff7}.projectUpdaterProgress.warn{color:#f4d9a4}
.projectUpdaterEmpty{padding:38px;text-align:center;color:#91a7b8}
.projectUpdaterFooter{display:flex;align-items:center;gap:12px;padding:15px 24px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}.projectUpdaterFooterNote{font-size:11px;color:#8fa6b7;max-width:620px}.projectUpdaterFooter .spacer{flex:1}
.projectUpdaterWorker{position:fixed!important;left:-10000px!important;top:-10000px!important;width:2px!important;height:2px!important;opacity:0!important;pointer-events:none!important;border:0!important}
@media(max-width:800px){.projectUpdaterSenderBox{grid-template-columns:1fr}.projectUpdaterRow{grid-template-columns:24px 1fr}.projectUpdaterBadge,.projectUpdaterProgress{grid-column:2}.projectUpdaterProgress{text-align:left}.projectUpdaterToolbar{flex-wrap:wrap}}
