/* atributo hidden sempre vence (os campos usam display:flex) */
#view-nuvem [hidden], .cloud-overlay [hidden], header [hidden].cloud-btn, header [hidden].cloud-flash { display: none !important; }
/* Vedits – nuvem (painel e editor) */
.cloud-card { background: var(--panel, #202226); border: 1px solid var(--line, #34373d); border-radius: 12px; padding: 16px 18px; margin: 0 0 16px; max-width: 640px; }
.cloud-card h3 { margin: 0 0 10px; font-size: 15px; }
.cloud-field { display: flex; flex-direction: column; gap: 5px; margin: 0 0 12px; font-size: 13px; font-weight: 600; max-width: 380px; }
.cloud-field input, #cloudServer, #cloudApproveCode { font: inherit; font-weight: 400; color: var(--text, #e8eaed); background: #15171a; border: 1px solid var(--line, #34373d); border-radius: 8px; padding: 9px 11px; }
.cloud-field input:focus, #cloudServer:focus, #cloudApproveCode:focus { outline: 2px solid #1a73e855; border-color: #1a73e8; }
#cloudApproveCode { width: 150px; text-transform: uppercase; letter-spacing: 2px; font-family: ui-monospace, monospace; }
#cloudServer { min-width: 260px; }
.cloud-check { display: flex; gap: 8px; align-items: center; margin: 0 0 14px; font-size: 13px; color: var(--muted, #9aa0a6); cursor: pointer; }
.cloud-card button, #view-nuvem .row button { background: #2a2d33; border: 1px solid var(--line, #34373d); border-radius: 8px; padding: 8px 14px; }
.cloud-card button:hover:not(:disabled) { background: #33373e; }
.cloud-card .cloud-primary, button.cloud-primary { background: #1a73e8; border-color: #1a73e8; color: #fff; font-weight: 600; }
.cloud-card .cloud-primary:hover:not(:disabled) { background: #2b7de9; }
.cloud-card button.link { background: none; border: 0; padding: 0 4px; color: #8ab4f8; text-decoration: underline; }
.cloud-code-box { display: flex; flex-direction: column; gap: 6px; margin: 14px 0 6px; padding: 14px; border: 1px dashed #3b5f8f; border-radius: 10px; background: #172233; max-width: 360px; }
.cloud-code { font: 700 30px ui-monospace, monospace; letter-spacing: 4px; color: #fff; }
.cloud-account { display: flex; justify-content: space-between; gap: 16px; align-items: center; flex-wrap: wrap; }
.cloud-usage { width: 260px; max-width: 70vw; height: 8px; background: #2b3036; border-radius: 6px; overflow: hidden; margin: 8px 0 4px; }
.cloud-usage div { height: 100%; width: 0; background: linear-gradient(90deg, #1a73e8, #7c5cff); }
.cloud-devices { margin: 0; padding-left: 18px; font-size: 13px; color: var(--muted, #9aa0a6); }
.cloud-devices li { margin: 4px 0; }
.cloud-item .cloud-thumb { width: 96px; height: 54px; flex: none; border-radius: 6px; overflow: hidden; background: #000; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.cloud-item .cloud-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cloud-item .meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cloud-where { font-size: 12px; color: #8ab4f8; }
.cloud-item { gap: 14px; }
.cloud-server { margin-top: 10px; font-size: 13px; color: var(--muted, #9aa0a6); }
.cloud-server summary { cursor: pointer; }
.cloud-flash { background: #1e3a2b; color: #c6f6d5; border: 1px solid #2f6b4a; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin: 0 0 14px; max-width: 640px; }
.cloud-flash.error { background: #3a1e24; color: #ffc9d2; border-color: #6b2f3a; }
header .cloud-flash { margin: 0 0 0 auto; padding: 4px 10px; font-size: 12px; max-width: 46vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
header .cloud-flash:not([hidden]) + .cloud-btn { margin-left: 8px; }
.cloud-btn { margin-left: auto; }
.cloud-btn + .head-btn { margin-left: 8px; }
.cloud-btn.saved { color: #9be3b4; border-color: #2f6b4a; }
.cloud-btn.changed { color: #ffd479; border-color: #7a5a1c; }
button[data-act="cloud"].saved { color: #9be3b4; }
button[data-act="cloud"].changed { color: #ffd479; }

/* janela de progresso */
.cloud-overlay { position: fixed; inset: 0; z-index: 99998; background: rgba(8,10,20,.72); display: flex; align-items: center; justify-content: center; font: 14px system-ui, sans-serif; }
.cloud-modal { background: #1b1f2e; color: #eef; border: 1px solid #3a4160; border-radius: 14px; padding: 22px 24px; width: min(460px, 92vw); box-shadow: 0 12px 40px rgba(0,0,0,.5); }
.cloud-modal h2 { margin: 0 0 12px; font-size: 17px; }
.cloud-bar { height: 12px; background: #2b3148; border-radius: 8px; overflow: hidden; }
.cloud-bar div { height: 100%; width: 0; background: linear-gradient(90deg, #4f8cff, #7c5cff); transition: width .3s; }
.cloud-ptext { margin: 10px 0 4px; font-weight: 600; }
.cloud-hint { margin: 0 0 14px; color: #9aa3c0; font-size: 12px; }
.cloud-cancel { background: #3a2230; color: #ffc9d6; border: 1px solid #6b3246; border-radius: 8px; padding: 7px 14px; cursor: pointer; font: inherit; }
.cloud-msg { min-height: 18px; margin: 10px 0 0; font-size: 13px; color: var(--muted, #9aa0a6); }
.cloud-msg.error { color: #ff8a80; }
.cloud-msg:empty { display: none; }
.cloud-inline { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.cloud-inline input, #admInvNote { font: inherit; color: var(--text, #e8eaed); background: #15171a; border: 1px solid var(--line, #34373d); border-radius: 8px; padding: 8px 10px; }
.cloud-inline input { width: 64px; }
#admInvNote { min-width: 200px; flex: 1; }
.cloud-card h4 { margin: 16px 0 8px; font-size: 13px; color: var(--muted, #9aa0a6); text-transform: uppercase; letter-spacing: .04em; }
.adm-row { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 7px 0; border-bottom: 1px solid var(--line, #34373d); font-size: 13px; }
.adm-row:last-child { border-bottom: 0; }
.adm-row code { font: 600 13px ui-monospace, monospace; color: #fff; }
.adm-info { color: var(--muted, #9aa0a6); flex: 1; min-width: 200px; }
.adm-del { color: #ff8a80 !important; }
.cloud-code-box .row { margin-top: 4px; }
#admInvLink { word-break: break-all; color: #8ab4f8; }

/* atualização */
.update-banner { position: sticky; top: 0; z-index: 9000; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 9px 14px; background: #183153; color: #dbe7ff; border-bottom: 1px solid #2f5b94; font: 13px system-ui, sans-serif; }
.update-banner .ub-text { flex: 1; min-width: 220px; }
.update-banner button { font: inherit; border-radius: 7px; padding: 6px 12px; cursor: pointer; }
.update-banner .ub-go { background: #1a73e8; color: #fff; border: 1px solid #1a73e8; font-weight: 600; }
.update-banner .ub-later { background: transparent; color: #9ab3d8; border: 1px solid transparent; }
.update-banner[hidden] { display: none !important; }
.upd-card p { margin: 6px 0; }
#updCard [hidden] { display: none !important; }
