.upstream-status[hidden],.upstream-status [hidden]{display:none!important}
.upstream-status{margin:16px 0 20px;padding:16px;background:var(--paper,#fff);border:1px solid var(--line,#dbe3e9);border-radius:6px;color:var(--ink,#1d2732)}
.upstream-status-heading,.upstream-status-actions{display:flex;align-items:center;gap:10px}
.upstream-status-heading{justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}
.upstream-status-heading strong{font-size:15px}
.upstream-status-heading [data-status-mode]{font-size:12px;color:var(--muted,#657381);margin-left:10px}
.upstream-status-actions button{padding:6px 11px;border:1px solid var(--line,#dbe3e9);border-radius:4px;background:#fff;color:var(--ink,#1d2732);cursor:pointer;font-size:12px;line-height:1.5}
.upstream-status-actions button:hover{background:var(--green-soft,#eaf8f1);border-color:var(--green,#20a362)}
.upstream-status-actions button:disabled{opacity:.55;cursor:wait}
.upstream-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.upstream-status-card{border-left:3px solid #9ca9b5;background:#f7f9fb;padding:10px 12px;min-width:0}
.upstream-status-card[data-state=healthy]{border-color:#20a362;background:#f0faf4}
.upstream-status-card[data-state=error]{border-color:#d94f55;background:#fff2f3}
.upstream-status-card[data-state=checking]{border-color:#2f7df4;background:#f0f5ff}
.upstream-status-label{font-size:12px;color:var(--muted,#657381);margin-bottom:6px}
.upstream-status-card strong{font-size:14px;line-height:1.5}
.upstream-status-card p{font-size:12px;line-height:1.6;margin:5px 0;color:#536171;overflow-wrap:anywhere}
.upstream-status-time{font-size:11px;color:#71808f}
.upstream-status-note{font-size:11px;color:#71808f;line-height:1.6;margin:12px 0 0}
.upstream-status-warning{font-size:12px;line-height:1.6;margin:12px 0 0;padding:8px 10px;background:#fff5e9;color:#925313;border-radius:4px}
.upstream-status-warning a{display:inline-block;color:inherit;text-decoration:underline;margin:4px 8px 0 0}
@media(max-width:1000px){.upstream-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.upstream-status{padding:12px}.upstream-status-grid{grid-template-columns:1fr;gap:8px}.upstream-status-card{padding:9px 11px}.upstream-status-heading{gap:12px}}
