/* Paleta TAIVA (mesmos hex do cofre e da barra do desktop). */
:root {
  --fundo:#071A33; --painel:#0B223F; --marca:#6FADE0; --texto:#FFFFFF;
  --suave:#A9C4DE; --borda:rgba(111,173,224,.25); --erro:#E0A3A3;
}
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--fundo); color:var(--texto);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:15px; }
.topo { display:flex; align-items:center; justify-content:space-between;
  padding:.8rem 1.2rem; border-bottom:1px solid var(--borda); }
.marca { font-weight:700; letter-spacing:.3px; }
.quem { color:var(--suave); font-size:.85rem; }

.cartao { max-width:26rem; margin:3rem auto; background:var(--painel);
  border:1px solid var(--borda); border-radius:12px; padding:1.6rem; }
.cartao.larga { max-width:52rem; }
h1 { font-size:1.35rem; margin:0 0 .3rem; }
.sub { color:var(--suave); margin:0 0 1.2rem; font-size:.9rem; }
label { display:block; margin:.7rem 0; font-size:.85rem; color:var(--suave); }
input, select { width:100%; margin-top:.25rem; padding:.6rem .7rem; font-size:1rem;
  background:#0e2a4d; color:var(--texto); border:1px solid var(--borda); border-radius:7px; }
input[type=checkbox] { width:auto; margin:0 .3rem 0 0; }

.btn { padding:.55rem .9rem; font-weight:600; font-size:.95rem; background:var(--marca);
  color:var(--fundo); border:0; border-radius:7px; cursor:pointer; display:inline-block; }
.btn:hover { background:#8FC7F5; }
.btn.secundario { background:transparent; color:var(--marca); border:1px solid var(--marca); }
#tela-entrar .btn { width:100%; }
.btn-txt { background:none; border:0; color:var(--marca); cursor:pointer; font-size:.85rem; padding:.3rem; }
.btn-txt.perigo { color:var(--erro); }
.erro { color:var(--erro); font-size:.85rem; margin:.5rem 0 0; }
.dica { color:var(--suave); font-size:.85rem; }

/* Barra: trilha + ações */
.barra { display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; flex-wrap:wrap; }
.espaco { flex:1; }
.trilha { display:flex; align-items:center; gap:.2rem; flex-wrap:wrap; min-width:0; }
.crumb { background:none; border:0; color:var(--marca); cursor:pointer; font-size:.95rem; padding:.2rem .3rem; border-radius:5px; }
.crumb:hover { background:#0e2a4d; }
.sep { color:var(--suave); }
#rot-upload { cursor:pointer; }

/* Zona de arquivos (drop) */
.zona { border:2px dashed transparent; border-radius:10px; min-height:8rem; padding:.3rem; transition:border-color .15s, background .15s; }
.zona.arrastando { border-color:var(--marca); background:rgba(111,173,224,.08); }
.lista { list-style:none; margin:0; padding:0; }
.item { display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  padding:.6rem .4rem; border-bottom:1px solid var(--borda); }
.info { min-width:0; }
.nome { background:none; border:0; color:var(--texto); cursor:pointer; font-size:1rem; font-weight:600;
  padding:0; text-align:left; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nome:hover:not(.sem-acao) { color:var(--marca); }
.nome.sem-acao { cursor:default; }
.meta { color:var(--suave); font-size:.8rem; }
.acoes { display:flex; gap:.2rem; flex-wrap:wrap; justify-content:flex-end; }
.vazio { color:var(--suave); text-align:center; padding:2.5rem 0; }

dialog { background:var(--painel); color:var(--texto); border:1px solid var(--borda);
  border-radius:12px; padding:1.4rem; max-width:26rem; width:92%; }
dialog::backdrop { background:rgba(0,0,0,.6); }
dialog h2 { margin:0 0 .6rem; font-size:1.1rem; }
.linha-senha { display:flex; gap:.3rem; align-items:center; }
.check { display:flex; align-items:center; color:var(--suave); }
menu { display:flex; justify-content:flex-end; gap:.5rem; padding:0; margin:1rem 0 0; }
[hidden] { display:none !important; }

/* Busca */
.campo-busca { width:auto; max-width:16rem; margin:0; }

/* Preview */
.dlg-largo { max-width:min(92vw, 60rem); width:auto; }
.preview-topo { display:flex; align-items:center; gap:.5rem; margin-bottom:.6rem; }
.preview-area { background:#0e2a4d; border:1px solid var(--borda); border-radius:8px; overflow:auto;
  max-height:75vh; min-height:12rem; display:flex; justify-content:center; }
.prev-img { max-width:100%; max-height:75vh; object-fit:contain; }
.prev-frame { width:min(88vw, 56rem); height:72vh; border:0; background:#fff; }
.prev-texto { margin:0; padding:1rem; white-space:pre-wrap; word-break:break-word; width:100%;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85rem; color:var(--texto); }

/* Editor */
.editor-area { width:min(88vw, 56rem); height:66vh; margin-top:0; resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9rem; line-height:1.5; }
