body{font-family:'Inter',sans-serif;background:var(--light);min-height:100vh;display:flex;flex-direction:column;color:var(--dark)}

/* ── TOPBAR ── */
.topbar{background:#000;padding:8px 24px;display:flex;align-items:center;justify-content:center}
.topbar span{color:#888;font-size:11px;letter-spacing:0.5px}
.topbar strong{color:var(--primary)}

/* ── SITE HEADER ── */
.site-header{background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,0.05);padding:12px 0;flex-shrink:0}
.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:46px}
.brand-text strong{display:block;font-size:17px;font-weight:800;color:var(--dark);line-height:1}
.brand-text small{font-size:11px;color:var(--gray)}
.system-badge{background:var(--primary-l);color:var(--primary);border:1px solid rgba(200,54,54,0.2);font-size:11px;font-weight:700;padding:5px 14px;border-radius:20px;letter-spacing:0.3px}

/* ── LOGIN PAGE ── */
#loginScreen{flex:1;display:flex;flex-direction:column}
.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.login-card{background:var(--white);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:420px;overflow:hidden}
.login-card-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-d) 100%);padding:30px 36px 38px;text-align:center;position:relative}
.login-card-header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:24px;background:var(--white);border-radius:24px 24px 0 0}
.login-icon-wrap{width:60px;height:60px;background:rgba(255,255,255,0.18);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:24px;color:#fff}
.login-h1{color:#fff;font-size:21px;font-weight:700;margin-bottom:3px}
.login-sub{color:rgba(255,255,255,0.7);font-size:12px}
.login-body{padding:28px 36px 36px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--dark);margin-bottom:6px}
.input-wrap{position:relative}
.input-wrap i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#bbb;font-size:13px}
.input-wrap input{width:100%;padding:11px 13px 11px 38px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:'Inter',sans-serif;color:var(--dark);outline:none;transition:border-color .2s,box-shadow .2s;background:var(--white)}
.input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-l)}
.error-box{display:none;background:#fff5f5;border:1px solid rgba(200,54,54,0.25);color:var(--primary);padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:16px;align-items:center;gap:8px}
.error-box.show{display:flex}
.btn-entrar{width:100%;padding:13px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:background .2s,box-shadow .2s;letter-spacing:0.2px}
.btn-entrar:hover{background:var(--primary-d);box-shadow:0 4px 16px rgba(200,54,54,0.35)}
.btn-entrar:disabled{opacity:.6;cursor:not-allowed}
.login-hint{text-align:center;margin-top:18px;font-size:12px;color:var(--gray)}
.site-footer{background:var(--dark);color:#888;text-align:center;padding:14px;font-size:11px;flex-shrink:0}
.site-footer strong{color:var(--primary)}


/* ══════════════════════════════════════════
   APP WRAPPER — estação de trabalho do mesário
══════════════════════════════════════════ */
#appWrapper{display:none;flex-direction:column;height:100vh;overflow:hidden}

#appHeader{
  background:var(--white);border-bottom:3px solid var(--primary);
  height:58px;padding:0 24px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:50
}
.app-brand{display:flex;align-items:center;gap:10px}
.app-logo{height:36px}
.app-title{font-size:15px;font-weight:700;color:var(--dark);line-height:1.1}
.app-title small{display:block;font-size:10px;font-weight:400;color:var(--gray);margin-top:1px}
.app-user{display:flex;align-items:center;gap:8px;font-size:12px}
.app-nome{font-weight:600;color:var(--dark);font-size:13px}
.area-pill,.koto-pill{background:var(--primary);color:#fff;font-size:10px;font-weight:800;padding:4px 9px;border-radius:12px;white-space:nowrap;letter-spacing:.2px}
.btn-logout{background:none;border:1.5px solid var(--border);color:var(--gray);font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer;transition:.2s;font-weight:500}
.btn-logout:hover{border-color:var(--primary);color:var(--primary)}

#appMain{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#f3f4f6}
#emptyState{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ccc;gap:10px}
#emptyState i{font-size:52px}
#emptyState p{font-size:16px;font-weight:700;color:var(--gray);margin:0}
#emptyState small{font-size:13px;color:#aaa}

#categoriaView{display:none;flex:1;min-height:0;flex-direction:column;overflow:hidden}

/* ── Barra superior: navegação + seletor + status + salvar ── */
.cat-commandbar{
  --command-control-h:44px;
  flex-shrink:0;display:grid;grid-template-columns:auto minmax(330px,1fr) auto auto auto;
  align-items:center;gap:8px;padding:9px 16px;background:var(--white);
  border-bottom:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.04);z-index:40
}
.cat-commandbar.has-chief-filter{grid-template-columns:auto minmax(270px,1fr) auto auto auto auto}
.chief-koto-filter{height:var(--command-control-h);display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:#fafafa}
.chief-koto-filter[hidden]{display:none}
.chief-koto-filter label{font-size:9px;font-weight:850;letter-spacing:.65px;text-transform:uppercase;color:#777}
.chief-koto-filter select{height:30px;min-width:88px;border:0;background:transparent;color:#475569;font:850 10px 'Inter',sans-serif;letter-spacing:.25px;outline:none;cursor:pointer}
.category-nav-group{display:grid;grid-template-columns:repeat(2,var(--command-control-h));gap:5px;flex:0 0 auto}
.nav-cat-btn{width:var(--command-control-h);height:var(--command-control-h);border:1px solid var(--border);background:#fff;border-radius:8px;color:#555;cursor:pointer;transition:.15s}
.nav-cat-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-l)}
.nav-cat-btn:disabled{opacity:.35;cursor:not-allowed}
.category-combobox{min-width:0;position:relative}
.category-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 4px}
.category-picker-heading>label{display:block;font-size:9px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--gray)}
.category-queue-summary{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.queue-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:9px;font-weight:750;color:#737373;padding:2px 6px;border-radius:999px;background:#f4f4f4;border:1px solid #ededed}
.queue-chip strong{font-variant-numeric:tabular-nums;color:#444}
.queue-chip-review{background:#fff3f3;color:#a92f2f;border-color:rgba(200,54,54,.16)}
.queue-chip-review strong{color:var(--primary)}
.category-queue-summary.has-review .queue-chip-review{box-shadow:0 0 0 1px rgba(200,54,54,.08)}
.queue-chip-launched{background:#f4faf6;color:#47735a;border-color:#e2efe6}
.category-picker-wrap{position:relative}
.category-picker-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:12px;color:#aaa;pointer-events:none}
#categoryPicker{width:100%;height:var(--command-control-h);padding:0 42px 0 34px;border:1.5px solid var(--border);border-radius:8px;background:#fff;color:var(--dark);font-size:13px;font-weight:650;outline:none;white-space:nowrap;text-overflow:ellipsis}
#categoryPicker:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-l)}
.category-picker-open{position:absolute;right:3px;top:3px;width:38px;height:38px;border:0;background:transparent;color:#888;cursor:pointer;border-radius:6px}
.category-picker-open:hover{background:#f4f4f4;color:var(--primary)}
.category-suggestions{display:none;position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:250;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.14);max-height:min(56vh,520px);overflow-y:auto}
.category-suggestions.open{display:block}
.sug-queue-header{padding:10px 12px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:#666;background:#f7f7f7;border-top:2px solid #e7e7e7;border-bottom:1px solid #ececec;position:sticky;top:0;z-index:2}
.sug-queue-header:first-child{border-top:0}
.sug-queue-header span{display:inline-flex;align-items:center;gap:6px}.sug-queue-header strong{font-variant-numeric:tabular-nums}.sug-queue-header small{font-size:9px;font-weight:650;letter-spacing:0;text-transform:none;color:#999}
.sug-queue-review{background:#ffeaea;color:#8f2424;border-color:rgba(200,54,54,.28)}
.sug-queue-review small{color:#b36767}.sug-queue-review i{color:var(--primary)}
.sug-queue-pending{background:#fff9ea;color:#755b1f;border-color:#f1e2b7}.sug-queue-pending i{color:#9a7a2d}
.sug-queue-launched{background:#eef8f1;color:#3f6c50;border-color:#d9ebdf}.sug-queue-launched i{color:var(--green)}
.sug-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 12px;cursor:pointer;border-top:1px solid #f2f2f2;border-left:3px solid transparent}
.sug-item.is-review{background:#fff7f7;border-left-color:rgba(200,54,54,.45)}
.sug-item.is-review:hover,.sug-item.is-review.kb-active{background:#ffecec}
.sug-item.is-pending:hover,.sug-item.is-pending.kb-active{background:#f7f7f7}
.sug-item.is-launched{background:#fcfdfc;color:#555}
.sug-item.is-launched:hover,.sug-item.is-launched.kb-active{background:#f3f8f4}
.sug-num{font-size:11px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}
.sug-name{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sug-status{font-size:9px;font-weight:800;padding:2px 6px;border-radius:8px}
.sug-match{background:rgba(200,54,54,.13);color:var(--primary);font-weight:800}
.sug-empty{padding:15px;color:var(--gray);font-size:12px}
.badge-pending{background:#f1f1f1;color:#777}.badge-returned{background:#fff0f0;color:var(--primary)}.badge-launched{background:var(--amber-l);color:var(--amber)}.badge-confirmed{background:var(--green-l);color:var(--green)}

.command-status{display:flex;align-items:center;gap:7px;min-height:var(--command-control-h)}
.cat-status{height:var(--command-control-h);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:850;white-space:nowrap;padding:0 13px;border-radius:8px;letter-spacing:.25px;border:1px solid transparent}
.cat-status-pendente{color:#5f6670;background:#f4f5f6;border-color:#e2e5e8}
.cat-status-devolvido{color:var(--primary);background:#fff0f0;border-color:rgba(200,54,54,.28);box-shadow:0 0 0 2px rgba(200,54,54,.05)}
.cat-status-lancado{color:#8a6500;background:var(--amber-l);border-color:#efdca9}
.cat-status-confirmado{color:var(--green);background:var(--green-l);border-color:#cce8d5}
.save-status{font-size:10px;color:var(--gray);white-space:nowrap}
.command-status .koto-pill{height:var(--command-control-h);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:#eef2f6;color:#475569;border:1px solid #d7dee7;border-radius:8px;padding:0 12px}
.btn-save-top{height:var(--command-control-h);border:0;border-radius:8px;background:var(--green);color:#fff;font-size:12px;font-weight:800;padding:0 15px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 3px 10px rgba(22,163,74,.18);transition:.15s;white-space:nowrap}
.btn-save-top:hover{background:#15803d;box-shadow:0 4px 14px rgba(22,163,74,.24)}
.btn-save-top:disabled{opacity:.55;cursor:not-allowed}
.btn-context-toggle{display:none;height:var(--command-control-h);border:1px solid var(--border);border-radius:8px;background:#fff;color:#555;font-size:11px;font-weight:700;align-items:center;gap:6px;padding:0 11px;cursor:pointer}

.cat-meta-strip{flex-shrink:0;min-height:35px;display:flex;align-items:center;gap:18px;padding:6px 18px;background:#fbfbfb;border-bottom:1px solid #e9e9e9}
.cat-meta-item{display:flex;align-items:center;gap:5px;color:var(--gray);font-size:11px;white-space:nowrap}
.cat-meta-item i{color:var(--primary);font-size:10px}
.cat-record-count{margin-left:auto;font-weight:650;color:#555}

.review-reason-banner{flex-shrink:0;margin:8px 14px 0;padding:11px 14px;display:flex;align-items:flex-start;gap:10px;background:#fff0f0;border:1px solid rgba(200,54,54,.2);border-left:4px solid var(--primary);border-radius:9px;color:#7f2525;box-shadow:0 2px 8px rgba(200,54,54,.06)}
.review-reason-banner[hidden]{display:none}
.review-reason-banner>i{color:var(--primary);font-size:15px;margin-top:2px}
.review-reason-banner>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.review-reason-banner strong{font-size:12px;color:var(--primary);letter-spacing:.15px}
.review-reason-banner span{font-size:12px;line-height:1.45;color:#713030}

/* ── Área útil: súmula + painel sticky ── */
.launch-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;padding:12px 14px 14px;overflow:hidden}
.launch-main{min-width:0;min-height:0;display:flex;flex-direction:column}
.launch-card{height:100%;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.tcard-hd{flex-shrink:0;padding:10px 14px;border-bottom:1px solid var(--border);font-size:10px;font-weight:800;color:var(--gray);letter-spacing:.8px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:10px}
.keyboard-hint{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:600;letter-spacing:0;text-transform:none;color:#aaa;white-space:nowrap}
.launch-header-tools{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
.athlete-order-toggle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:34px;height:22px;min-width:34px;min-height:22px;margin-right:8px;padding:0 6px;border:1px solid #d9d9d9;border-bottom:2px solid #c9c9c9;border-radius:4px;background:#fafafa;color:#666;cursor:pointer;vertical-align:middle;box-shadow:0 1px 0 rgba(0,0,0,.025);transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .12s}
.athlete-order-toggle[hidden]{display:none!important}
.athlete-order-toggle:hover{background:#f4f5f6;border-color:#c7cbd0;border-bottom-color:#b9bdc2;color:#303740}
.athlete-order-toggle:focus-visible{outline:2px solid rgba(200,54,54,.28);outline-offset:2px}
.athlete-order-toggle:active{transform:translateY(1px);border-bottom-width:1px}
.athlete-order-toggle.is-active{transform:translateY(1px);background:#eceeef;border-color:#c7cbd0;border-bottom-width:1px;color:#303740;box-shadow:inset 0 1px 2px rgba(0,0,0,.14),inset 0 0 0 1px rgba(0,0,0,.025)}
.athlete-order-label{display:block;font:600 9px/1 Inter,sans-serif;letter-spacing:0;white-space:nowrap;text-transform:none}
kbd{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;padding:0;border:1px solid #ddd;border-bottom-width:2px;border-radius:4px;background:#fafafa;color:#666;font:600 9px/1 Inter,sans-serif}
.table-scroll-y{flex:1;min-height:0;overflow:auto}
.atl-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.atl-table th{position:sticky;top:0;z-index:8;background:#f7f7f8;padding:8px 10px;font-size:9px;font-weight:800;color:#777;letter-spacing:.75px;text-transform:uppercase;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
.atl-table td{padding:8px 10px;border-bottom:1px solid #f1f1f1;vertical-align:middle;color:var(--dark);background:#fff}
.atl-table tbody tr:hover td{background:#fcfcfc}
.atl-table tbody tr.launch-active td{background:#fff8f8}
.atl-table tbody tr.launch-active td:first-child{box-shadow:inset 3px 0 0 var(--primary)}
.col-nome{font-weight:700;font-size:13px;min-width:170px}
.col-nome .mat{font-size:10px;color:var(--gray);font-weight:450;margin-top:2px}
.col-org{font-size:11px;min-width:130px}
.cid-inline{color:var(--gray);font-size:10px}
.cell-small{font-size:11px;white-space:nowrap}
.obs-input{border:1.5px solid var(--border);border-radius:6px;font-size:11px;padding:6px 7px;width:105px;outline:none;transition:.15s;background:#fff}
.obs-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-l)}

/* Classificação em um clique */
.result-controls{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;min-width:max-content}
.result-btn,.result-more-summary{height:32px;min-width:42px;border:1.5px solid #dedede;border-radius:7px;background:#fff;color:#555;font-size:11px;font-weight:800;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;transition:.12s;white-space:nowrap}
.result-btn:hover,.result-more-summary:hover{border-color:#bbb;background:#fafafa;transform:translateY(-1px)}
.result-btn.is-selected{box-shadow:0 0 0 2px rgba(0,0,0,.05);transform:none}
.result-btn[data-result="primeiro"].is-selected{border-color:var(--gold);background:var(--gold-l);color:#9a6c00}
.result-btn[data-result="segundo"].is-selected{border-color:var(--silver);background:var(--silver-l);color:#566176}
.result-btn[data-result="terceiro"].is-selected{border-color:var(--bronze);background:var(--bronze-l);color:#8a481b}
.result-btn[data-result="quarto"].is-selected{border-color:#64748b;background:#f1f5f9;color:#475569}
.result-btn[data-result="wo"].is-selected,.result-more.is-wo .result-more-summary{border-color:#777;background:#f1f1f1;color:#555}
.result-btn[data-result="desclassificado"].is-selected,.result-more.is-dq .result-more-summary{border-color:var(--primary);background:#fff2f2;color:var(--primary)}
.result-more.is-competiu .result-more-summary{border-color:#7b8b9c;background:#f5f7f9;color:#4f5d6b}
.result-more{position:relative}
.result-more>summary{list-style:none}.result-more>summary::-webkit-details-marker{display:none}
.result-more-menu{position:absolute;right:0;top:37px;z-index:30;min-width:145px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.result-more-menu .result-menu-option{width:100%;border:0;background:#fff;text-align:left;border-radius:6px;padding:8px 9px;font-size:11px;font-weight:650;color:#444;cursor:pointer}
.result-more-menu .result-menu-option:hover{background:#f6f6f6}
.para-controls .result-btn{min-width:68px}
.result-pending-label{font-size:9px;color:#aaa;font-weight:700;margin-left:2px}

/* Faixas */
.faixa-badge{font-size:10px;font-weight:650;padding:2px 7px;border-radius:4px;background:#f0f0f0;color:var(--dark);display:inline-block;white-space:nowrap}
.faixa-preta{background:#1a1a1a;color:#fff}.faixa-marrom{background:#6b3a1f;color:#fff}.faixa-vermelha,.faixa-vermelho{background:var(--primary);color:#fff}.faixa-azul{background:#1d4ed8;color:#fff}.faixa-verde{background:#15803d;color:#fff}.faixa-amarela,.faixa-amarelo{background:#ca8a04;color:#fff}.faixa-laranja{background:#c2410c;color:#fff}

/* Kata em equipe: um card por equipe */
.team-card-row>td{padding:8px!important;background:#f7f7f8!important;border:0!important}
.team-card{background:#fff;border:1px solid #eadede;border-left:4px solid var(--primary);border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.04);overflow:hidden;transition:.12s}
.team-card.launch-active{box-shadow:0 0 0 2px rgba(200,54,54,.12),0 4px 12px rgba(0,0,0,.06)}
.team-card-head{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #f0eaea;background:#fffafa}
.team-ident{min-width:0}
.team-index-badge{display:inline-flex;align-items:center;gap:5px;background:var(--primary);color:#fff;border-radius:6px;padding:3px 7px;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-right:7px}
.team-code{font-size:13px;font-weight:850;color:var(--dark)}
.team-meta{display:block;margin-top:4px;font-size:10px;color:var(--gray);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-classification{display:flex;align-items:center;gap:7px}
.team-classification-label{font-size:9px;font-weight:800;color:#777;text-transform:uppercase;letter-spacing:.6px}
.team-card-body{padding:8px 12px 10px}
.team-formation-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.team-formation-title{font-size:9px;font-weight:800;color:#777;text-transform:uppercase;letter-spacing:.7px}
.team-count{display:inline-block;font-size:9px;font-weight:800;color:var(--green);background:var(--green-l);border-radius:10px;padding:3px 7px;white-space:nowrap}
.team-count.invalid{color:var(--primary);background:rgba(200,54,54,.08)}
.team-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}
.team-member{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 8px;border:1px solid #eee;border-radius:7px;background:#fcfcfc;cursor:pointer}
.team-member:hover{border-color:#ddd;background:#fff}
.team-member-static{grid-template-columns:minmax(0,1fr) auto;cursor:default}
.team-member-static:hover{border-color:#eee;background:#fcfcfc}

.team-member input{width:15px;height:15px;accent-color:var(--primary);margin:0}
.team-member input:disabled{cursor:not-allowed}
.team-member-name{min-width:0;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-member-meta{display:block;font-size:9px;color:#888;font-weight:450;margin-top:1px}
.member-role{font-size:9px;font-weight:800;color:var(--green);white-space:nowrap}
.member-role.reserve{color:#777;background:#eee;border-radius:9px;padding:2px 6px}
.team-card-foot{display:grid;grid-template-columns:1fr 160px;gap:8px;align-items:center;margin-top:8px}
.team-card-foot .obs-input{width:100%}
.team-formation-note{font-size:9px;color:#888;text-align:right}

/* ── Painel lateral sticky ── */
.context-panel{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding-right:2px}
.context-panel-head{display:none}
.context-card{background:#fff;border:1px solid #e7e7e7;border-radius:9px;padding:11px 12px;box-shadow:0 1px 4px rgba(0,0,0,.035)}
.context-card-title{display:block;font-size:9px;font-weight:850;color:#666;letter-spacing:.75px;text-transform:uppercase;margin-bottom:8px}
.context-card-title i{color:var(--primary);margin-right:4px}
.koto-progress-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}
.koto-progress-top strong{font-size:18px;font-weight:850;color:var(--dark)}
.koto-progress-top span{font-size:11px;font-weight:800;color:var(--primary)}
.koto-progress-bar{height:7px;background:#ececec;border-radius:10px;overflow:hidden}
#kotoProgressBar{height:100%;width:0;background:var(--primary);border-radius:10px;transition:width .25s}
.koto-progress-detail{margin-top:7px;font-size:10px;color:#777;line-height:1.45}
.koto-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}
.koto-status-item{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 8px;border:1px solid #eceff2;border-radius:8px;background:#f8f9fa;color:#616975}
.koto-status-item i{font-size:11px}
.koto-status-item small{font-size:9px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.koto-status-item strong{font-size:13px;font-weight:850;font-variant-numeric:tabular-nums}
.koto-status-item.status-review{background:#fff3f3;border-color:#f1cccc;color:#a52d2d}
.koto-status-item.status-pending{background:#f7f7f8;color:#666}
.koto-status-item.status-launched{background:#fff8e8;border-color:#f0dfb5;color:#8a6500}
.koto-status-item.status-confirmed{background:#eff9f2;border-color:#d0ead8;color:#18753a}
.side-podio{display:flex;flex-direction:column;gap:7px}
.podio-empty{font-size:10px;color:#999;font-style:italic;line-height:1.45}
.podium-place{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:start;padding-bottom:6px;border-bottom:1px solid #f1f1f1}
.podium-place:last-child{border-bottom:0;padding-bottom:0}
.podium-medal{font-size:18px;line-height:1.1;text-align:center}
.podium-label{font-size:9px;color:#777;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.podium-name{font-size:10px;font-weight:700;line-height:1.35;color:#333}
.podium-org{font-weight:450;color:#888}
.podium-multi{display:flex;flex-direction:column;gap:4px}
.podium-occurrences{margin-top:7px;padding-top:7px;border-top:1px dashed #ddd;font-size:9px;color:#777;line-height:1.45}
.context-guidance{font-size:10px;line-height:1.55;color:#555}
.context-guidance strong{color:#333}
.obs-card textarea{width:100%;height:68px;resize:vertical;min-height:52px;max-height:130px;border:1.5px solid var(--border);border-radius:7px;padding:8px;font-size:11px;color:#333;outline:none}
.obs-card textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-l)}
.btn-next-pending{width:100%;margin-top:9px;border:1px solid var(--border);background:#fff;color:#555;border-radius:8px;min-height:38px;padding:8px 10px;font-size:10px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:.15s}
.btn-next-pending:hover{border-color:#8aa498;color:#23623e;background:#f1f8f3}
.btn-next-pending.is-review{border-color:#e3a8a8;background:#fff0f0;color:var(--primary)}
.btn-next-pending.is-review:hover{background:#ffe6e6;border-color:var(--primary)}
.btn-next-pending.is-current-review{border-color:#e3a8a8;background:#fff5f5;color:var(--primary);cursor:default}
.btn-next-pending:disabled{opacity:.78;cursor:default}
.context-backdrop{display:none}

/* Feedback de validação */
.needs-result td{background:#fff4f4!important}
.needs-result .col-nome{color:var(--primary)}
.team-card.needs-result{border-color:var(--primary);box-shadow:0 0 0 2px rgba(200,54,54,.1)}

/* Toast */
#toast{position:fixed;bottom:24px;right:24px;z-index:9999;background:var(--dark);color:#fff;font-size:12px;font-weight:550;padding:12px 18px;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.2);opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none;display:flex;align-items:center;gap:9px;max-width:360px}
#toast.show{opacity:1;transform:translateY(0)}#toast.success{border-left:4px solid var(--green)}#toast.error{border-left:4px solid var(--primary)}

@media(max-width:1100px){
  .cat-commandbar{grid-template-columns:auto minmax(260px,1fr) auto auto}.cat-commandbar.has-chief-filter{grid-template-columns:auto minmax(220px,1fr) auto auto auto}.save-status{display:none}.btn-save-top span{display:none}.btn-save-top{width:44px;padding:0;justify-content:center}
  .launch-layout{grid-template-columns:minmax(0,1fr) 270px}.team-members{grid-template-columns:1fr}
}

@media(max-width:850px){
  #appHeader{height:auto;min-height:56px;padding:8px 12px;flex-wrap:wrap}.app-user{margin-left:auto}.app-title small{display:none}.app-nome{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cat-commandbar{grid-template-columns:auto minmax(0,1fr) auto auto auto;padding:8px 10px}.cat-commandbar.has-chief-filter{grid-template-columns:auto minmax(0,1fr) auto auto auto auto}.command-status{display:flex}.save-status{display:none}.btn-context-toggle{display:inline-flex}.btn-save-top{width:44px;padding:0;justify-content:center}.btn-save-top span{display:none}
  .cat-meta-strip{padding:6px 11px;gap:11px;overflow-x:auto}.cat-record-count{margin-left:0}
  .launch-layout{display:block;padding:8px 9px 10px}.launch-main{height:100%}
  .context-panel{position:fixed;top:0;right:-340px;bottom:0;width:min(330px,92vw);z-index:500;background:#f5f5f5;padding:12px;box-shadow:-10px 0 30px rgba(0,0,0,.18);transition:right .2s;overflow-y:auto}.context-panel.open{right:0}.context-panel-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 5px}.context-panel-head strong{font-size:13px}.context-close{border:0;background:#fff;width:32px;height:32px;border-radius:7px;cursor:pointer;color:#666}.context-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:490}.context-backdrop.open{display:block}
  .atl-table{min-width:780px}.keyboard-hint{display:none}
}

@media(max-width:600px){
  .app-user-icon{display:none}.area-pill{font-size:9px}.btn-logout{padding:5px 8px}
    .review-reason-banner{margin:6px 7px 0;padding:9px 10px}.review-reason-banner strong{font-size:13px}.review-reason-banner span{font-size:13px}
  .cat-commandbar{--command-control-h:42px;grid-template-columns:minmax(0,1fr) auto 42px 42px;grid-template-areas:"picker nav context save" "status status status status";gap:6px}.cat-commandbar.has-chief-filter{grid-template-columns:minmax(0,1fr) auto 42px 42px;grid-template-areas:"picker nav context save" "filter filter filter filter" "status status status status"}.category-nav-group{grid-area:nav}.chief-koto-filter{grid-area:filter;justify-self:start}.category-combobox{grid-area:picker}.command-status{grid-area:status;min-width:0;justify-content:flex-start}.btn-context-toggle{grid-area:context;width:42px;padding:0;justify-content:center}.btn-context-toggle span{display:none}.btn-save-top{grid-area:save;width:42px;padding:0;justify-content:center}.btn-save-top span{display:none}#categoryPicker{font-size:12px}
  .cat-meta-strip{font-size:10px}.cat-meta-item{font-size:10px}.launch-layout{padding:6px}.tcard-hd{padding:8px 10px}.team-card-head{grid-template-columns:1fr}.team-classification{align-items:flex-start;flex-direction:column}.team-card-foot{grid-template-columns:1fr}.team-formation-note{text-align:left}
  #toast{left:12px;right:12px;bottom:12px;max-width:none}
}

/* Fluxo de conferência/homologação */
.guidance-card.is-correction{border-color:rgba(200,54,54,.28);background:#fffafa}
.correction-alert{font-size:10px;line-height:1.5;color:#7f2525;background:#fff0f0;border:1px solid rgba(200,54,54,.16);border-radius:7px;padding:8px;margin-bottom:8px}
.correction-alert>strong{display:block;color:var(--primary);margin-bottom:3px}
.correction-reason{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(200,54,54,.22)}
.guidance-normal{font-size:10px;line-height:1.55;color:#555}
.result-more.is-locked{pointer-events:none;opacity:.7}
.btn-save-top:disabled{box-shadow:none}

/* ============================================================
   ETAPA 16.4 — tipografia ampliada / acessibilidade visual
   ============================================================ */
.topbar span{font-size:13px}
.brand-text strong{font-size:20px}
.brand-text small{font-size:13px}
.system-badge{font-size:13px}
.login-h1{font-size:24px}
.login-sub{font-size:14px}
.field label{font-size:15px}
.input-wrap input{font-size:16px;padding-top:12px;padding-bottom:12px}
.error-box{font-size:14px}
.btn-entrar{font-size:17px}
.login-hint{font-size:14px;line-height:1.5}
.site-footer{font-size:13px}
.app-title{font-size:18px}
.app-title small{font-size:12px}
.app-user{font-size:14px}
.app-nome{font-size:15px}
.area-pill,.koto-pill{font-size:12px;padding:5px 10px}
.chief-koto-filter select{font-size:12px}
.btn-logout{font-size:14px;padding:7px 12px}
#emptyState p{font-size:18px}
#emptyState small{font-size:15px}
.category-picker-heading>label{font-size:11px}
.queue-chip{font-size:11px;padding:3px 7px}
.sug-queue-header{font-size:12px}
.sug-queue-header small{font-size:11px}
.review-reason-banner strong{font-size:14px}
.review-reason-banner span{font-size:14px}
.category-picker-icon{font-size:14px}
#categoryPicker{font-size:15px;height:var(--command-control-h)}
.sug-num{font-size:13px}
.sug-name{font-size:14px}
.sug-status{font-size:11px}
.sug-empty{font-size:14px}
.cat-status,.save-status{font-size:12px}
.btn-save-top{font-size:14px;height:var(--command-control-h)}
.btn-context-toggle{font-size:13px;height:var(--command-control-h)}
.cat-meta-item{font-size:13px}
.cat-meta-item i{font-size:12px}
.tcard-hd{font-size:12px;line-height:1.35}
.keyboard-hint{font-size:11px}
.athlete-order-label,kbd{font-size:11px}
kbd{min-width:20px}
.atl-table{font-size:14px}
.atl-table th{font-size:11px;padding:9px 10px}
.atl-table td{padding:9px 10px;line-height:1.4}
.col-nome{font-size:15px}
.col-nome .mat{font-size:12px}
.col-org{font-size:13px}
.cid-inline,.cell-small{font-size:12px}
.obs-input{font-size:13px;padding:7px 8px}
.result-btn,.result-more-summary{font-size:13px;height:35px;min-width:45px}
.result-more-menu .result-menu-option{font-size:13px;padding:9px 10px}
.result-pending-label{font-size:11px}
.faixa-badge{font-size:12px}
.team-index-badge{font-size:11px}
.team-code{font-size:15px}
.team-meta{font-size:12px}
.team-classification-label,.team-formation-title,.team-count{font-size:11px}
.team-member-name{font-size:13px}
.team-member-meta,.member-role,.team-formation-note{font-size:11px}
.context-card-title{font-size:11px}
.koto-progress-top strong{font-size:21px}
.koto-progress-top span{font-size:13px}
.koto-progress-detail{font-size:12px;line-height:1.5}
.podio-empty{font-size:12px}
.podium-label{font-size:11px}
.podium-name{font-size:12px}
.podium-occurrences{font-size:11px}
.context-guidance,.guidance-normal,.correction-alert{font-size:12px;line-height:1.6}
.obs-card textarea{font-size:13px;line-height:1.45}
.btn-next-pending{font-size:12px}
#toast{font-size:14px;max-width:400px}

@media(max-width:850px){
  .context-panel-head strong{font-size:15px}
  .atl-table{font-size:14px;min-width:820px}
}
@media(max-width:600px){
  .app-title{font-size:17px}
  .area-pill{font-size:11px}
  .btn-logout{font-size:13px}
  #categoryPicker{font-size:14px;height:var(--command-control-h)}
  .cat-meta-item{font-size:12px}
  .tcard-hd{font-size:12px}
  .result-btn,.result-more-summary{font-size:13px}
  .context-card-title{font-size:12px}
  .koto-progress-detail,.podium-name,.context-guidance,.guidance-normal,.correction-alert{font-size:13px}
}

/* ============================================================
   ETAPA 16.6 — reforço de legibilidade na operação do mesário
   ============================================================ */
.topbar span{font-size:14px}
.brand-text strong{font-size:21px}
.brand-text small{font-size:14px}
.system-badge{font-size:14px}
.login-h1{font-size:25px}
.login-sub{font-size:15px}
.field label{font-size:16px}
.input-wrap input{font-size:17px}
.error-box{font-size:15px}
.btn-entrar{font-size:18px}
.login-hint{font-size:15px}
.site-footer{font-size:14px}
.app-title{font-size:19px}
.app-title small{font-size:13px}
.app-user{font-size:15px}
.app-nome{font-size:16px}
.area-pill,.koto-pill{font-size:13px}
.chief-koto-filter select{font-size:13px}
.btn-logout{font-size:15px}
#emptyState p{font-size:19px}
#emptyState small{font-size:16px}
.category-picker-heading>label{font-size:12px}
.queue-chip{font-size:12px}
.sug-queue-header{font-size:13px}
.sug-queue-header small{font-size:12px}
.review-reason-banner strong,.review-reason-banner span{font-size:15px}
#categoryPicker{font-size:16px;height:var(--command-control-h)}
.sug-num{font-size:14px}
.sug-name{font-size:15px}
.sug-status{font-size:12px}
.sug-empty{font-size:15px}
.cat-status,.save-status{font-size:13px}
.btn-save-top{font-size:15px;height:var(--command-control-h)}
.btn-context-toggle{font-size:14px;height:var(--command-control-h)}
.cat-meta-item{font-size:14px}
.tcard-hd{font-size:13px}
.keyboard-hint,.athlete-order-label,kbd{font-size:12px}
.atl-table{font-size:15px}
.atl-table th{font-size:12px}
.col-nome{font-size:16px}
.col-nome .mat{font-size:13px}
.col-org{font-size:14px}
.cid-inline,.cell-small{font-size:13px}
.obs-input{font-size:14px}
.result-btn,.result-more-summary{font-size:14px;height:37px;min-width:47px}
.result-more-menu .result-menu-option{font-size:14px}
.result-pending-label{font-size:12px}
.faixa-badge{font-size:13px}
.team-index-badge{font-size:12px}
.team-code{font-size:16px}
.team-meta{font-size:13px}
.team-classification-label,.team-formation-title,.team-count{font-size:12px}
.team-member-name{font-size:14px}
.team-member-meta,.member-role,.team-formation-note{font-size:12px}
.context-card-title{font-size:12px}
.koto-progress-top strong{font-size:22px}
.koto-progress-top span{font-size:14px}
.koto-progress-detail{font-size:13px}
.podio-empty{font-size:13px}
.podium-label{font-size:12px}
.podium-name{font-size:13px}
.podium-occurrences{font-size:12px}
.context-guidance,.guidance-normal,.correction-alert{font-size:13px}
.obs-card textarea{font-size:14px}
.btn-next-pending{font-size:13px}
#toast{font-size:15px}
@media(max-width:850px){
  .context-panel-head strong{font-size:16px}
  .atl-table{font-size:15px}
}
@media(max-width:600px){
  .app-title{font-size:18px}
  .area-pill{font-size:12px}
  .btn-logout{font-size:14px}
  #categoryPicker{font-size:15px;height:var(--command-control-h)}
  .cat-meta-item{font-size:13px}
  .tcard-hd{font-size:13px}
  .result-btn,.result-more-summary{font-size:14px}
  .context-card-title{font-size:13px}
  .koto-progress-detail,.podium-name,.context-guidance,.guidance-normal,.correction-alert{font-size:14px}
}

/* ============================================================
   ETAPA 21 — estado operacional fixo do Koto + selo de 4º lugar
   ============================================================ */
.koto-state-banner{
  margin:8px 12px 0;padding:10px 13px;border-radius:10px;
  display:flex;align-items:flex-start;gap:10px;
  border:1px solid #cfe2f2;border-left:4px solid #2d7fab;background:#f3f9fd;color:#285a75;
  box-shadow:0 2px 8px rgba(0,0,0,.035);
}
.koto-state-banner[hidden]{display:none!important;}
.koto-state-banner>i{font-size:18px;margin-top:1px;}
.koto-state-banner strong{display:block;font-size:14px;line-height:1.2;}
.koto-state-banner span{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:#536b79;}
.koto-state-banner.is-waiting{border-color:#cfe2f2;border-left-color:#2d7fab;background:#f3f9fd;color:#245f80;}
.koto-state-banner.is-correction{border-color:#f0c8c8;border-left-color:var(--primary);background:#fff4f4;color:#9f2c2c;}
.koto-state-banner.is-correction span{color:#704848;}
.koto-state-banner.is-closed{border-color:#ccebd8;border-left-color:#218447;background:#effaf3;color:#146c37;}
.koto-state-banner.is-closed span{color:#3d6a4d;}
.result-btn[data-result="quarto"]{font-weight:850;letter-spacing:.05px;}
@media(max-width:850px){
  .koto-state-banner{margin:7px 9px 0;padding:9px 11px;}
  .koto-state-banner strong{font-size:14px;}
  .koto-state-banner span{font-size:13px;}
}


/* ============================================================
   ETAPA 22 — viewport móvel real + selo visual de 4º lugar
   ============================================================ */
.fourth-place-icon{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:1.28em;height:1.28em;line-height:1;vertical-align:-.18em;flex:0 0 auto;
}
.fourth-place-icon i{font-size:1.28em;color:#64748b;line-height:1;}
.fourth-place-icon b{
  position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);
  color:#fff;font-size:.48em;font-weight:900;line-height:1;font-family:'Inter',sans-serif;
}
.result-btn[data-result="quarto"]{gap:4px;color:#475569;}
.podium-medal .fourth-place-icon{font-size:18px;vertical-align:middle;}

/* 100vh em Android pode incluir a área escondida pela barra do navegador.
   A variável vem de visualViewport e acompanha a área realmente visível. */
#appWrapper{height:var(--mesario-viewport-h,100dvh);}
html.touch-mesario #appWrapper{max-height:var(--mesario-viewport-h,100dvh);}
html.touch-mesario .context-panel{
  padding-bottom:calc(14px + env(safe-area-inset-bottom));
}
html.touch-mesario .launch-layout{
  padding-bottom:calc(14px + env(safe-area-inset-bottom));
}
.koto-state-banner{flex:0 0 auto;}

/* ETAPA 24 — padronização operacional do Mesário */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* ETAPA 25 — fila operacional única + bloqueio visual de súmula homologada */
.sug-item.is-confirmed{background:#f6fbf7;color:#526158}
.sug-item.is-confirmed:hover,.sug-item.is-confirmed.kb-active{background:#edf7ef}
#categoriaView.is-result-locked .cat-meta-strip{background:#f3f4f5;color:#8b9198}
#categoriaView.is-result-locked .launch-card{background:#f5f6f7;border-color:#dfe2e5;box-shadow:none;opacity:.64}
#categoriaView.is-result-locked .launch-card .atl-table td{background:#f7f8f9;color:#72777d}
#categoriaView.is-result-locked .launch-card .atl-table tbody tr:hover td{background:#f7f8f9}
#categoriaView.is-result-locked .result-btn,
#categoriaView.is-result-locked .result-more-summary,
#categoriaView.is-result-locked .obs-input,
#categoriaView.is-result-locked #obsGeral{cursor:not-allowed!important}
#categoriaView.is-result-locked .btn-save-top:disabled{opacity:1;background:#e4e7ea;color:#737a82;border:1px solid #cfd4d9;box-shadow:none}


/* ============================================================
   ETAPA 57 — alerta destacado para formação inválida de equipe
   ============================================================ */
#toast.danger{
  background:var(--primary);
  color:#fff;
  border-left:4px solid #8f1f1f;
}


/* ============================================================
   ETAPA 58 — semântica visual padronizada dos toasts
   Informação=azul | Sucesso=verde | Atenção=âmbar
   Bloqueio/Erro=vermelho. A cor nunca é o único sinal: cada
   nível também possui ícone próprio definido no JavaScript.
   ============================================================ */
#toast{
  box-sizing:border-box;
  border-left:4px solid transparent;
}
#toast i{flex:0 0 auto}
#toast .toast-message{min-width:0;line-height:1.35}
#toast.info{
  background:#2563a6;
  color:#fff;
  border-left-color:#173f6d;
}
#toast.success{
  background:#2f7d4b;
  color:#fff;
  border-left-color:#1e5733;
}
#toast.warning{
  background:#f2c94c;
  color:#2b250f;
  border-left-color:#9a7412;
}
#toast.blocking,
#toast.error,
#toast.danger{
  background:#c83636;
  color:#fff;
  border-left-color:#8f1f1f;
}

/* R2 — formação flexível de Kata Equipe (4 inscritos) */
.team-member-side{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.team-member-reason{max-width:150px;min-width:118px;border:1px solid #d9dde2;border-radius:6px;background:#fff;color:#555;padding:5px 6px;font-size:10px;font-family:inherit;outline:none}
.team-member-reason:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(200,54,54,.08)}
.team-member-reason:disabled{opacity:.45;background:#f4f4f4}
.team-member.is-reserve{background:#f7f7f7;border-color:#ddd}
.team-member.is-wo{background:#f5f5f5;border-color:#b8b8b8}
.team-member.is-dq{background:#fff4f4;border-color:#e6bcbc}
.team-member.is-unselected{background:#fcfcfc;border-color:#eee}
.team-member.is-reserve .member-role{color:#777}
.team-member.is-wo .member-role{color:#555}
.team-member.is-dq .member-role{color:var(--primary)}
.team-member.is-unselected .member-role{color:#999}
@media(max-width:850px){
  .team-member{grid-template-columns:auto minmax(0,1fr);align-items:start}
  .team-member-side{grid-column:2;justify-content:flex-start;flex-wrap:wrap}
  .team-member-reason{max-width:100%;font-size:12px}
}
.sug-queue-confirmed{background:#f1fbf4;color:#276a3d;border-color:#d8ebdf}.sug-queue-confirmed i{color:var(--green)}

/* ============================================================
   R3.2 — mais respiro no grid + foto retangular para comparação
   ============================================================ */
.atl-table th.col-nome,.atl-table td.col-nome{width:34%;min-width:250px}
.atl-table th.col-org,.atl-table td.col-org{width:150px;min-width:125px;max-width:160px}
.atl-table th.col-dados,.atl-table td.col-dados{width:1%;white-space:nowrap}
.atl-table th.col-classificacao{width:1%;white-space:nowrap}
.atl-table td.col-classificacao{width:1%}
.atl-table th.col-obs,.atl-table td.col-obs{width:1%;white-space:nowrap}
.atl-table tbody tr[data-atleta-row] td{padding-top:3px!important;padding-bottom:3px!important}
.athlete-cell{display:flex;align-items:center;gap:9px;min-width:0;min-height:44px}
.athlete-avatar-wrap{width:38px;height:42px;min-width:38px;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:5px;background:#f0f1f3;border:1px solid #e0e2e5}
.athlete-avatar-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.athlete-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#8b9198;background:#eef0f2;font-size:17px}
.athlete-avatar-fallback[hidden]{display:none!important}
.athlete-ident{min-width:0;flex:1}
.athlete-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.14}
.col-nome .mat{margin-top:2px;line-height:1.08;white-space:nowrap}
.col-org{overflow:hidden}
.org-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.10}
.org-location{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray);font-size:.86em;line-height:1.08}

/* R3.3 — restaura o menu de status vertical/compacto da R2.
   A célula de classificação não pode herdar nowrap para os botões do dropdown. */
.col-classificacao .result-more-menu{
  width:205px;
  min-width:205px;
  max-width:calc(100vw - 24px);
  white-space:normal;
}
.col-classificacao .result-more-menu .result-menu-option{
  display:block;
  width:100%;
  white-space:nowrap;
}

@media(max-width:850px){
  .atl-table th.col-nome,.atl-table td.col-nome{min-width:235px}
  .atl-table th.col-org,.atl-table td.col-org{width:135px;min-width:120px;max-width:145px}
  .atl-table tbody tr[data-atleta-row] td{padding-top:2px!important;padding-bottom:2px!important}
  .athlete-cell{gap:8px;min-height:42px}
  .athlete-avatar-wrap{width:36px;height:40px;min-width:36px}
}

