/* Cofre: consulta, revisão de credenciais e controle de acesso. */
.cof-page { --cof-ink:#172439; --cof-mut:#617086; --cof-line:#e2e7ee; min-width:0; color:var(--cof-ink); }
.cof-page button { cursor:pointer; }
.cof-page button:disabled { opacity:.45; cursor:default; }
.cof-page :is(button,input,select,summary):focus-visible { outline:3px solid #7589a8; outline-offset:3px; }
.cof-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.2rem; }
.cof-heading { display:flex; align-items:center; gap:.8rem; }
.cof-heading-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid #efd8dc; border-radius:12px; background:#fff; color:var(--brand); font-size:1.45rem; }
.cof-head .page-title { margin:0; font-size:1.35rem; letter-spacing:-.025em; }
.cof-head-sub { color:var(--cof-mut); font-size:.8rem; margin:.25rem 0 0; }
.cof-head-meta { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.cof-aberto { display:inline-flex; align-items:center; gap:.35rem; color:#047857; background:#ecfdf5; border:1px solid #b7e5d4; border-radius:20px; padding:.3rem .65rem; font-size:.72rem; white-space:nowrap; }
.cof-aberto.warn { color:#92400e; background:#fffbeb; border-color:#f6d781; }
.cof-btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; border:1px solid var(--cof-line); background:#fff; color:#34445b; border-radius:7px; padding:.4rem .7rem; font-size:.76rem; font-weight:600; min-height:34px; white-space:nowrap; }
.cof-btn:hover:not(:disabled) { border-color:#aab6c7; background:#f7f9fc; color:var(--cof-ink); }
.cof-btn-pri { background:var(--brand); border-color:var(--brand); color:#fff; }
.cof-btn-pri:hover:not(:disabled) { background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; }
.cof-tabs { display:flex; gap:1.25rem; border-bottom:1px solid #dbe1e9; margin-bottom:1rem; overflow-x:auto; }
.cof-tab { display:flex; align-items:center; gap:.4rem; border:0; border-bottom:3px solid transparent; padding:.7rem .15rem; background:none; color:var(--cof-mut); font-size:.82rem; font-weight:600; white-space:nowrap; }
.cof-tab.active { border-bottom-color:var(--brand); color:var(--brand); }
.cof-tab .badge { background:#e7ebf1!important; color:#526176; font-size:.65rem; }
.cof-tab.active .badge { background:#fbe2e5!important; color:#b31225; }
.cof-section-label { display:flex; align-items:center; justify-content:space-between; gap:.7rem; font-size:.73rem; font-weight:700; color:#44536a; margin-bottom:.55rem; }
.cof-section-label > span + span { font-size:.68rem; font-weight:400; color:var(--cof-mut); }
.cof-pendencias { margin-bottom:1.1rem; }
.cof-acoes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.cof-acao { position:relative; border:1px solid var(--cof-line); border-radius:9px; background:#fff; padding:.7rem .9rem; display:flex; flex-direction:column; gap:.2rem; text-align:left; min-width:0; }
.cof-acao.good { --cof-tone:#047857; }
.cof-acao.warn { --cof-tone:#a6660b; }
.cof-acao.danger { --cof-tone:#c22f3d; }
.cof-acao:hover,.cof-acao.active { border-color:var(--cof-tone); box-shadow:inset 0 3px var(--cof-tone); }
.cof-acao.active { background:#fffcf8; }
.cof-acao-lbl { display:flex; align-items:center; gap:.4rem; font-size:.76rem; font-weight:600; color:#45546a; }
.cof-acao-lbl > i:first-child { color:var(--cof-tone); }
.cof-acao-lbl > i:last-child { margin-left:auto; color:#8592a5; }
.cof-acao-n { color:var(--cof-tone); font-size:1.65rem; line-height:1.25; font-weight:700; font-variant-numeric:tabular-nums; }
.cof-acao-sub { font-size:.69rem; line-height:1.45; color:var(--cof-mut); }
.cof-workspace { display:grid; grid-template-columns:210px minmax(0,1fr); gap:1rem; align-items:start; }
.cof-categorias { min-width:0; padding:.75rem 0; }
.cof-categorias > .cof-section-label { padding:0 .7rem; text-transform:uppercase; letter-spacing:.07em; font-size:.65rem; }
.cof-category { display:flex; align-items:center; gap:.55rem; width:100%; min-height:42px; padding:.6rem .65rem; margin-bottom:.2rem; border:1px solid transparent; border-radius:7px; background:transparent; color:#536278; text-align:left; font-size:.75rem; line-height:1.35; }
.cof-category > span { flex:1; }
.cof-category b { font-size:.68rem; font-weight:500; color:#748298; font-variant-numeric:tabular-nums; }
.cof-category:hover { background:#e8edf3; }
.cof-category.active { background:#fff; border-color:#e5d7da; color:#ba1427; box-shadow:0 2px 5px #26344806; font-weight:650; }
.cof-category.active b { color:#ba1427; background:#fce8eb; border-radius:5px; padding:.1rem .3rem; }
.cof-side-note { border-top:1px solid #dce2eb; margin:1rem .7rem 0; padding-top:1rem; color:var(--cof-mut); font-size:.7rem; line-height:1.6; }
.cof-side-note > i { margin-right:.35rem; }
.cof-side-note b { font-weight:600; }
.cof-side-note b::after { content:''; display:block; margin-bottom:.25rem; }
.cof-card { min-width:0; background:#fff; border:1px solid var(--cof-line); border-radius:10px; margin-bottom:1rem; overflow:hidden; }
.cof-lista { margin-bottom:0; }
.cof-filtros { padding:1rem; border-bottom:1px solid var(--cof-line); }
.cof-search { display:flex; align-items:center; gap:.7rem; width:100%; border:1px solid #ccd5e1; border-radius:8px; padding:0 .8rem; background:#fcfdff; color:#7a879a; }
.cof-search:focus-within { border-color:#8597b1; box-shadow:0 0 0 3px #eef1f6; }
.cof-search .cof-busca { border:0; padding:.65rem 0; background:transparent; box-shadow:none; font-size:.83rem; min-width:0; }
.cof-search .cof-busca:focus-visible { outline:none; }
.cof-filter-row { display:flex; align-items:end; flex-wrap:wrap; gap:.65rem; margin-top:.75rem; }
.cof-field { flex:1 1 190px; min-width:0; margin:0; }
.cof-field > span { display:block; color:#59687c; font-size:.7rem; font-weight:600; margin-bottom:.3rem; }
.cof-field .form-select { font-size:.75rem; min-height:34px; border-color:#dce2eb; }
.cof-clear { font-size:.7rem; }
.cof-card-head { padding:1rem; display:flex; align-items:baseline; flex-wrap:wrap; gap:.35rem .65rem; }
.cof-card-tit { font-weight:700; font-size:.9rem; color:var(--cof-ink); }
.cof-card-n { color:var(--cof-mut); font-size:.72rem; }
.cof-card-desc { flex-basis:100%; color:var(--cof-mut); font-size:.76rem; line-height:1.6; }
.cof-results-head { justify-content:space-between; align-items:center; padding:.85rem 1rem; }
.cof-results-head .cof-card-n { display:block; margin-top:.2rem; }
.cof-results-note { color:var(--cof-mut); font-size:.68rem; }
.cof-tbl-wrap { overflow-x:auto; }
.cof-tbl { width:100%; border-collapse:collapse; font-size:.78rem; }
.cof-tbl-ev { min-width:650px; }
.cof-tbl th { text-align:left; padding:.65rem .85rem; background:#f5f7fa; border-bottom:1px solid var(--cof-line); color:#69788d; text-transform:uppercase; letter-spacing:.04em; font-size:.62rem; font-weight:650; white-space:nowrap; }
.cof-tbl td { padding:.85rem; border-bottom:1px solid #edf0f4; vertical-align:top; }
.cof-tbl tbody tr:hover { background:#fcfdff; }
.cof-credentials { table-layout:fixed; }
.cof-credentials th:nth-child(1) { width:29%; }
.cof-credentials th:nth-child(2) { width:28%; }
.cof-credentials th:nth-child(3) { width:27%; }
.cof-credentials th:nth-child(4) { width:16%; }
.cof-sis { font-weight:650; color:#22334c; font-size:.79rem; line-height:1.5; overflow-wrap:anywhere; }
.cof-location { display:flex; gap:.25rem; font-size:.69rem; color:#65758c; margin:.25rem 0; }
.cof-sub { font-size:.69rem; line-height:1.55; color:var(--cof-mut); overflow-wrap:anywhere; }
.cof-sub a { color:#526783; text-decoration:none; }
.cof-sub a:hover { text-decoration:underline; }
.cof-observacao { font-size:.7rem; color:var(--cof-mut); line-height:1.5; margin-top:.35rem; overflow-wrap:anywhere; }
.cof-observacao summary { cursor:pointer; }
.cof-usr { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.73rem; overflow-wrap:anywhere; line-height:1.5; margin-bottom:.55rem; }
.cof-senha { display:flex; align-items:center; gap:.3rem; flex-wrap:wrap; }
.cof-senha-val { background:#f0f3f7; color:#57667b; border-radius:5px; padding:.2rem .45rem; letter-spacing:.06em; font-size:.74rem; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.cof-senha-val.aberta { background:#fffbeb; color:#713f12; border:1px solid #f5d57b; letter-spacing:0; overflow-wrap:anywhere; max-width:100%; }
.cof-ico { border:1px solid var(--cof-line); border-radius:6px; background:#fff; color:#53647b; width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; font-size:.78rem; padding:0; flex-shrink:0; }
.cof-ico:hover { background:#f1f5f9; color:#263b59; border-color:#aab8cc; }
.cof-copy { width:auto; padding:0 .45rem; font-size:.69rem; }
.cof-selos { display:flex; flex-wrap:wrap; gap:.3rem; }
.cof-selo { display:inline-flex; align-items:center; gap:.25rem; padding:.15rem .4rem; font-size:.63rem; line-height:1.35; border:1px solid transparent; border-radius:5px; }
.cof-selo.good { color:#08734f; background:#edf9f2; border-color:#d3edde; }
.cof-selo.warn { color:#946019; background:#fff8e9; border-color:#f4e5be; }
.cof-selo.danger { color:#bc3542; background:#fff0f1; border-color:#f6d8dd; }
.cof-selo.calmo { color:#62738b; background:#f2f5f9; border-color:#e3e9f1; }
.cof-change { margin-top:.55rem; font-size:.64rem; }
.cof-acoes-lin { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }
.cof-acoes-lin .cof-btn { font-size:.68rem; min-height:30px; padding:.2rem .4rem; }
.cof-acoes-lin .cof-ico { height:30px; width:30px; }
.cof-check { color:#886018; }
.cof-grupo td { padding:.45rem .85rem; background:#f7f9fb; color:#64748b; font-size:.64rem; font-weight:650; letter-spacing:.03em; }
.cof-pagination { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; padding:.8rem 1rem; font-size:.7rem; color:var(--cof-mut); }
.cof-pagination:empty { display:none; }
.cof-pagination > div { display:flex; align-items:center; gap:.65rem; }
.cof-pagination .cof-btn { min-height:30px; padding:.2rem .45rem; }
.cof-proc { border-top:1px solid #edf0f4; padding:.75rem 1rem; font-size:.72rem; line-height:1.65; color:var(--cof-mut); }
.cof-proc summary { cursor:pointer; font-weight:500; }
.cof-proc[open] summary { margin-bottom:.55rem; }
.cof-footer { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; margin-top:.8rem; color:var(--cof-mut); font-size:.67rem; }
.cof-footer .cof-btn { margin-left:.3rem; font-size:.68rem; }
.cof-vazio { padding:2.5rem 1rem; color:var(--cof-mut); text-align:center; font-size:.8rem; line-height:1.7; }
.cof-vazio > .bi { display:block; font-size:1.8rem; margin-bottom:.6rem; color:#95a4b8; }
.cof-vazio b { color:var(--cof-ink); }
.cof-erro { background:#fff1f2; border:1px solid #f8ccd2; border-radius:9px; padding:1rem; color:#9f2332; font-size:.8rem; margin-bottom:1rem; }
.cof-recarregando { opacity:.55; transition:opacity .15s; }
.cof-tranca { max-width:480px; margin:3rem auto; background:#fff; border:1px solid var(--cof-line); border-radius:16px; padding:2.25rem; text-align:center; box-shadow:0 8px 30px #23395308; }
.cof-tranca > .bi { display:grid; place-items:center; width:68px; height:68px; border-radius:18px; background:#fff1f2; color:var(--brand); font-size:2rem; margin:0 auto 1.25rem; }
.cof-tranca-tit { font-size:1.25rem; font-weight:700; margin-bottom:.5rem; }
.cof-tranca-sub { color:var(--cof-mut); font-size:.82rem; line-height:1.7; margin-bottom:1.4rem; }
.cof-tranca form { display:flex; flex-direction:column; gap:.65rem; }
.cof-tranca .form-control { font-size:.85rem; padding:.65rem; }
.cof-tranca .cof-btn { min-height:40px; }
.cof-tranca-erro { color:#b91c1c; font-size:.78rem; margin-top:.75rem; }
.cof-tranca-nota { border-top:1px solid var(--cof-line); padding-top:1rem; margin-top:1.25rem; color:var(--cof-mut); font-size:.72rem; text-align:left; line-height:1.65; }
.cof-form .form-label { font-size:.76rem; font-weight:600; margin-bottom:.3rem; color:#43516a; }
.cof-form .form-control,.cof-form .form-select { min-height:36px; font-size:.82rem; }
.cof-form .row { --bs-gutter-y:1rem; }
.cof-form-nota { color:var(--cof-mut); font-size:.72rem; line-height:1.5; margin-top:.35rem; }
.cof-form-erro { color:#b91c1c; font-size:.78rem; }
.cof-origem { background:#fffbeb; border:1px solid #f4dea3; color:#805716; border-radius:8px; font-size:.75rem; padding:.75rem; margin-bottom:1rem; line-height:1.6; }
.cof-acesso-form { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; padding:0 1rem 1rem; }
.cof-acesso-form .cof-sel { flex:1 1 300px; max-width:460px; min-height:36px; }
.cof-hist { max-height:360px; overflow:auto; }
.cof-hist-lin { display:flex; gap:.75rem; font-size:.76rem; line-height:1.6; padding:.6rem 0; border-bottom:1px solid #edf0f4; }
.cof-hist-lin span:first-child { color:var(--cof-mut); min-width:118px; }
/* Grupo de contas: linha do grupo e contas recuadas logo abaixo. */
.cof-conjunto td { background:#f8fafd; border-bottom:1px solid #e6ebf2; padding:.75rem .85rem; }
.cof-conjunto-cab { display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .75rem; }
.cof-conjunto-cab .cof-location { margin:0; }
.cof-conjunto-abre { display:inline-flex; align-items:baseline; gap:.4rem; border:0; background:none; padding:0; text-align:left; cursor:pointer; color:inherit; }
.cof-conjunto-abre > .bi { font-size:.7rem; color:#65758c; width:.8rem; }
.cof-conjunto-abre:hover .cof-sis { text-decoration:underline; }
.cof-conjunto-alerta { display:inline-flex; gap:.25rem; align-items:center; font-size:.64rem; color:#946019; background:#fff8e9; border:1px solid #f4e5be; border-radius:5px; padding:.1rem .4rem; }
.cof-conjunto-n { font-size:.66rem; font-weight:600; color:#4b5d78; background:#eaf0f7; border-radius:5px; padding:.1rem .4rem; }
.cof-conta td:first-child { padding-left:2.1rem; position:relative; }
.cof-conta td:first-child::before { content:''; position:absolute; left:1.1rem; top:0; bottom:0; border-left:2px solid #e3e9f1; }
.cof-conta-de { font-size:.76rem; color:#33445e; font-weight:600; overflow-wrap:anywhere; }
.cof-tipo { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-bottom:1rem; }
.cof-tipo-op { display:flex; gap:.5rem; align-items:flex-start; border:1px solid var(--cof-line); border-radius:8px; padding:.6rem .7rem; cursor:pointer; font-size:.72rem; color:var(--cof-mut); line-height:1.45; }
.cof-tipo-op b { display:block; color:var(--cof-ink); font-size:.78rem; margin-bottom:.1rem; }
.cof-tipo-op:has(input:checked) { border-color:var(--brand); background:#fff7f7; }
.cof-tipo-op input { margin-top:.2rem; accent-color:var(--brand); }
.cof-form-grupo { background:#f5f7fa; border:1px solid var(--cof-line); border-radius:8px; padding:.6rem .75rem; font-size:.78rem; margin-bottom:1rem; }
.cof-form-grupo span { color:var(--cof-mut); font-size:.72rem; }
@media (max-width:1250px) {
  .cof-workspace { grid-template-columns:minmax(0,1fr); gap:.75rem; }
  .cof-categorias { padding:0; }
  #cofCategorias { display:flex; gap:.35rem; overflow-x:auto; padding-bottom:.35rem; }
  .cof-category { flex:0 0 auto; width:auto; min-height:36px; white-space:nowrap; background:#f8fafc; border-color:var(--cof-line); padding:.4rem .6rem; }
  .cof-side-note { display:none; }
  .cof-categorias > .cof-section-label { padding-left:0; }
}
@media (max-width:900px) {
  .cof-acoes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cof-section-label > span + span { max-width:230px; text-align:right; }
  .cof-head-meta { width:100%; }
  .cof-head-meta .cof-aberto { margin-right:auto; }
}
@media (max-width:700px) {
  .cof-head { gap:.8rem; }
  .cof-heading-icon { width:40px; height:40px; flex-shrink:0; }
  .cof-head .page-title { font-size:1.18rem; }
  .cof-head-sub { font-size:.74rem; }
  .cof-head-meta .cof-aberto { flex-basis:100%; width:max-content; max-width:max-content; margin-right:100%; }
  .cof-head-meta .cof-btn { flex:1; }
  .cof-tabs { gap:1rem; }
  .cof-tab { font-size:.76rem; }
  .cof-section-label { align-items:start; }
  .cof-section-label > span + span { display:none; }
  .cof-acao { padding:.65rem; }
  .cof-acao-lbl { font-size:.69rem; gap:.25rem; }
  .cof-acao-n { font-size:1.4rem; }
  .cof-acao-sub { display:none; }
  .cof-filtros { padding:.8rem; }
  .cof-field { flex-basis:calc(50% - .4rem); }
  .cof-clear { margin-left:auto; }
  .cof-clear:disabled { display:none; }
  .cof-results-head { gap:.5rem; padding:.8rem; }
  .cof-results-note { font-size:.65rem; }
  .cof-credentials,.cof-credentials tbody { display:block; }
  .cof-credentials thead { display:none; }
  .cof-credentials .cof-grupo { display:block; }
  .cof-credentials .cof-grupo td { display:block; padding:.6rem .8rem; }
  .cof-credential { display:grid; grid-template-columns:minmax(0,1fr); margin:0; padding:.9rem; border-bottom:3px solid #eef1f5; gap:.8rem; }
  .cof-credentials .cof-credential td { padding:0; border:0; min-width:0; }
  .cof-credentials td[data-label]::before { content:attr(data-label); display:block; font-size:.61rem; text-transform:uppercase; letter-spacing:.05em; color:#7d8ba0; margin-bottom:.4rem; }
  .cof-sis { font-size:.85rem; }
  .cof-senha-val { margin-right:auto; }
  .cof-acoes-lin { justify-content:flex-start; border-top:1px solid #eef1f6; padding-top:.75rem; }
  .cof-acoes-lin [data-cof='historico'] { margin-left:auto; }
  .cof-page :is(.cof-ico,.cof-btn) { min-height:38px; }
  .cof-ico { min-width:38px; }
  .cof-copy { font-size:.74rem; padding:0 .7rem; }
  .cof-pagination { justify-content:center; }
  .cof-footer { flex-wrap:wrap; justify-content:center; }
  .cof-tranca { margin:1rem auto; padding:1.5rem; }
  .cof-hist-lin { flex-direction:column; gap:.2rem; }
  .cof-credentials .cof-conjunto { display:grid; grid-template-columns:minmax(0,1fr); }
  .cof-credentials .cof-conjunto td { display:block; border:0; }
  .cof-credentials .cof-conjunto td + td { padding-top:0; }
  .cof-credential.cof-conta { padding-left:1.6rem; border-left:3px solid #e3e9f1; }
  .cof-conta td:first-child { padding-left:0; }
  .cof-conta td:first-child::before { display:none; }
  .cof-tipo { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .cof-page * { scroll-behavior:auto!important; transition:none!important; } }
