

    .gridTop{ display:grid; gap:12px; grid-template-columns: 1fr; }
    .kpiGrid{ display:grid; gap:10px; grid-template-columns: repeat(4, 1fr); }
    .column-picker{
      position:relative;
      align-self:flex-end;
    }

    .column-picker summary{
      list-style:none;
      cursor:pointer;
    }

    .column-picker summary::-webkit-details-marker{
      display:none;
    }

    .column-picker-menu{
      position:absolute;
      right:0;
      top:calc(100% + 8px);
      z-index:30;
      min-width:220px;
      padding:10px;
      border:1px solid var(--border);
      border-radius:14px;
      background:var(--card);
      box-shadow:0 18px 42px rgba(2,6,23,.18);
      display:grid;
      gap:8px;
    }

    .column-picker-menu label{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:13px;
      color:var(--text);
    }

    .entity-scope-hint{
      margin-top:8px;
      font-size:12px;
      color:var(--muted);
    }

   .value-strong{
  font-weight:800;
}

/* =========================
   Loader e animação da lista
========================= */
.list-card{
  position:relative;
  overflow:visible;
}

.table-loading{
  position:absolute;
  inset:74px 12px 72px 12px;
  z-index:25;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(6px);
  border:1px solid rgba(2,6,23,.06);
}

.list-card.table-is-loading .table-loading{
  display:flex;
}

.table-loading-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:0 16px 42px rgba(2,6,23,.16);
  color:var(--text);
  font-weight:800;
}

.table-spinner{
  width:22px;
  height:22px;
  border-radius:999px;
  border:3px solid rgba(15,75,140,.18);
  border-top-color:var(--csb-blue);
  animation:tableSpin .75s linear infinite;
}

@keyframes tableSpin{
  to{ transform:rotate(360deg); }
}

.table-wrap.is-switching{
  opacity:.58;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
}

#tbody.rows-enter tr{
  animation:rowEnter .22s ease both;
}

#tbody.rows-enter tr:nth-child(2){ animation-delay:.015s; }
#tbody.rows-enter tr:nth-child(3){ animation-delay:.03s; }
#tbody.rows-enter tr:nth-child(4){ animation-delay:.045s; }
#tbody.rows-enter tr:nth-child(5){ animation-delay:.06s; }

@keyframes rowEnter{
  from{
    opacity:0;
    transform:translateY(6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

    @media (max-width: 720px){
      .column-picker{
        width:100%;
      }

      .column-picker summary{
        width:100%;
        justify-content:center;
      }

      .column-picker-menu{
        left:0;
        right:0;
        width:100%;
      }

      .table-athletes tr{
        grid-template-columns:1fr auto;
        grid-template-areas:
          "name action"
          "meta action";
      }

      .table-athletes td.cell-cpf,
      .table-athletes td.cell-entity,
      .table-athletes td.cell-modality{
        display:none;
      }
    }
    @media (max-width: 980px){ .kpiGrid{ grid-template-columns: repeat(2, 1fr); } }
    .kpi{ padding:12px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.02); }
    .kpi b{ font-size:20px; display:block; }
    .filters{ display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; }
    .filters .field{ min-width: 160px; flex: 1; }
    .filters input,
    .filters select{ min-width:0; }
    .table-wrap{ overflow:auto; border:1px solid var(--border); border-radius:14px; }
    table{ width:100%; border-collapse: collapse; min-width: 980px; }
    th,td{ padding:10px; border-bottom:1px solid var(--border); text-align:left; vertical-align: top; }
    th{ background: rgba(255,255,255,.03); position: sticky; top:0; z-index: 1; }
    .mini{ font-size:12px; color: var(--muted); margin-top:2px; }
    .tagrow{ display:flex; gap:6px; flex-wrap:wrap; }
    .btnrow{ display:flex; gap:10px; flex-wrap:wrap; }
    .modal{ position:fixed; inset:0; display:none; }
    .modal.show{ display:block; }
    .modal-backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.55); }
    .modal-card{ position:relative; max-width: 720px; margin: 6vh auto; background: var(--card); border:1px solid var(--border); border-radius: 16px; padding: 14px; }
    .modal-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .modal-body{ margin-top:10px; }
    .grid2{ display:grid; gap:10px; grid-template-columns: 1fr 1fr; }
    @media (max-width: 720px){ .grid2{ grid-template-columns: 1fr; } }

    .entity-request-box{
      border:1px solid var(--border);
      border-radius:14px;
      padding:14px;
      background:rgba(255,255,255,.02);
    }

    .entity-request-box textarea{
      width:100%;
      min-height:110px;
      resize:vertical;
    }

    .table-wrap.list-mobile-wrap{
      overflow:auto;
      -webkit-overflow-scrolling:touch;
    }

    .table-athletes{
      min-width: 760px;
    }

    .cell-name{
      min-width:220px;
    }

    .table-athletes th.col-meta,
    .table-athletes td.cell-meta{
      display:none;
    }

    .list-actions{
      display:flex;
      justify-content:flex-end;
      align-items:center;
    }

    .icon-btn{
      width:36px;
      height:36px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--border);
      border-radius:12px;
      background:rgba(255,255,255,.05);
      color:var(--text);
      cursor:pointer;
      transition:transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
      box-shadow:0 2px 8px rgba(0,0,0,.05);
    }
    .icon-btn:hover{
      transform:translateY(-1px);
      background:rgba(255,255,255,.08);
    }

    .pagination{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-top:12px;
    }
    .pagination-info{
      color:var(--muted);
      font-size:12px;
    }
    .pagination-actions{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .details-grid{
      display:grid;
      gap:10px;
      grid-template-columns:repeat(2, minmax(0,1fr));
    }
    .details-item{
      border:1px solid var(--border);
      border-radius:12px;
      padding:10px;
      background:rgba(255,255,255,.02);
    }
    .details-item .label{
      display:block;
      font-size:11px;
      color:var(--muted);
      margin-bottom:4px;
      text-transform:uppercase;
      letter-spacing:.04em;
    }
    .details-item .value{
      font-weight:600;
      word-break:break-word;
    }
    .details-lists{
      display:grid;
      gap:8px;
      margin-top:10px;
    }
    .details-list-card{
      border:1px solid var(--border);
      border-radius:12px;
      padding:10px;
      background:rgba(255,255,255,.02);
    }
    .details-card-btn{
      margin-top:10px;
      min-height:34px;
      width:max-content;
    }

    @media (max-width: 720px){
      html,
      body{
        overflow-x:hidden;
      }

      .filters{
        display:grid;
        grid-template-columns:1fr;
        gap:9px;
      }

      .filters .field,
      .filters label.field[style]{
        width:100%;
        min-width:0 !important;
        flex:none;
      }

      .table-wrap.list-mobile-wrap{
        overflow:visible;
        border:0;
        border-radius:0;
        background:transparent;
      }

      .table-athletes,
      .table-athletes thead,
      .table-athletes tbody,
      .table-athletes tr,
      .table-athletes th,
      .table-athletes td{
        display:block;
        width:100%;
        min-width:0;
      }

      .table-athletes{
        min-width:0;
        background:transparent;
      }

      .table-athletes thead{
        display:none;
      }

      .table-athletes tbody{
        display:grid;
        gap:8px;
      }

      .table-athletes tr{
        display:grid;
        grid-template-columns:1fr auto;
        grid-template-areas:
          "name action"
          "meta action";
        gap:6px 10px;
        border:1px solid var(--border);
        border-radius:14px;
        background:rgba(255,255,255,.035);
        box-shadow:none;
        padding:10px 12px;
      }

      .table-athletes td{
        border:0;
        padding:0;
        margin:0 !important;
      }

      .table-athletes td[data-label]::before{
        display:none !important;
      }

      .table-athletes td.cell-name{
        grid-area:name;
        min-width:0;
        padding:0;
        border:0;
      }

      .table-athletes td.cell-age,
      .table-athletes td.cell-type,
      .table-athletes td.cell-status{
        background:transparent;
        border:0;
        border-radius:0;
        padding:0;
        min-height:0;
      }

      .table-athletes td.cell-age{
        display:none;
      }

      .table-athletes td.cell-type{
        display:none;
      }

      .table-athletes td.cell-status{
        display:none;
      }

            .table-athletes th.col-meta,
      .table-athletes td.cell-meta{
        display:block;
      }

      .table-athletes td.cell-meta{
        grid-area:meta;
        min-width:0;
      }

      .table-athletes td.cell-details{
        grid-area:action;
        display:flex;
        align-items:center;
        justify-content:flex-end;
        padding:0;
      }

      .cell-name{
        min-width:0;
      }

      .cell-name b{
        display:block;
        font-size:15px;
        line-height:1.15;
        color:var(--text);
        margin-bottom:2px;
      }

      .cell-name .mini{
        font-size:12px;
        color:var(--muted);
        margin-top:0;
      }

      .cell-meta{
        font-size:12px;
        color:var(--muted);
        min-width:0;
        overflow-wrap:anywhere;
      }

      .cell-meta-line{
        display:flex;
        align-items:center;
        gap:6px;
        flex-wrap:wrap;
        min-width:0;
      }

      .cell-meta-sep{
        opacity:.45;
      }

      .cell-meta-strong{
        color:var(--text);
        font-weight:700;
      }

      .cell-meta .pill{
        max-width:100%;
        margin:0;
      }

      .cell-meta .pill span{
        min-width:0;
        max-width:100%;
        white-space:normal;
      }

      .list-actions{
        justify-content:flex-end;
        margin-top:0;
      }

      .icon-btn{
        width:34px;
        height:34px;
        border-radius:12px;
      }

      .pagination{
        align-items:stretch;
        gap:10px;
      }

      .pagination-info{
        font-size:12px;
      }

      .pagination-actions{
        width:100%;
      }

      .pagination-actions .btn{
        flex:1;
        justify-content:center;
      }

      .details-grid{
        grid-template-columns:1fr;
      }

      .modal-card{
        width:calc(100vw - 20px);
        max-width:none;
        margin:16px auto;
      }
    }

    /* top user desktop */
    .top-user{ display:none; }
    .top-user-text{
      display:flex;
      flex-direction:column;
      line-height:1.05;
      text-align:right;
      margin-right:10px;
    }
    .top-user-name{
      font-weight:1000;
      font-size:13px;
      max-width:260px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .top-user-email{
      font-size:11px;
      color:var(--muted);
      max-width:260px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .top-user-menu-btn{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid rgba(2,6,23,0.10);
      background:rgba(255,255,255,0.70);
      backdrop-filter:blur(10px);
      border-radius:14px;
      cursor:pointer;
      box-shadow:0 10px 24px rgba(15,23,42,0.06);
    }
    .top-user-menu-btn:hover{
      background:rgba(255,255,255,0.85);
    }

    .ent-fab-menu{
      position:fixed;
      right:14px;
      bottom:calc(14px + env(safe-area-inset-bottom));
      z-index:9600;
      width:52px;
      height:52px;
      border:none;
      border-radius:999px;
      background:linear-gradient(135deg,var(--csb-blue),var(--csb-blue-soft));
      color:#fff;
      display:none;
      align-items:center;
      justify-content:center;
      box-shadow:0 14px 34px rgba(9,50,98,.30);
      cursor:pointer;
    }
    .ent-fab-menu i{
      font-size:22px;
      line-height:1;
    }

    .ent-sheet-backdrop{
      position:fixed;
      inset:0;
      z-index:9650;
      background:rgba(2,6,23,0.55);
      backdrop-filter:blur(6px);
      opacity:0;
      pointer-events:none;
      transition:opacity .18s ease;
    }
    .ent-sheet-backdrop.show{
      opacity:1;
      pointer-events:auto;
    }

    .ent-sheet{
      position:fixed;
      left:10px;
      right:10px;
      bottom:calc(10px + env(safe-area-inset-bottom));
      z-index:9700;
      background:rgba(255,255,255,.99);
      border-radius:20px;
      border:1px solid rgba(2,6,23,0.10);
      box-shadow:0 -18px 48px rgba(2,6,23,.22);
      transform:translateY(110%);
      transition:transform .20s ease;
      height:min(78vh, 620px);
      display:flex;
      flex-direction:column;
      overflow:hidden;
    }
    .ent-sheet.show{
      transform:translateY(0);
    }
    .ent-sheet-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      padding:12px 12px 8px;
      border-bottom:1px solid rgba(2,6,23,0.08);
      flex:0 0 auto;
    }
    .ent-sheet-name{ font-weight:1000; font-size:14px; }
    .ent-sheet-close{
      border:0;
      background:transparent;
      font-size:18px;
      line-height:1;
      cursor:pointer;
      opacity:.75;
      padding:6px 8px;
    }
    .ent-sheet-close:hover{ opacity:1; }

    .ent-sheet-body{
      flex:1 1 auto;
      min-height:0;
      padding:10px 12px 8px;
      display:grid;
      gap:12px;
      align-content:start;
      grid-auto-rows:max-content;
      overflow-y:auto;
      overflow-x:hidden;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:thin;
      scrollbar-color:rgba(15,75,140,.28) transparent;
    }
    .ent-sheet-body::-webkit-scrollbar{ width:4px; }
    .ent-sheet-body::-webkit-scrollbar-track{ background:transparent; }
    .ent-sheet-body::-webkit-scrollbar-thumb{
      background:rgba(15,75,140,.24);
      border-radius:999px;
    }
    .ent-sheet-body::-webkit-scrollbar-thumb:hover{
      background:rgba(15,75,140,.34);
    }

    .ent-menu-group{
      display:grid;
      gap:8px;
      align-content:start;
      grid-auto-rows:max-content;
    }
    .ent-menu-label{
      font-size:11px;
      font-weight:900;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--muted);
      padding:2px 4px 0;
    }

    .ent-sheet-btn{
      width:100%;
      min-height:46px;
      display:flex;
      align-items:center;
      justify-content:flex-start !important;
      text-align:left !important;
      gap:10px;
      padding:11px 13px;
      font-size:16px;
      font-weight:800;
      line-height:1.1;
      border:1px solid rgba(15,75,140,.16);
      background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
      border-radius:14px;
      box-shadow:none;
    }
    .ent-sheet-btn:hover{
      border-color:rgba(15,75,140,.28);
      background:linear-gradient(180deg,#ffffff 0%, #f2f8ff 100%);
      box-shadow:0 10px 24px rgba(15,23,42,.06);
    }
    .ent-sheet-btn i{
      flex:0 0 20px;
      width:20px;
      text-align:left;
      font-size:17px;
      opacity:.92;
    }
    .ent-sheet-btn span{
      flex:1 1 auto;
      display:block;
      text-align:left !important;
      font-size:16px;
      font-weight:800;
    }

    .ent-sheet-footer{
      flex:0 0 auto;
      padding:10px 12px calc(12px + env(safe-area-inset-bottom));
      border-top:1px solid rgba(2,6,23,0.08);
      background:rgba(255,255,255,.98);
    }
    .ent-sheet-btn-danger{
      border-color:rgba(239,68,68,.18);
      background:linear-gradient(180deg,#fff 0%, #fff6f6 100%);
    }

    .ent-oc-backdrop{
      position:fixed;
      inset:0;
      z-index:9650;
      background:rgba(2,6,23,0.55);
      backdrop-filter:blur(6px);
      opacity:0;
      pointer-events:none;
      transition:opacity .18s ease;
    }
    .ent-oc-backdrop.show{
      opacity:1;
      pointer-events:auto;
    }
    .ent-offcanvas{
      position:fixed;
      top:0;
      right:0;
      height:100vh;
      width:min(360px, 92vw);
      z-index:9700;
      background:rgba(255,255,255,0.96);
      border-left:1px solid rgba(2,6,23,0.10);
      box-shadow:-24px 0 80px rgba(2,6,23,0.30);
      transform:translateX(110%);
      transition:transform .20s ease;
      display:flex;
      flex-direction:column;
      padding-bottom:env(safe-area-inset-bottom);
    }
    .ent-offcanvas.show{
      transform:translateX(0);
    }
    .ent-oc-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      padding:14px 14px 10px;
      border-bottom:1px solid rgba(2,6,23,0.08);
    }
    .ent-oc-name{ font-weight:1000; font-size:14px; }
    .ent-oc-close{
      border:0;
      background:transparent;
      font-size:18px;
      line-height:1;
      cursor:pointer;
      opacity:.75;
      padding:6px 8px;
    }
    .ent-oc-close:hover{ opacity:1; }

    .ent-oc-body{
      padding:12px 14px;
      display:grid;
      gap:14px;
      align-content:start;
      grid-auto-rows:max-content;
      overflow:auto;
    }
    .ent-oc-footer{
      margin-top:auto;
      padding:12px 14px calc(14px + env(safe-area-inset-bottom));
      border-top:1px solid rgba(2,6,23,0.08);
      background:rgba(255,255,255,.98);
    }

    .ent-offcanvas .ent-sheet-btn{
      min-height:48px;
      display:flex;
      align-items:center;
      justify-content:flex-start !important;
      text-align:left !important;
      gap:10px;
      padding:12px 14px;
      font-size:15px;
      font-weight:800;
      line-height:1.2;
    }
    .ent-offcanvas .ent-sheet-btn i{
      flex:0 0 18px;
      width:18px;
      text-align:left;
      font-size:16px;
    }
    .ent-offcanvas .ent-sheet-btn span{
      flex:1 1 auto;
      display:block;
      text-align:left !important;
      font-size:15px;
      font-weight:800;
    }

    @media (min-width: 920px){
      .top-user{
        display:flex;
        align-items:center;
        gap:0;
      }
      .ent-fab-menu{ display:none !important; }
      .ent-sheet{ display:none !important; }
    }

    @media (max-width: 919px){
      .ent-fab-menu{ display:flex !important; }
      .ent-oc-backdrop,
      .ent-offcanvas,
      .top-user{ display:none !important; }
    }

    @media (max-width: 560px){
      .ent-fab-menu{
        width:48px;
        height:48px;
        right:12px;
        bottom:calc(12px + env(safe-area-inset-bottom));
      }
      .ent-sheet{
        left:8px;
        right:8px;
        bottom:calc(8px + env(safe-area-inset-bottom));
        height:min(82vh, 620px);
      }
      .ent-sheet-btn{
        min-height:42px;
        padding:10px 11px;
        font-size:15px;
      }
      .ent-sheet-btn i{
        flex:0 0 18px;
        width:18px;
        font-size:16px;
      }
      .ent-sheet-btn span{
        font-size:15px;
      }
      .ent-sheet-body::-webkit-scrollbar{
        width:3px;
      }
    }

    /* =========================
   Scrollbar desktop invisível
========================= */
@media (min-width: 920px){
  html,
  body{
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  html::-webkit-scrollbar,
  body::-webkit-scrollbar{
    width: 0;
    height: 0;
  }
}

    @media (max-width: 720px){
      .page-head{
        flex-direction:column;
        align-items:stretch;
      }
      .btnrow{
        width:100%;
      }
      .btnrow .btn{
        width:100%;
        justify-content:center;
      }
    }

/* =========================
   CSB Tech • Dashboard da Entidade
   Patch visual 2026-05-14
========================= */
.container{
  width:100%;
  max-width:var(--csb-page-max, 1320px);
  margin:0 auto;
  padding-left:var(--csb-page-gutter, clamp(14px,2.2vw,26px));
  padding-right:var(--csb-page-gutter, clamp(14px,2.2vw,26px));
}
.app{
  padding-bottom:calc(84px + env(safe-area-inset-bottom));
}

.entity-portal-hero{
  position:relative;
  overflow:hidden;
  align-items:center;
  padding:22px;
  margin-bottom:14px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(238,247,255,.90));
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.entity-portal-hero::before{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(15,75,140,.18), transparent 68%);
  pointer-events:none;
}
.entity-hero-main{
  min-width:0;
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:16px;
}
.entity-hero-icon{
  width:62px;
  height:62px;
  min-width:62px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, var(--csb-blue, #0f4b8c), var(--csb-blue-soft, #1d6fb8));
  color:#fff;
  font-size:27px;
  box-shadow:0 18px 42px rgba(15,75,140,.24);
}
.entity-hero-copy{ min-width:0; }
.entity-hero-copy .h1{
  margin:0;
  font-size:clamp(21px,3vw,30px);
  line-height:1.08;
  font-weight:1000;
  letter-spacing:-.03em;
  overflow-wrap:anywhere;
}
.entity-hero-metrics{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.entity-hero-metric{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(15,75,140,.12);
  background:rgba(255,255,255,.70);
  color:rgba(15,23,42,.78);
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.entity-hero-metric i{ color:var(--brand, #0f4b8c); }
.entity-hero-actions{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.entity-hero-actions .btn{
  min-height:42px;
  border-radius:14px;
}
.entity-pro-shortcut{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid rgba(6,168,79,.20);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(6,168,79,.08), rgba(15,75,140,.05)), #fff;
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
.entity-pro-shortcut[hidden]{
  display:none !important;
}
.entity-pro-shortcut-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.entity-pro-shortcut-icon{
  width:44px;
  height:44px;
  min-width:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg, var(--csb-blue,#0f4b8c), var(--csb-green,#06a84f));
  box-shadow:0 10px 24px rgba(6,168,79,.18);
}
.entity-pro-shortcut-title{
  font-weight:1000;
  color:var(--text,#0f172a);
}
.entity-pro-shortcut-sub{
  margin-top:2px;
  color:var(--muted,#64748b);
  font-size:13px;
  font-weight:700;
}
.entity-pro-go{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  color:#fff;
  font-weight:1000;
  background:linear-gradient(135deg, var(--csb-green,#06a84f), var(--csb-blue,#0f4b8c));
  box-shadow:0 14px 30px rgba(6,168,79,.22);
  white-space:nowrap;
}
.entity-pro-go i{
  font-size:18px;
}
.dashboard-section-head{
  align-items:flex-start;
  margin-bottom:12px;
}
.dashboard-filters-card,
.entity-registrations-card,
.list-card{
  margin-top:12px;
  border:1px solid rgba(15,75,140,.10);
  background:rgba(255,255,255,.90);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.dashboard-filters{
  display:grid;
  grid-template-columns:110px minmax(150px,1fr) minmax(150px,1fr) minmax(140px,1fr) minmax(170px,1fr) minmax(240px,1.4fr);
  gap:10px;
  align-items:end;
}
.dashboard-filters .field{
  min-width:0;
  display:grid;
  gap:6px;
}
.dashboard-filters .field > span,
.export-card .field > span{
  font-size:12px;
  font-weight:900;
  color:rgba(15,23,42,.72);
}
.dashboard-filters input,
.dashboard-filters select,
.export-card input,
.export-card select{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(15,75,140,.16);
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  color:var(--text, #0f172a);
  font-size:14px;
  font-weight:800;
  outline:none;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.dashboard-filters input:focus,
.dashboard-filters select:focus,
.export-card input:focus,
.export-card select:focus{
  border-color:rgba(15,75,140,.34);
  box-shadow:0 0 0 4px rgba(15,75,140,.10), 0 12px 28px rgba(15,23,42,.06);
}
.dashboard-search-field{ min-width:240px; }
.search-control{
  position:relative;
  display:flex;
  align-items:center;
}
.search-control i{
  position:absolute;
  left:13px;
  color:rgba(15,75,140,.65);
  pointer-events:none;
}
.search-control input{
  padding-left:40px !important;
}
.dashboard-kpi-grid{
  margin-top:14px;
}
.kpi{
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  border-color:rgba(15,75,140,.10);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.kpi b{
  color:var(--brand, #0f4b8c);
  font-size:22px;
  line-height:1;
}
.entity-reg-count{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(15,75,140,.12);
  background:rgba(15,75,140,.06);
  color:var(--brand, #0f4b8c);
  font-size:12px;
  font-weight:900;
}
.entity-reg-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.entity-reg-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px;
  border-radius:16px;
  border:1px solid rgba(15,75,140,.10);
  background:linear-gradient(180deg,#fff 0%, #f8fbff 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.entity-reg-main{ min-width:0; }
.entity-reg-topline{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:6px;
}
.entity-reg-mod,
.entity-reg-status{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.entity-reg-mod{
  color:var(--brand, #0f4b8c);
  background:rgba(15,75,140,.08);
}
.entity-reg-status{ background:rgba(100,116,139,.10); color:#475569; }
.entity-reg-status.pill-green{ background:rgba(22,163,74,.10); color:#15803d; }
.entity-reg-status.pill-yellow{ background:rgba(245,158,11,.13); color:#b45309; }
.entity-reg-status.pill-blue{ background:rgba(14,165,233,.12); color:#0369a1; }
.entity-reg-title{
  font-size:15px;
  line-height:1.25;
  font-weight:1000;
  color:var(--text, #0f172a);
  overflow-wrap:anywhere;
}
.entity-reg-meta{
  margin-top:3px;
  font-size:12px;
  color:var(--muted, #64748b);
  font-weight:700;
  overflow-wrap:anywhere;
}
.entity-reg-side{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.entity-reg-value{
  font-size:14px;
  font-weight:1000;
  color:var(--text, #0f172a);
  white-space:nowrap;
}
.entity-reg-empty{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px;
  border-radius:16px;
  border:1px dashed rgba(15,75,140,.20);
  background:rgba(15,75,140,.035);
  color:var(--muted, #64748b);
  font-weight:800;
}
.list-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.list-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(15,75,140,.10);
  background:rgba(248,251,255,.86);
  margin-bottom:12px;
}
.list-tools-desktop{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.pagination-compact{
  margin-top:0 !important;
  flex:1 1 420px;
}
.pagination-actions .btn{
  min-height:40px;
  border-radius:14px;
}
.column-picker{
  position:relative;
  align-self:auto;
}
.column-picker summary{
  list-style:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.column-picker[open] summary,
.column-picker summary:hover{
  border-color:rgba(15,75,140,.28);
  box-shadow:0 10px 24px rgba(15,23,42,.07);
}
.column-picker summary::-webkit-details-marker{ display:none; }
.column-picker-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:60;
  min-width:240px;
  padding:10px;
  border:1px solid rgba(15,75,140,.14);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 24px 64px rgba(2,6,23,.18);
  display:grid;
  gap:7px;
}
.column-picker-title{
  padding:4px 4px 7px;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--brand, #0f4b8c);
  border-bottom:1px solid rgba(15,75,140,.10);
}
.column-picker-menu label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:6px 7px;
  border-radius:10px;
  font-size:13px;
  font-weight:800;
  color:var(--text, #0f172a);
  cursor:pointer;
}
.column-picker-menu label:hover{
  background:rgba(15,75,140,.06);
}
.column-picker-menu input{ accent-color:var(--brand, #0f4b8c); }
.table-wrap{
  border-color:rgba(15,75,140,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
th{
  background:linear-gradient(180deg,#f8fbff 0%, #eef6ff 100%);
  color:rgba(15,23,42,.78);
  font-size:12px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
td{ background:rgba(255,255,255,.72); }
.table-athletes tbody tr{
  transition:background .15s ease, transform .15s ease;
}
.table-athletes tbody tr:hover td{
  background:rgba(248,251,255,.94);
}
.export-modal-card{
  max-width:880px !important;
  border-radius:22px;
  overflow:hidden;
}
.export-modal-head{
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(238,247,255,.92));
}
.export-modal-title-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}
.export-modal-icon{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(15,75,140,.10);
  color:var(--brand, #0f4b8c);
  font-size:20px;
}
.export-modal-body{ padding:14px; }
.export-grid-clean{
  display:grid;
  grid-template-columns: minmax(260px,.8fr) minmax(300px,1.2fr);
  gap:12px;
}
.export-card{
  border:1px solid rgba(15,75,140,.10);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.export-card .h3{
  margin:0 0 12px;
  font-size:14px;
  font-weight:1000;
  color:var(--text, #0f172a);
}
.export-current-filter{ margin-top:12px; }
.export-check-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
}
.check-item{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px;
  border-radius:14px;
  border:1px solid rgba(15,75,140,.10);
  background:rgba(255,255,255,.75);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.check-item:hover{ background:#fff; border-color:rgba(15,75,140,.18); }
.check-item input{ margin-top:2px; accent-color:var(--brand, #0f4b8c); }

/* Checkboxes isolados do modal de exportação.
   O styles.css base possui estilos globais de inputs que podem deformar checkbox. */
.export-check-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:52px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15,75,140,.10);
  background:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:850;
  line-height:1.22;
  color:var(--text, #0f172a);
  cursor:pointer;
  user-select:none;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
.export-check-item:hover{
  background:#fff;
  border-color:rgba(15,75,140,.20);
  transform:translateY(-1px);
}
.export-check-item > span,
.export-check-item > div{
  min-width:0;
  overflow-wrap:anywhere;
}
input.export-checkbox-native[type="checkbox"]{
  -webkit-appearance:checkbox !important;
  appearance:auto !important;
  inline-size:16px !important;
  block-size:16px !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  min-height:16px !important;
  max-height:16px !important;
  flex:0 0 16px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  border-radius:3px !important;
  box-shadow:none !important;
  accent-color:var(--brand, #0f4b8c);
  cursor:pointer;
}
input.export-checkbox-native[type="checkbox"]:disabled{
  cursor:not-allowed;
  opacity:.55;
}
.export-check-item:has(input.export-checkbox-native:disabled){
  cursor:not-allowed;
  opacity:.86;
}
.export-modal-foot{
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.export-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.entity-switch-modal-card{ max-width:640px !important; }
.entity-switch-list{
  display:grid;
  gap:10px;
}
.entity-switch-option{
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(15,75,140,.12);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  padding:12px;
  text-align:left;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.entity-switch-option:hover{
  transform:translateY(-1px);
  border-color:rgba(15,75,140,.25);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.entity-switch-option.is-active{
  border-color:rgba(22,163,74,.24);
  background:linear-gradient(180deg,#fff 0%,#f0fdf4 100%);
}
.entity-switch-option-icon{
  width:42px;
  height:42px;
  min-width:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(15,75,140,.09);
  color:var(--brand, #0f4b8c);
  font-size:18px;
}
.entity-switch-option-copy{
  flex:1 1 auto;
  min-width:0;
}
.entity-switch-option-copy b{
  display:block;
  font-size:14px;
  line-height:1.25;
  color:var(--text, #0f172a);
  overflow-wrap:anywhere;
}
.entity-switch-option-copy small{
  display:block;
  margin-top:3px;
  color:var(--muted, #64748b);
  font-size:12px;
  font-weight:800;
}
.entity-switch-option-go{
  width:34px;
  height:34px;
  min-width:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(15,75,140,.08);
  color:var(--brand, #0f4b8c);
}

.entity-reg-card.is-readonly{
  border-color:rgba(100,116,139,.20);
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.96));
}
.entity-reg-card.is-readonly .entity-reg-title{
  color:#0f172a;
}
.entity-reg-card.is-readonly .entity-reg-value{
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.entity-reg-card.is-readonly .btn[disabled]{
  opacity:.72;
  cursor:not-allowed;
}
.entity-reg-note{
  margin-top:7px;
  display:flex;
  align-items:flex-start;
  gap:6px;
  color:#64748b;
  font-size:12px;
  font-weight:760;
  line-height:1.35;
}
.entity-reg-note i{
  color:var(--brand, #0f4b8c);
  margin-top:1px;
}
.modal.show{
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:9800;
}
.modal.show .modal-backdrop{ background:rgba(2,6,23,.55); backdrop-filter:blur(7px); }
.modal.show .modal-card{
  width:min(720px, calc(100vw - 32px));
  max-height:min(86dvh, 760px);
  overflow:auto;
  box-shadow:0 30px 110px rgba(2,6,23,.35);
  animation:entityModalIn .16s ease-out;
}
@keyframes entityModalIn{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (min-width:920px){
  .top-user{ display:flex; align-items:center; gap:0; }
  .ent-fab-menu,
  .ent-sheet,
  .ent-sheet-backdrop{ display:none !important; }
}
@media (max-width:1100px){
  .dashboard-filters{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dashboard-search-field{ grid-column:span 3; }
}
@media (max-width:919px){
  .top-user,
  .ent-offcanvas,
  .ent-oc-backdrop{ display:none !important; }
  .ent-fab-menu{ display:flex !important; }
}
@media (max-width:720px){
  .entity-portal-hero{
    align-items:flex-start;
    padding:18px;
  }
  .entity-hero-main{
    align-items:flex-start;
    width:100%;
  }
  .entity-hero-icon{
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:18px;
    font-size:23px;
  }
  .entity-hero-actions{
    width:100%;
    justify-content:stretch;
  }
  .entity-hero-actions .btn{
    flex:1;
    justify-content:center;
  }
  .dashboard-filters{
    grid-template-columns:1fr;
  }
  .dashboard-search-field{ grid-column:auto; }
  .dashboard-kpi-grid{ grid-template-columns:repeat(2,1fr); }
  .entity-reg-card{
    align-items:stretch;
    flex-direction:column;
  }
  .entity-reg-side{
    justify-content:space-between;
  }
  .entity-reg-side .btn{ justify-content:center; }
  .list-toolbar{
    align-items:stretch;
  }
  .list-tools-desktop{ display:none !important; }
  .pagination-compact,
  .pagination-bottom{
    width:100%;
    align-items:stretch;
  }
  .pagination-actions{
    width:100%;
  }
  .pagination-actions .btn{
    flex:1;
    justify-content:center;
  }
  .export-grid-clean{ grid-template-columns:1fr; }
  .export-check-grid{ grid-template-columns:1fr; }
  .export-modal-foot{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .export-actions{
    width:100%;
  }
  .export-actions .btn,
  #btnCancelExport{
    width:100%;
    justify-content:center;
  }
}
@media (max-width:560px){
  .entity-hero-main{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:12px;
  }
  .entity-hero-metrics{ grid-column:1 / -1; }
  .entity-hero-metric{
    width:100%;
    justify-content:flex-start;
    border-radius:14px;
  }
  .dashboard-kpi-grid{ grid-template-columns:1fr 1fr; gap:8px; }
  .kpi{ padding:10px; }
  .modal.show{ padding:10px; }
  .modal.show .modal-card{ width:calc(100vw - 20px); max-height:82dvh; }
}

/* =========================
   Abas do dashboard da entidade
========================= */
.entity-dashboard-tabs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  align-items:center;
  margin:14px 0 0;
}
.entity-dashboard-tab{
  min-height:76px;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(248,251,255,.92) 100%);
  color:rgba(15,23,42,.78);
  font-weight:950;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.entity-dashboard-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(15,75,140,.22);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.entity-dashboard-tab.is-active{
  border-color:rgba(15,75,140,.34);
  background:linear-gradient(135deg,#0f4b8c,#1d6fb8);
  color:#fff;
  box-shadow:0 14px 34px rgba(15,75,140,.22);
}
.entity-dashboard-tab-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(15,75,140,.09);
  color:#0f4b8c;
}
.entity-dashboard-tab.is-active .entity-dashboard-tab-icon{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.entity-dashboard-tab-icon i{ font-size:18px; }
.entity-dashboard-tab-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.entity-dashboard-tab-title{
  font-size:15px;
  line-height:1.15;
}
.entity-dashboard-tab-sub{
  font-size:12px;
  font-weight:800;
  color:rgba(15,23,42,.58);
}
.entity-dashboard-tab.is-active .entity-dashboard-tab-sub{
  color:rgba(255,255,255,.78);
}
.entity-dashboard-tab-badge{
  min-width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(15,75,140,.08);
  color:#0f4b8c;
  font-size:12px;
  font-weight:1000;
}
.entity-dashboard-tab.is-active .entity-dashboard-tab-badge{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.entity-dashboard-panels{ margin-top:12px; }
.entity-tab-panel{ animation:entityTabIn .18s ease both; }
.entity-tab-panel[hidden]{ display:none !important; }
@keyframes entityTabIn{
  from{ opacity:0; transform:translateY(5px); }
  to{ opacity:1; transform:translateY(0); }
}

.entity-reg-section-head{
  align-items:center;
}
.entity-reg-toolbar{
  display:grid;
  grid-template-columns:repeat(2, minmax(180px, 260px));
  gap:10px;
  align-items:end;
  margin:4px 0 14px;
  padding:12px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:18px;
  background:rgba(248,251,255,.86);
}
.entity-reg-toolbar .field{
  display:grid;
  gap:6px;
  min-width:0;
}
.entity-reg-toolbar .field > span{
  font-size:12px;
  font-weight:900;
  color:rgba(15,23,42,.72);
}
.entity-reg-toolbar select{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(15,75,140,.16);
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  color:var(--text, #0f172a);
  font-size:14px;
  font-weight:800;
  outline:none;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.entity-reg-toolbar select:focus{
  border-color:rgba(15,75,140,.34);
  box-shadow:0 0 0 4px rgba(15,75,140,.10), 0 12px 28px rgba(15,23,42,.06);
}

.entity-finance-section-head{
  align-items:center;
}
.entity-finance-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:4px 0 14px;
}
.entity-finance-kpi{
  display:grid;
  gap:5px;
  padding:16px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  box-shadow:0 12px 26px rgba(15,23,42,.045);
}
.entity-finance-kpi span{
  color:rgba(15,23,42,.62);
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.entity-finance-kpi strong{
  color:var(--text, #0f172a);
  font-size:24px;
  line-height:1.1;
}
.entity-finance-kpi small{
  color:rgba(15,23,42,.58);
  font-weight:800;
}
.entity-finance-kpi.paid{
  border-color:rgba(22,163,74,.18);
  background:linear-gradient(180deg,rgba(240,253,244,.96),#fff);
}
.entity-finance-kpi.waiting{
  border-color:rgba(29,111,184,.18);
  background:linear-gradient(180deg,rgba(239,246,255,.96),#fff);
}
.entity-finance-kpi.pending{
  border-color:rgba(202,138,4,.20);
  background:linear-gradient(180deg,rgba(255,251,235,.96),#fff);
}
.entity-finance-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:4px 0 14px;
  padding:12px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:18px;
  background:rgba(248,251,255,.86);
}
.entity-finance-filter-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
.entity-finance-filter-actions .btn.is-filtering{
  border-color:rgba(15,75,140,.30);
  background:linear-gradient(180deg,#fff 0%, #eef6ff 100%);
  box-shadow:0 10px 24px rgba(15,75,140,.10);
}
.entity-finance-filter-flag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(15,75,140,.16);
  background:rgba(15,75,140,.08);
  color:#0f4b8c;
  font-size:12px;
  font-weight:1000;
  white-space:nowrap;
}
.entity-finance-filter-flag[hidden]{ display:none !important; }
.entity-finance-toolbar-info{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:44px;
}
.entity-finance-toolbar-info span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(15,75,140,.08);
  color:#0f4b8c;
  font-size:12px;
  font-weight:1000;
  white-space:nowrap;
}
.entity-finance-toolbar select{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(15,75,140,.16);
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  color:var(--text, #0f172a);
  font-size:14px;
  font-weight:800;
  outline:none;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.finance-filters-modal-card{
  max-width:860px !important;
}
.finance-filters-body{
  display:grid;
  gap:12px;
}
.finance-filters-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.finance-filter-field{
  display:grid;
  gap:6px;
}
.finance-filter-field-wide{
  grid-column:1 / -1;
}
.finance-filter-field > span{
  font-size:12px;
  font-weight:900;
  color:rgba(15,23,42,.72);
}
.finance-filter-field input,
.finance-filter-field select{
  width:100%;
  min-height:44px;
  border-radius:14px;
  border:1px solid rgba(15,75,140,.16);
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  color:var(--text, #0f172a);
  font-size:14px;
  font-weight:800;
  outline:none;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.finance-filter-field input:focus,
.finance-filter-field select:focus{
  border-color:rgba(15,75,140,.34);
  box-shadow:0 0 0 4px rgba(15,75,140,.10), 0 12px 28px rgba(15,23,42,.06);
}
.finance-filter-summary{
  padding:10px 12px;
  border-radius:14px;
  border:1px dashed rgba(15,75,140,.18);
  background:rgba(248,251,255,.72);
  font-weight:800;
}
.finance-filters-foot{
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.finance-filters-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.entity-finance-list{
  display:grid;
  gap:10px;
}
.entity-finance-item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.045);
}
.entity-finance-main{
  min-width:0;
  display:grid;
  gap:6px;
}
.entity-finance-topline{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.entity-finance-origin{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,75,140,.08);
  color:#0f4b8c;
  font-size:12px;
  font-weight:1000;
}
.entity-finance-title{
  color:var(--text, #0f172a);
  font-size:15px;
  font-weight:1000;
}
.entity-finance-meta{
  min-width:0;
  max-width:100%;
  color:rgba(15,23,42,.62);
  font-size:13px;
  font-weight:750;
  line-height:1.32;
  overflow-wrap:anywhere;
}
.finance-ref-short{
  display:inline-flex;
  align-items:center;
  max-width:min(180px, 100%);
  padding:1px 6px;
  border-radius:999px;
  background:rgba(15,75,140,.07);
  color:#0f4b8c;
  font-weight:1000;
  vertical-align:baseline;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.entity-finance-side{
  display:grid;
  justify-items:end;
  gap:8px;
  min-width:156px;
}
.entity-finance-side .btn{
  width:100%;
  justify-content:center;
}
.entity-finance-value{
  color:var(--text, #0f172a);
  font-size:18px;
  font-weight:1000;
  white-space:nowrap;
}
.entity-finance-pagination{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:12px;
  flex-wrap:wrap;
}
.entity-finance-page-info{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(248,251,255,.92);
  border:1px solid rgba(15,75,140,.10);
  color:rgba(15,23,42,.62);
  font-size:12px;
  font-weight:900;
}
.entity-finance-empty{
  min-height:150px;
  display:grid;
  place-items:center;
  gap:8px;
  text-align:center;
  border:1px dashed rgba(15,75,140,.18);
  border-radius:18px;
  color:rgba(15,23,42,.58);
  background:rgba(248,251,255,.72);
}
.finance-detail-modal-card{
  width:min(980px, calc(100vw - 24px));
}
.finance-detail-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.finance-detail-box{
  padding:12px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:16px;
  background:rgba(248,251,255,.86);
}
.finance-detail-box span{
  display:block;
  color:rgba(15,23,42,.58);
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
}
.finance-detail-box strong{
  display:block;
  min-width:0;
  max-width:100%;
  margin-top:5px;
  color:var(--text, #0f172a);
  font-size:14px;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.finance-detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin:12px 0;
}
.finance-detail-section{
  margin-top:14px;
}
.finance-detail-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text, #0f172a);
  font-weight:1000;
  margin-bottom:8px;
}
.finance-group-list,
.finance-athlete-list{
  display:grid;
  gap:8px;
}
.finance-group-item,
.finance-athlete-item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(15,75,140,.10);
  border-radius:14px;
  background:#fff;
}
.finance-group-item > div,
.finance-athlete-item > div{
  min-width:0;
}
.finance-group-meta,
.finance-athlete-meta{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.finance-group-item.current{
  border-color:rgba(15,75,140,.24);
  background:rgba(239,246,255,.70);
}
.finance-athlete-name{
  font-weight:950;
  color:var(--text, #0f172a);
}
.finance-athlete-meta{
  margin-top:2px;
  color:rgba(15,23,42,.58);
  font-size:12px;
  font-weight:750;
}
.finance-athlete-value,
.finance-group-value{
  font-weight:1000;
  white-space:nowrap;
}

@media (max-width:720px){
  .finance-ref-short{
    max-width:135px;
  }
  .entity-finance-meta{
    font-size:12px;
  }
  .entity-dashboard-tabs{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:7px;
  }
  .entity-dashboard-tab{
    width:100%;
    min-height:42px;
  }
  .entity-reg-section-head{
    align-items:stretch;
    gap:10px;
  }
  .entity-reg-count{
    width:max-content;
    max-width:100%;
  }
  .entity-reg-toolbar{
    grid-template-columns:1fr;
    padding:10px;
  }
  .entity-finance-section-head{
    align-items:stretch;
    gap:10px;
  }
  .entity-finance-summary,
  .finance-detail-grid{
    grid-template-columns:1fr;
  }
  .entity-finance-toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .entity-finance-filter-actions{
    width:100%;
  }
  .entity-finance-filter-actions .btn{
    flex:1 1 140px;
    justify-content:center;
  }
  .entity-finance-filter-flag{
    width:100%;
    justify-content:center;
    border-radius:14px;
  }
  .finance-filters-grid{
    grid-template-columns:1fr;
  }
  .finance-filters-foot{
    flex-direction:column;
    align-items:stretch;
  }
  .finance-filters-actions{
    width:100%;
  }
  .finance-filters-actions .btn,
  #btnClearFinanceFilters{
    width:100%;
    justify-content:center;
  }
  .entity-finance-item,
  .finance-group-item,
  .finance-athlete-item{
    grid-template-columns:1fr;
  }
  .entity-finance-toolbar-info{
    justify-content:flex-start;
  }
  .entity-finance-pagination{
    justify-content:center;
  }
  .entity-finance-pagination .btn{
    flex:1 1 130px;
    justify-content:center;
  }
  .entity-finance-side{
    justify-items:stretch;
  }
  .entity-finance-side .btn,
  .finance-detail-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* =========================
   Sigla da entidade + transferência de anuidade
========================= */
.cell-transfer{
  min-width:130px;
}

.transfer-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.transfer-badge i{ font-size:13px; }
.transfer-badge-neutral{
  color:#64748b;
  background:rgba(100,116,139,.10);
  border:1px solid rgba(100,116,139,.14);
}
.transfer-badge-active{
  color:#075985;
  background:rgba(14,165,233,.12);
  border:1px solid rgba(14,165,233,.20);
}
.transfer-detail-box{
  margin-top:9px;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(14,165,233,.18);
  background:rgba(14,165,233,.06);
}
.transfer-detail-title{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:6px;
  color:#075985;
  font-size:12px;
  font-weight:1000;
}
.transfer-detail-title i{ font-size:14px; }

@media (max-width:720px){
  .table-athletes td.cell-transfer{
    display:none;
  }
  .cell-meta .transfer-badge{
    min-height:24px;
    padding:4px 7px;
    font-size:10px;
  }
}



/* =====================================================
   Dashboard da entidade — refinamento visual 2026-05-15
   ===================================================== */
.entity-portal-hero{
  min-height:118px;
  border-color:var(--csb-border-slim, rgba(15,75,140,.11)) !important;
  border-radius:var(--csb-hero-radius, 24px) !important;
}
.entity-hero-brand-logo{
  width:clamp(112px, 13vw, 174px);
  max-height:58px;
  object-fit:contain;
  filter:drop-shadow(0 14px 22px rgba(15,23,42,.12));
}
.entity-hero-actions{
  align-items:center;
}
.entity-dashboard-tabs,
.entity-dashboard-panels,
.dashboard-filters-card,
.entity-registrations-card,
.list-card{
  animation:entityDashEnter .26s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes entityDashEnter{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (max-width:720px){
  .entity-portal-hero{ min-height:auto; }

  /* Mobile: comandos à esquerda e logo sempre no canto direito do hero */
  .entity-hero-actions{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    flex-wrap:nowrap;
  }

  .entity-hero-actions .btn{
    flex:0 1 auto;
    min-width:0;
  }

  #btnChangeEntity{
    min-width:92px;
  }

  #btnReload{
    flex:0 0 64px;
    width:64px;
    min-width:64px;
  }

  .entity-hero-brand-logo{
    order:10;
    width:clamp(108px, 31vw, 126px);
    margin-left:auto;
    margin-right:0;
    justify-self:flex-end;
  }
}
@media (max-width:560px){
  .entity-hero-actions{ justify-content:flex-start; }

  .entity-hero-brand-logo{
    order:10;
    width:clamp(104px, 30vw, 116px);
    margin-left:auto;
    margin-right:0;
  }
}
@media (max-width:390px){
  #btnChangeEntity{ min-width:86px; padding-left:10px; padding-right:10px; }
  #btnReload{ flex-basis:56px; width:56px; min-width:56px; }
  .entity-hero-brand-logo{ width:102px; }
}

@media (max-width:720px){
  .entity-pro-shortcut{
    align-items:stretch;
    flex-direction:column;
  }

  .entity-pro-shortcut .btn,
  .entity-pro-shortcut .entity-pro-go{
    width:100%;
    justify-content:center;
  }
}

/* Modais do dashboard da entidade: rolagem no overlay para nao cortar topo/rodape no iPhone. */
.modal{
  overflow:hidden;
}

.modal.show{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
  -webkit-overflow-scrolling:touch;
}

.modal.show .modal-backdrop{
  position:fixed !important;
  inset:0 !important;
}

.modal.show .modal-card{
  width:min(920px, calc(100vw - 24px)) !important;
  max-height:none !important;
  min-height:0 !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:visible !important;
  border-radius:12px !important;
}

.modal.show .modal-body{
  flex:0 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  -webkit-overflow-scrolling:touch;
}

.modal-foot,
.export-modal-foot,
.finance-filters-foot{
  position:relative !important;
  bottom:auto !important;
  flex:0 0 auto !important;
  flex-wrap:wrap;
}

@media (max-width:560px){
  .modal.show{
    padding:max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) !important;
  }

  .modal.show .modal-card{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
  }
}
