/* The update card at the top of Settings, and the bar and the Updated line
   that float over the page (job update-line-clear). Out of index.html for
   the page budget; update/bar.js builds all three. */
.set-top{align-items:flex-start;position:relative}
/* The search button sits in the card's corner, so the card has the full
   width and its lines do not wrap. */
.set-top:has(.set-upd) .set-find-btn{position:absolute;top:8px;right:8px}
.set-upd{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel)}
.upd-state{margin:0 44px 4px 0;font-size:18px;line-height:1.3;color:var(--white)}
.upd-state.ready{color:var(--gold)}
.set-upd .set-row{min-height:30px;padding:0;border:0;font-size:14px;color:var(--grey);cursor:default;gap:10px}
.set-upd .set-row:hover{background:none}
.set-upd .set-row > span:last-child{color:var(--grey);text-align:right}
.upd-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.upd-when{margin:0;font-size:12.5px;color:var(--dim)}
.upd-in-v{margin-top:2px;font-size:13.5px;line-height:1.45;color:var(--grey)}
.upd-in-v[hidden]{display:none}
.upd-in-v p{margin:0;color:var(--dim);font-size:12.5px}
.upd-in-v ul{margin:4px 0 0;padding:0;list-style-position:inside}
.upd-in-v li{margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.set-upd #setUpdAgain{min-height:44px;flex:none}
.set-upd #setChanges{margin-top:6px;padding:0;min-height:44px;border:0;border-top:1px solid var(--line-soft);border-radius:0;font-size:14px}

/* The bar, and the Updated line after a new bench opens: full width, the
   words above the buttons, so nothing wraps one word to a line at 390px. */
.upd-float{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));left:16px;right:16px;z-index:60;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:12px;background:var(--panel-2);color:var(--white);border:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.4);font-size:14px;opacity:0;transform:translateY(-12px);transition:opacity .25s ease,transform .25s ease}
.upd-float[hidden]{display:none}
.upd-float.upd-in{opacity:1;transform:none}
.upd-words{display:flex;flex-direction:column;gap:2px;min-width:0}
.upd-words b{font-weight:500;font-size:15px}
.upd-words span{color:var(--grey);font-size:13.5px;line-height:1.4}
.upd-words span[hidden]{display:none}
.upd-btns{display:flex;flex-wrap:wrap;gap:8px}
.upd-btns a[hidden],.upd-btns button[hidden]{display:none}
@media (min-width:881px){.upd-float{left:50%;right:auto;width:min(560px,calc(100vw - 32px));transform:translate(-50%,-12px)}.upd-float.upd-in{transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.upd-float{transition:none}}
