/* Lote 4 — Portal (cliente/investidor), Manual, Redefinir senha e modal de
   detalhe da importação. Incluído só pelos templates desse lote. */

.min-w-0 { min-width: 0; }

/* ── Portal ─────────────────────────────────────────────── */
.gc-kind-badge { background: #e6f7f7; color: #015e5b; border: 1px solid #9fdedd; font-weight: 600; }
.gc-kind-badge[data-kind="investidor"] { background: #fff4e5; color: #8a3b00; border-color: #f5c58a; }
.gc-kind-badge[data-kind="cota"] { background: #eef2ff; color: #012e65; border-color: #c7d2fe; }

.gc-preview-note {
  background: #f1f5f9; border: 1px dashed #94a3b8; border-radius: 10px;
  padding: 10px 14px; color: #334155;
}

.gc-portal-filters .form-select { width: auto; max-width: 100%; }

.gc-portal-table thead th { white-space: nowrap; font-size: .78rem; text-transform: uppercase; letter-spacing: .02em; }
.gc-portal-table td { vertical-align: middle; }
.gc-portal-table td.text-end { white-space: nowrap; }
.gc-portal-table code { color: #012e65; }

.gc-portal-empty { text-align: center; color: #64748b; padding: 2rem 1rem !important; }
.gc-portal-empty i { display: block; font-size: 1.8rem; opacity: .45; margin-bottom: .35rem; }

.gc-portal-dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; }
.gc-portal-dl dt { font-weight: 600; color: #475569; font-size: .85rem; }
.gc-portal-dl dd { margin: 0; overflow-wrap: anywhere; }

@media (min-width: 768px) {
  /* no desktop as tabelas mantêm a largura natural; rolam só se precisarem */
  .gc-portal-table { min-width: 0; }
  .card-body:has(> .gc-portal-table) { overflow-x: auto; }
}

@media (max-width: 767.98px) {
  .gc-portal-filters { width: 100%; }
  .gc-portal-filters .form-select { flex: 1 1 calc(50% - .5rem); min-width: 0; }
  .gc-portal-filters #portal-cu { flex-basis: 100%; }
  .gc-portal-filters .btn { flex: 1 1 45%; }
  #admin-search-card .card-body, .gc-portal-table tbody tr { font-size: .9rem; }
  .gc-responsive-table.gc-portal-table tbody td:last-child::before { display: block; }
  .gc-responsive-table.gc-portal-table tbody td:last-child { justify-content: space-between; }
  .gc-responsive-table tbody td.gc-portal-empty { display: block; }
}

/* ── Manual ─────────────────────────────────────────────── */
.gc-manual-toc .list-group-item { font-size: .9rem; border-left: 3px solid transparent; }
.gc-manual-toc .list-group-item i { color: #008b88; }
.gc-manual-toc .list-group-item.active {
  background: #eef6ff; color: #012e65; border-color: rgba(0,0,0,.125); border-left-color: #00bcb7; font-weight: 600;
}
.gc-manual-toc-toggle { cursor: pointer; }
.gc-manual-search { max-width: 360px; flex: 1 1 240px; }

.gc-manual-section > summary {
  list-style: none; cursor: pointer; position: relative; padding-right: 2.5rem;
  border-bottom: 1px solid transparent;
}
.gc-manual-section[open] > summary { border-bottom-color: var(--bs-border-color); }
.gc-manual-section > summary::-webkit-details-marker { display: none; }
.gc-manual-section > summary::after {
  content: "\F282"; font-family: "bootstrap-icons"; position: absolute; right: 1rem; top: 50%;
  transform: translateY(-50%); transition: transform .2s; color: #64748b;
}
.gc-manual-section[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
.gc-manual-section > summary i { color: #008b88; }
.gc-manual-section > summary:focus-visible { outline: 3px solid #00bcb7; outline-offset: -3px; }
.gc-manual-section { scroll-margin-top: 1rem; }
.gc-manual-summary { margin-top: .15rem; font-weight: 400; }

@media (min-width: 992px) {
  .gc-manual-toc { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
  .gc-manual-toc-toggle { pointer-events: none; }
  #manual-toc-wrap.collapse:not(.show) { display: block; }
}
@media (max-width: 991.98px) {
  .gc-manual-toc { position: sticky; top: 56px; z-index: 5; }
  #manual-toc-wrap { max-height: 60vh; overflow-y: auto; }
  .gc-manual-section { scroll-margin-top: 110px; }
}

/* ── Redefinir senha ───────────────────────────────────── */
.gc-reset-info { display: flex; gap: .9rem; align-items: flex-start; background: #f1f5f9; border-radius: 12px; padding: 14px 16px; }
.gc-pw-rules li { color: #64748b; padding-left: 1.4rem; position: relative; line-height: 1.6; }
.gc-pw-rules li::before {
  content: "\F28A"; font-family: "bootstrap-icons"; position: absolute; left: 0; color: #94a3b8;
}
.gc-pw-rules li.ok { color: #0f7a3d; }
.gc-pw-rules li.ok::before { content: "\F26A"; color: #0f7a3d; }

/* ── Modal de detalhe da importação ────────────────────── */
.gc-imp-detail-icon {
  width: 42px; height: 42px; border-radius: 10px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: #e6f7f7; color: #012e65; font-size: 1.25rem;
}
.gc-imp-detail-summary { padding: 14px 16px; background: #f8fafc; border-bottom: 1px solid var(--bs-border-color); }
.gc-imp-tile { background: #fff; border: 1px solid var(--bs-border-color); border-radius: 10px; padding: 8px 12px; height: 100%; min-width: 0; }
.gc-imp-tile-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #64748b; }
.gc-imp-tile-value { font-weight: 700; color: #012e65; overflow-wrap: anywhere; }
.gc-imp-tile-value.text-success { color: #0f7a3d !important; }
.gc-imp-detail-table { font-size: .85rem; }
.gc-imp-detail-table thead th { position: sticky; top: 0; z-index: 2; white-space: nowrap; }
#detail-pager .pagination { margin-bottom: 0; }
@media (max-width: 767.98px) {
  .gc-imp-detail-table { padding: 10px; display: block; }
}
