.adm { --adm-bom: #b6dec2; --adm-alerta: #ffb7bb; --adm-raio: 19px; }
.adm-topo { grid-template-columns: 1fr auto 1fr; }
.adm-area, .adm-botao, .adm-voltar {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px;
    color: var(--texto); padding: 8px 14px; border-radius: 999px; font-size: .85rem; font-weight: 640;
    white-space: nowrap; background: var(--superficie); border: 1px solid var(--borda);
}
.adm-area { color: var(--rosa); }
.adm-botao:hover, .adm-voltar:hover, .adm-area:hover { background: var(--elevado); }
.adm-botao:active, .adm-area:active, .adm-voltar:active { opacity: .8; }
.adm-area svg, .adm-botao svg, .adm-voltar svg { width: 17px; height: 17px; }
.adm-biblioteca { justify-self: end; }
.adm-principal { margin-top: clamp(20px, 3vw, 38px); }
.adm[data-secao="editar"] .adm-principal, .adm[data-secao="novo"] .adm-principal { margin-top: 19px; }
html:has(.adm-editor) { scroll-padding-bottom: 100px; }
.adm-principal h1 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.07; letter-spacing: -.05em; overflow-wrap: anywhere; }
.adm-principal h2, .adm-publicacao legend { font-size: 1.1rem; font-weight: 720; letter-spacing: -.015em; }
.adm-cabecalho { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 22px; }
.adm-cabecalho p { color: var(--suave); font-size: .94rem; margin-top: 8px; overflow-wrap: anywhere; }
.adm-cabecalho > div:first-child { min-width: 0; }
.adm-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.adm-voltar { margin-bottom: 14px; background: transparent; border-color: transparent; padding-left: 0; }
.adm-voltar:hover { background: transparent; color: var(--rosa); }

.adm-indicadores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.adm-indicadores a {
    display: grid; gap: 5px; padding: clamp(12px, 2vw, 20px); color: var(--suave); background: var(--superficie);
    border: 1px solid var(--borda); border-radius: var(--adm-raio); transition: background .16s, border-color .16s;
}
.adm-indicadores a:hover { background: var(--elevado); }
.adm-indicadores a[aria-current] { border-color: #ffa8d17d; background: #231b23; color: var(--texto); }
.adm-indicadores a span { font-size: .86rem; font-weight: 630; }
.adm-indicadores a strong { color: var(--texto); font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.adm-indicadores a[aria-current] strong { color: var(--rosa); }
.adm-inventario, .adm-superficie { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--adm-raio); min-width: 0; }
.adm-inventario { padding: clamp(13px, 2.2vw, 23px); }
.adm-filtros { display: grid; grid-template-columns: minmax(180px, 1.5fr) minmax(130px, 1fr) minmax(112px, .65fr) auto; gap: 12px; align-items: end; margin-bottom: 20px; }
.adm-filtros > button { background: var(--elevado); }
.adm-filtros > button:hover { border-color: #ffa8d178; }
.adm-campo { display: grid; gap: 7px; min-width: 0; align-content: start; }
.adm-campo label { font-size: .86rem; font-weight: 650; }
.adm-campo input, .adm-campo select, .adm-campo textarea {
    width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--borda);
    background: #111013; color: var(--texto); border-radius: 11px; font: inherit;
}
.adm-campo textarea { resize: vertical; min-height: 180px; }
.adm-campo input::placeholder, .adm-campo textarea::placeholder { color: #a69eab; }
.adm-busca { position: relative; }
.adm-busca input { padding-left: 39px; }
.adm-busca svg { position: absolute; pointer-events: none; left: 13px; top: 12px; color: var(--suave); }
.adm-filtros[data-buscando] .adm-busca svg { color: var(--rosa); }
.adm-resultados { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.adm-resultados h2 { display: flex; align-items: center; gap: 8px; }
.adm-resultados h2 span { border: 1px solid var(--borda); border-radius: 99px; padding: 2px 7px; font-size: .76rem; color: var(--suave); }
.adm-resultados a { display: inline-flex; align-items: center; min-height: 44px; color: var(--rosa); font-size: .86rem; }
.adm-resultados a:hover { text-decoration: underline; }
.adm-colunas { display: grid; grid-template-columns: minmax(190px, 2.15fr) minmax(104px, 1fr) minmax(65px, .62fr) minmax(88px, .8fr) 72px; align-items: center; column-gap: 12px; padding: 0 12px; }
.adm-tabela-cabecalho { min-height: 38px; border-radius: 9px; color: var(--suave); font-size: .76rem; background: #ffffff08; }
.adm-lista { list-style: none; padding: 0; margin: 3px 0 0; }
.adm-lista li { scroll-margin-top: 90px; }
.adm-lista li + li { border-top: 1px solid var(--borda); }
.adm-linha { min-height: 68px; padding-block: 7px; border-radius: 9px; font-size: .86rem; transition: background .16s; }
.adm-linha:hover, .adm-lista li:target .adm-linha { background: #ffffff08; }
.adm-linha:focus-visible { outline-offset: -2px; }
.adm-item { display: flex; align-items: center; gap: 11px; min-width: 0; overflow-wrap: anywhere; }
.adm-item strong { font-weight: 660; }
.adm-item-titulo { display: grid; gap: 3px; }
.adm-item-titulo small { color: var(--suave); font-size: .73rem; }
.adm-miniatura { flex: 0 0 39px; aspect-ratio: 39/48; background: var(--elevado); color: var(--suave); border-radius: 8px; overflow: hidden; display: grid; place-items: center; }
.adm-miniatura img { width: 100%; height: 100%; object-fit: cover; display: block; }
.adm-item-categoria, .adm-item-tipo { color: var(--suave); overflow-wrap: anywhere; }
.adm-item-acao { display: inline-flex; align-items: center; gap: 5px; color: var(--rosa); font-weight: 650; }
.adm-item-acao svg { width: 16px; height: 16px; }
.adm-selo { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 3px 8px; border: 1px solid #bab2bc32; color: var(--suave); font-size: .75rem; font-weight: 660; white-space: nowrap; }
.adm-selo::before { content: ""; display: block; width: 6px; height: 6px; border-radius: 50%; border: 1px solid currentColor; }
.adm-selo[data-publicado="1"] { background: #b6dec211; border-color: #b6dec238; color: var(--adm-bom); }
.adm-selo[data-publicado="1"]::before { background: currentColor; }
.adm-paginacao { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 17px 0 0; color: var(--suave); font-size: .86rem; }
.adm-vazio { display: grid; justify-items: center; gap: 10px; text-align: center; padding: 32px 10px; color: var(--suave); }
.adm-vazio > svg { color: var(--rosa); width: 26px; height: 26px; }
.adm-vazio h3 { color: var(--texto); }

.adm-mensagem {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; padding: 11px 14px;
    border-radius: 12px; border: 1px solid currentColor; font-size: .9rem; overflow-wrap: anywhere;
}
.adm-sucesso { background: #b6dec211; color: var(--adm-bom); border-color: #b6dec250; }
.adm-sucesso a { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; text-decoration: underline; }
.adm-erro { background: #ffb7bb12; color: var(--adm-alerta); border-color: #ffb7bb50; }
.adm-editor, .adm-importacao { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 17px; align-items: start; }
.adm-editor-lateral, .adm-form-importacao { display: grid; gap: 15px; }
.adm-superficie { padding: clamp(15px, 2vw, 23px); }
.adm-superficie h2 { margin-bottom: 14px; }
.adm-form-importacao h2 { margin: 0; }
.adm-identificacao { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 12px; margin-bottom: 16px; }
.adm-texto textarea { line-height: 1.6; }
.adm-ajuda { color: var(--suave); font-size: .8rem; overflow-wrap: anywhere; }
.adm-texto .adm-ajuda { justify-self: end; }
.adm-ajuda:empty { display: none; }
.adm-arquivo-invalido { color: var(--adm-alerta); }
.adm-previa {
    display: grid; place-items: center; aspect-ratio: 16/10; max-height: 228px; overflow: hidden;
    border-radius: 12px; background: #100f12; border: 1px solid var(--borda); margin-bottom: 13px;
}
.adm-previa img, .adm-previa video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.adm-sem-midia { display: grid; gap: 9px; justify-items: center; font-size: .86rem; color: var(--suave); }
.adm-sem-midia svg { width: 27px; height: 27px; color: var(--rosa); }
.adm-campo input[type="file"] { font-size: .87rem; padding: 4px 8px 4px 4px; }
.adm-campo input[type="file"]::file-selector-button {
    min-height: 44px; padding: 6px 10px; margin-right: 9px; border: 1px solid var(--borda); border-radius: 7px;
    background: var(--elevado); color: var(--texto); cursor: pointer; font: inherit;
}
.adm-publicacao { margin: 0; }
.adm-publicacao legend { padding: 0 4px; }
.adm-publicacao .adm-ajuda { margin: 0 0 9px; }
.adm-opcao { display: flex; gap: 10px; align-items: start; padding: 8px 10px; min-height: 44px; border: 1px solid var(--borda); border-radius: 10px; cursor: pointer; }
.adm-opcao + .adm-opcao { margin-top: 8px; }
.adm-opcao input { margin: 4px 0 0; accent-color: var(--rosa); }
.adm-opcao:has(input:checked) { border-color: #ffa8d17d; background: #ffa8d109; }
.adm-opcao:has(input:disabled) { opacity: .65; cursor: default; }
.adm-opcao strong, .adm-opcao small { display: block; }
.adm-opcao strong { font-size: .88rem; }
.adm-opcao small { color: var(--suave); font-size: .78rem; }
.adm-barra-salvar {
    position: sticky; z-index: 10; bottom: max(10px, env(safe-area-inset-bottom)); display: flex; justify-content: space-between;
    align-items: center; gap: 12px; margin-top: 14px; padding: 9px 12px; border: 1px solid var(--borda); border-radius: 14px;
    background: #171619f5; box-shadow: 0 5px 18px #0005;
}
.adm-situacao { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.adm-barra-salvar button:disabled, .adm-form-importacao button:disabled { opacity: .65; cursor: progress; }
.adm-form-importacao summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-weight: 630; font-size: .87rem; }
.adm-instrucoes p { color: var(--suave); font-size: .88rem; }
.adm-instrucoes pre { margin: 14px 0; padding: 13px; border-radius: 10px; background: #111013; overflow: auto; }
.adm-instrucoes code { font-size: .82rem; color: var(--rosa); white-space: pre-wrap; overflow-wrap: anywhere; }

.conta-tela { max-width: 440px; margin: clamp(24px, 11vh, 100px) auto 48px; display: grid; gap: 23px; }
.conta-cartao { padding: clamp(20px, 4vw, 30px); }
.conta-cartao h1 { font-size: clamp(1.6rem, 4vw, 2rem); line-height: 1.1; letter-spacing: -.04em; }
.conta-cartao > p { margin: 10px 0 18px; color: var(--suave); }
.conta-cartao .adm-erro { margin: 12px 0; color: var(--adm-alerta); }
.conta-form { display: grid; gap: 14px; }
.conta-form > button { justify-self: start; }
.conta-cartao .conta-form > button { width: 100%; }
.conta-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: 7px; color: var(--rosa); }
.conta-link:hover, .conta-convite a:hover { text-decoration: underline; }
.conta-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 16px; align-items: start; }
.conta-grade .conta-form { margin-top: 13px; }
.conta-convite { margin-bottom: 16px; }
.conta-convite p { margin-bottom: 12px; }
.conta-convite a { color: var(--rosa); }
.conta-membro { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-block: 13px; overflow-wrap: anywhere; }
.conta-membro + .conta-membro { border-top: 1px solid var(--borda); }
.conta-revogar { color: var(--adm-alerta); }

@media (max-width: 770px) {
    .adm-editor, .adm-importacao { grid-template-columns: minmax(0, 1fr); }
    .conta-grade { grid-template-columns: minmax(0, 1fr); }
    .adm-previa { max-height: 230px; }
    .adm-colunas { grid-template-columns: 1fr auto; grid-template-areas: "item acao" "categoria status" "tipo status"; row-gap: 3px; }
    .adm-tabela-cabecalho { display: none; }
    .adm-item { grid-area: item; }
    .adm-item-acao { grid-area: acao; justify-self: end; }
    .adm-item-categoria { grid-area: categoria; }
    .adm-item-tipo { grid-area: tipo; }
    .adm-item-categoria, .adm-item-tipo { padding-left: 50px; font-size: .78rem; }
    .adm-item-status { grid-area: status; justify-self: end; }
    .adm-linha { padding: 10px 7px; }
    .adm-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
    .adm-campo-busca { grid-column: 1/-1; }
}
@media (max-width: 690px) {
    .adm-topo { grid-template-columns: 1fr auto; }
    .adm-topo .marca { grid-column: 1; justify-self: start; }
    .adm-area { display: none; }
    .adm-biblioteca { grid-column: 2; }
    .adm-cabecalho { flex-wrap: wrap; gap: 13px; }
    .adm-cabecalho h1 { font-size: clamp(1.68rem, 6vw, 2.1rem); }
    .adm-cabecalho p { font-size: .86rem; }
    .adm-indicadores { gap: 7px; margin-bottom: 14px; }
    .adm-indicadores a { padding: 10px; border-radius: 13px; align-content: space-between; }
    .adm-indicadores a span { font-size: .76rem; line-height: 1.25; }
    .adm-identificacao { grid-template-columns: 1fr; }
    .adm-filtros { column-gap: 7px; }
    .adm-filtros > button { padding-inline: 9px; }
    .adm-barra-salvar { flex-wrap: wrap; }
    .adm-barra-salvar .adm-acoes { margin-left: auto; }
    .adm-texto textarea { min-height: 200px; }
}
