/* ============================================================
   PAPIREI — Administração V1 (Concursos e Templates)
   Só tokens do app (--app-*, --accent*): tema claro/escuro e cor de
   destaque vêm de graça, igual Edital/Histórico.
============================================================ */
#view-admin{position:relative;}
#view-admin[aria-busy="true"]{cursor:progress;}
#view-admin[aria-busy="true"] .adm{opacity:.72;transition:opacity .15s ease;}
.nav-item-admin[hidden]{display:none !important;}
html[data-auth="local"] .nav-item-admin,html[data-auth="local"] #nav-admin-secao{display:none !important;}

.adm{--adm-row:color-mix(in srgb,var(--app-panel) 82%,var(--app-canvas) 18%);
  --adm-ok:var(--app-success);--adm-warn:#d97706;--adm-danger:var(--app-danger);
  display:flex;flex-direction:column;gap:12px;}
.adm-carregando{padding:28px 4px;font-size:13px;color:var(--app-copy);}
.adm .num{font-variant-numeric:tabular-nums;}

.btn.adm-btn-sm,.app .btn.ghost.adm-btn-sm{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:7px;font-size:12px;white-space:nowrap;}
.adm .btn-com-ico{display:inline-flex;align-items:center;gap:6px;}
.adm .btn[disabled]{opacity:.45;cursor:not-allowed;}

.adm-secao-titulo{display:flex;align-items:center;gap:10px;padding:0 2px;min-height:34px;}
.adm-novo-concurso{margin-left:auto;padding:7px 12px;font-size:13px;}
.adm-secao-titulo>span:first-child{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-copy);}
.adm-secao-conta{font-size:12px;color:var(--app-muted);}

/* ---------- concurso ---------- */
.adm-concurso{background:var(--app-panel);border:1px solid var(--app-border);border-radius:12px;overflow:hidden;}
.adm-concurso-head{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 16px;}
.adm-sigla{flex:none;min-width:40px;height:32px;padding:0 8px;border-radius:8px;display:grid;place-items:center;
  background:var(--accent-soft);color:var(--accent);font-size:11.5px;font-weight:800;letter-spacing:.02em;}
.adm-sigla-logo{padding:3px;background:var(--app-panel-soft);}
.adm-sigla-logo img{max-width:34px;max-height:26px;object-fit:contain;}
.adm-concurso-txt{display:flex;flex-direction:column;min-width:0;gap:2px;}
.adm-concurso-nome{font-size:14px;font-weight:700;color:var(--app-title);}
.adm-concurso-meta{font-size:11.5px;color:var(--app-muted);}
.adm-acoes{display:flex;align-items:center;gap:2px;margin-left:auto;flex:none;}
.adm-acoes .btn+.btn{margin-left:6px;}
.adm .adm-ico{width:28px;height:28px;color:var(--app-muted);}
.adm .adm-ico:hover:not([disabled]){background:var(--app-panel-soft);color:var(--app-title);}
.adm .adm-ico[disabled]{opacity:.3;cursor:default;}
.adm .adm-ico:focus-visible,.adm-caret:focus-visible,.adm-tpl:focus-visible,.adm-voltar:focus-visible,.adm-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}

.adm-cargos{border-top:1px solid var(--app-border);background:var(--adm-row);padding:4px 10px 8px;}
.adm-cargo{padding:6px 0 4px;}
.adm-cargo+.adm-cargo{border-top:1px dashed var(--app-border);}
.adm-cargo-head{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 6px;}
.adm-cargo-nome{font-size:13px;font-weight:650;color:var(--app-title);}
.adm-chave{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}

/* linha do template: árvore densa, mesma leitura da lista do Histórico */
.adm-tpl{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr) auto 170px 128px 18px;align-items:center;gap:12px;
  min-height:46px;padding:6px 10px 6px 8px;margin:2px 0;border:1px solid transparent;border-radius:9px;background:transparent;
  font:inherit;text-align:left;color:inherit;cursor:pointer;}
.adm-tpl:hover{background:var(--app-panel);border-color:var(--app-border);}
.adm-ramo{color:var(--app-grid);font-family:ui-monospace,monospace;font-size:14px;line-height:1;text-align:center;}
.adm-tpl-main{display:flex;flex-direction:column;min-width:0;gap:2px;}
.adm-tpl-titulo{font-size:12.5px;font-weight:650;color:var(--app-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adm-tpl-meta{font-size:11px;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adm-tpl-conta{font-size:11.5px;color:var(--app-copy);white-space:nowrap;}
.adm-tpl-data{font-size:11px;color:var(--app-muted);white-space:nowrap;}
.adm-tpl-seta{color:var(--app-muted);display:flex;}
.adm-vazio-linha{padding:8px 10px 8px 30px;font-size:12px;color:var(--app-muted);}

/* status */
.adm-status{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap;
  border:1px solid var(--app-border);background:var(--app-panel-soft);color:var(--app-copy);}
.adm-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.adm-status.is-publicado{color:var(--adm-ok);background:color-mix(in srgb,var(--adm-ok) 12%,transparent);border-color:color-mix(in srgb,var(--adm-ok) 30%,transparent);}
.adm-status.is-rascunho{color:var(--adm-warn);background:color-mix(in srgb,var(--adm-warn) 11%,transparent);border-color:color-mix(in srgb,var(--adm-warn) 28%,transparent);}
.adm-status.is-oculto{color:var(--app-muted);}

/* ---------- formulários inline ---------- */
.adm-form{display:flex;flex-direction:column;gap:12px;}
.adm-form.card{padding:16px 18px;border-radius:12px;}
.adm-form-titulo{font-size:13px;font-weight:700;color:var(--app-title);}
.adm-form-grid{display:grid;grid-template-columns:120px minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr);gap:10px;}
.adm-form-grid.adm-grid-2{grid-template-columns:1fr 1fr;}
.adm-form-inline{flex-direction:row;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:6px 0 4px;padding:10px 12px;
  border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--app-border));border-radius:9px;background:var(--app-panel);}
.adm-form-inline .field{flex:1 1 160px;}
.adm-form-inline .adm-f-nome{flex:2 1 220px;}
.adm-form-inline .adm-f-curto{flex:0 1 96px;}
.adm .field{font-size:11.5px;font-weight:600;}
.adm .field input,.adm .field textarea{height:34px;padding:6px 10px;font-size:13px;border-radius:7px;}
.adm .field input[readonly]{color:var(--app-muted);background:var(--app-panel-soft);}
.adm-form-acoes{display:flex;justify-content:flex-end;gap:8px;margin-left:auto;}
.adm-hint{margin:-4px 0 0;font-size:11.5px;color:var(--app-muted);}

/* ---------- editor ---------- */
.adm-migalha{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--app-muted);}
.adm-voltar{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 4px;border:0;border-radius:6px;background:transparent;
  font:inherit;font-weight:650;color:var(--accent);cursor:pointer;}
.adm-voltar:hover{background:var(--accent-soft);}
.adm-editor-head{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;flex-wrap:wrap;}
.adm-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-copy);}
.adm-editor-tit{min-width:0;flex:1 1 280px;}
.adm-editor-tit h2{margin-top:3px;font-size:19px;font-weight:700;color:var(--app-title);}
.adm-editor-sub{margin-top:3px;font-size:12.5px;color:var(--app-copy);}
.adm-editor-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.adm-excluir-tpl{margin-left:6px;font-size:12px;}

.adm-aviso{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:9px;font-size:12.5px;line-height:1.45;
  background:var(--app-panel-soft);color:var(--app-copy);border:1px solid var(--app-border);}
.adm-aviso svg{flex:none;margin-top:1px;}
.adm-aviso.is-publicado{background:color-mix(in srgb,var(--adm-ok) 9%,var(--app-panel));border-color:color-mix(in srgb,var(--adm-ok) 26%,var(--app-border));}
.adm-aviso.is-pendente{background:color-mix(in srgb,var(--adm-warn) 9%,var(--app-panel));border-color:color-mix(in srgb,var(--adm-warn) 30%,var(--app-border));color:var(--app-title);}
.adm-aviso.is-pendente svg{color:var(--adm-warn);}

.adm-editor-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start;}
.adm-editor-grid>.card{border-radius:12px;}
.adm-info{display:flex;flex-direction:column;gap:12px;padding:16px 18px;position:sticky;top:16px;}
.adm-card-titulo{font-size:13px;font-weight:700;color:var(--app-title);}
.adm-card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.adm-card-conta{font-size:12px;color:var(--app-muted);}
.adm-link{margin-left:auto;border:0;background:transparent;padding:2px 4px;font:inherit;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer;border-radius:5px;}
.adm-dl{display:grid;grid-template-columns:78px minmax(0,1fr);gap:7px 10px;margin:0;font-size:12.5px;}
.adm-dl dt{color:var(--app-muted);font-weight:600;}
.adm-dl dd{margin:0;color:var(--app-title);min-width:0;overflow-wrap:anywhere;}
.adm-dl code{font-size:11.5px;color:var(--app-copy);}
.adm-info .adm-form-acoes{margin-left:0;}
.adm-info .adm-form-acoes .btn{width:100%;}

.adm-estrutura{padding:14px 14px 12px;}
.adm-discs,.adm-tops{list-style:none;margin:0;padding:0;}
.adm-disc{border:1px solid var(--app-border);border-radius:10px;background:var(--app-panel);margin-bottom:6px;overflow:hidden;}
.adm-disc.open{border-color:color-mix(in srgb,var(--accent) 60%,var(--app-border));}
.adm-disc-head{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 6px 4px 4px;}
.adm-disc-head:hover{background:var(--app-panel-soft);}
.adm-caret{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--app-muted);cursor:pointer;flex:none;}
.adm-caret svg{transition:transform .15s ease;}
.adm-disc.open>.adm-disc-head .adm-caret svg{transform:rotate(90deg);}
.adm-idx{flex:none;min-width:26px;font-size:11.5px;font-weight:700;color:var(--app-copy);}
.adm-item-nome{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;color:var(--app-title);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adm-top .adm-item-nome{font-weight:500;white-space:normal;line-height:1.35;}
.adm-conta{flex:none;font-size:11.5px;color:var(--app-muted);white-space:nowrap;}
.adm-conta.is-alerta{color:var(--adm-warn);font-weight:650;}
.adm-acoes-item{margin-left:0;}
.adm-disc-corpo{border-top:1px solid var(--app-border);background:var(--adm-row);padding:4px 6px 8px 34px;}
.adm-top{display:flex;align-items:center;gap:8px;min-height:36px;padding:3px 0 3px 4px;border-bottom:1px solid var(--app-border);}
.adm-top:last-child{border-bottom:0;}
.adm-top:hover{background:var(--app-panel-soft);}
.adm-top .adm-idx{min-width:34px;font-weight:600;color:var(--app-muted);}
.adm-top .adm-chave{max-width:160px;}

.adm-renomear{flex:1 1 auto;display:flex;align-items:center;gap:6px;min-width:0;}
.adm-renomear input,.adm-add input,.adm-add textarea{flex:1 1 auto;min-width:0;height:32px;padding:6px 10px;border:1px solid var(--app-border);border-radius:7px;
  background:var(--app-canvas);color:var(--app-title);font:inherit;font-size:13px;}
.adm-add textarea{resize:vertical;min-height:32px;max-height:220px;line-height:1.4;}
.adm-renomear input:focus,.adm-add input:focus,.adm-add textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.adm-add{display:flex;align-items:flex-start;gap:8px;margin-top:8px;}
.adm-add-disc{margin-top:10px;padding-top:10px;border-top:1px solid var(--app-border);}

/* ---------- responsivo ---------- */
@media (max-width:1100px){
  .adm-tpl{grid-template-columns:18px minmax(0,1fr) auto 18px;}
  .adm-tpl-conta,.adm-tpl-data{display:none;}
}
@media (max-width:900px){
  .adm-editor-grid{grid-template-columns:1fr;}
  .adm-info{position:static;}
  .adm-form-grid{grid-template-columns:1fr 1fr;}
  .adm-chave{display:none;}
  .adm-disc-corpo{padding-left:8px;}
}

/* ============================================================
   Administração › Uso (admin-uso.js) — lista densa, mesma leitura
   do Histórico: rótulo à esquerda, números alinhados à direita.
============================================================ */
.adm-abas{align-self:flex-start;}
.adm-abas button{padding:6px 14px;}
.uso{display:flex;flex-direction:column;gap:12px;}
.uso .num{font-variant-numeric:tabular-nums;}
.uso-topo{flex-wrap:wrap;}
.uso-periodos{margin-left:auto;}
.uso-periodos button{padding:5px 12px;font-size:12.5px;}
.uso-painel{background:var(--app-panel);border:1px solid var(--app-border);border-radius:12px;padding:4px 16px;}
.uso-linha{display:grid;grid-template-columns:minmax(0,1fr) 120px 150px;align-items:baseline;gap:12px;
  min-height:38px;padding:8px 0;border-top:1px solid var(--app-border);}
.uso-linha:first-child{border-top:0;}
.uso-base{grid-template-columns:minmax(0,1fr) 120px;}
.uso-rotulo{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;color:var(--app-title);}
.uso-dica{font-size:11px;color:var(--app-muted);}
.uso-valor{text-align:right;font-size:13.5px;font-weight:650;color:var(--app-title);white-space:nowrap;}
.uso-cab .uso-rotulo,.uso-cab .uso-valor{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-copy);}
.uso-cab{min-height:34px;}
.uso-pct{margin-left:4px;font-size:11.5px;font-weight:500;color:var(--app-muted);}
.uso-nota{margin:2px 2px 0;font-size:11.5px;line-height:1.5;color:var(--app-muted);max-width:760px;}
@media (max-width:640px){
  .uso-linha{grid-template-columns:minmax(0,1fr) 72px 84px;gap:8px;}
  .uso-base{grid-template-columns:minmax(0,1fr) 72px;}
  .uso-painel{padding:4px 12px;}
  .uso-periodos{margin-left:0;width:100%;}
  .uso-periodos button{flex:1;}
  .uso-cab .uso-valor{white-space:normal;letter-spacing:.02em;}
}
.uso-base-coorte{font-size:11.5px;font-weight:500;color:var(--app-muted);white-space:normal;}
.uso-nota-ret{margin-top:-4px;}
