/* Complementos funcionais. O CSS original em base.html permanece intacto. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a.btn{display:inline-block;text-decoration:none;text-align:center}
.search-form{flex:1;max-width:420px}.search-form .search{width:100%;font-family:inherit}
.cb .name a{color:inherit;text-decoration:none}.cb .name,.panel h2{overflow-wrap:anywhere}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.viewer .ph.imagem-real{object-fit:contain;height:auto;max-height:90%;aspect-ratio:auto;background:none}
.vault-dialog{border:0;padding:0;background:transparent;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}
.vault-dialog::backdrop{background:rgba(8,20,18,.55)}
.vault-dialog .modal{max-width:100%}.dropzone{display:block;cursor:pointer}.dropzone input{display:block;max-width:100%;margin:12px auto 0}
.preview{max-width:100%;max-height:180px;object-fit:contain;margin-bottom:12px}.form-error{color:#3a1600;background:#fff1e2;border-radius:8px;padding:10px;white-space:pre-line}
progress{width:100%;accent-color:var(--p1)}.feedback{position:fixed;bottom:16px;left:16px;right:16px;z-index:60;border-radius:8px}
.meta{gap:8px;flex-wrap:wrap}.cap{overflow-wrap:anywhere;white-space:pre-line}.paginacao{align-items:center;margin-top:20px}.paginacao .btn{flex:0 0 auto;padding:8px 16px}
.table-scroll{overflow-x:auto}.tbl-actions button{background:none;border:0;padding:0;color:inherit;font:inherit;white-space:nowrap}
.field input[type=checkbox]{width:auto}.stack a.btn{display:block}.btn:disabled{opacity:.55;cursor:wait}.dropzone.dragging{border-color:var(--p1)}
:focus-visible{outline:2px solid var(--p1);outline-offset:3px}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:190px 1fr}.top{gap:10px;padding:16px}.content{padding:20px}.top .user{font-size:11px}}
@media(max-width:650px){.shell{display:block}.side{padding:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:12px}.nav{display:flex;flex-wrap:wrap}.top{flex-wrap:wrap}.search-form{max-width:none;flex-basis:100%}.grid{grid-template-columns:1fr}.details{display:block;height:auto}.viewer{min-height:260px}.panel{border-left:0}.hdr-row{gap:12px;flex-wrap:wrap}.modal{width:440px}.login-card{max-width:100%}.banner{padding:11px 16px}}
