/* ============================================================
   V6.0 (13/10): ORÇAMENTO — estilos do módulo (orcamento.js)
   Tudo dentro de .orc (tela #orc-root e janela #orc-modal).
   Computador = mesmo ponto de corte do app (900 px).
   ============================================================ */
.orc { --o-bg: #0d0d0d; --o-card: #1d1d22; --o-card2: #17171b; --o-line: #2e2e36; --o-line2: #35353d;
  --o-text: #e8e8ea; --o-mut: #9a9aa2; --o-acc: #4f8cff; --o-acc-d: #3b74e0; --o-ok: #22b07d; --o-warn: #e2683a; --o-red: #d9534f;
  color: var(--o-text); font-size: 14px; }
.orc .hidden { display: none !important; }
.orc button { font-family: inherit; }
.orc-box { display: flex; flex-direction: column; gap: 10px; }
.orc-mu { color: var(--o-mut); font-size: 12px; line-height: 1.4; }
.orc-mu2 { color: var(--o-mut); font-weight: 400; }
.orc .orc-desc { color: #ff5c5c; font-weight: 400; }   /* 14/10: descrição do item em vermelho */
.orc-pad { padding: 12px 4px; }
.orc-h { font-size: 18px; font-weight: 700; line-height: 1.25; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.orc-sub { font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.orc-big { font-size: 22px; font-weight: 700; margin-top: 2px; }
.orc-sp { flex: 1; }
.orc-card { background: var(--o-card); border: 1px solid var(--o-line); border-radius: 12px; padding: 12px; }
.orc-note { background: #1a2233; border: 1px solid #2f4a78; color: #b9cdf5; border-radius: 10px; padding: 8px 10px; font-size: 12px; line-height: 1.45; }
.orc-loading { text-align: center; }

/* topo: escolher orçamento, moeda, editar/fechar/novo */
.orc-top { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.orc-bsel, .orc select, .orc input[type="text"], .orc input[type="number"], .orc input[type="date"], .orc-search {
  background: var(--o-bg); border: 1px solid var(--o-line2); border-radius: 8px; color: var(--o-text);
  font-size: 14px; padding: 9px 10px; outline: none; font-family: inherit; min-width: 0; max-width: 100%; }
.orc select:focus, .orc input:focus { border-color: var(--o-acc); }
.orc input[type="date"] { color-scheme: dark; }
.orc select:disabled, .orc input:disabled { background: #121215; color: #777; cursor: not-allowed; }
.orc-bsel { flex: 1 1 160px; font-weight: 600; }
.orc-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700;
  background: #23232a; border: 1px solid var(--o-line2); color: #cfcfd6; white-space: nowrap; }
.orc-chip.lock { background: #2b1d1c; border-color: #6b302c; color: #ffb4ae; }
.orc-chip.ok { background: #14301f; border-color: #2c6b48; color: #8de0b5; }
.orc-ic { width: 36px; height: 36px; border-radius: 9px; background: var(--o-card); border: 1px solid var(--o-line); color: #d6d6dc;
  display: inline-flex; align-items: center; justify-content: center; font-size: 18px; cursor: pointer; }
.orc-ic:hover { border-color: var(--o-acc); color: #fff; }

/* botões */
.orc-btn { background: var(--o-acc); color: #fff; border: 1px solid var(--o-acc); border-radius: 9px; padding: 9px 14px; font-size: 13px;
  font-weight: 700; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.orc-btn:hover { background: var(--o-acc-d); }
.orc-btn:disabled { opacity: .55; cursor: default; }
.orc-btn.ghost { background: transparent; color: #d6d6dc; border-color: var(--o-line2); }
.orc-btn.ghost:hover { border-color: var(--o-acc); color: #fff; }
.orc-btn.danger { background: transparent; color: #ff9389; border-color: #7a302a; }
.orc-btn.danger:hover { background: #3a1c19; }
.orc-btn.sm { padding: 6px 10px; font-size: 12px; }
.orc-wide { width: 100%; }
.orc-link { background: none; border: none; color: var(--o-acc); font-size: 13px; cursor: pointer; padding: 2px 0; text-align: left; align-self: flex-start; }
/* 20/10: tela de uma prova — grupos "Realizados" e "Projetados" */
.orc-grp { font-size: 11px; font-weight: 700; letter-spacing: .38em; text-transform: uppercase; color: var(--o-mut); padding: 4px 2px 0; }
.orc-grp.sep { border-top: 1px solid var(--o-line2); margin-top: 6px; padding-top: 12px; }
.orc-rdet .orc-bsel { flex: 1 1 auto; }
.orc-rdet .orc-sp { flex: 0 0 0; }
.orc-acts { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }

/* navegação das 5 secções: telefone = barra no topo; computador = coluna */
.orc-layout { display: flex; flex-direction: column; gap: 10px; }
.orc-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; background: var(--o-card2); border: 1px solid var(--o-line);
  border-radius: 12px; padding: 4px; }
.orc-nav button { background: transparent; border: 1px solid transparent; border-radius: 9px; color: var(--o-mut); padding: 6px 2px; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 9.5px; font-weight: 600; min-width: 0; }
.orc-nav button i { font-size: 19px; }
.orc-nav button span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orc-nav button.active { background: #1a2233; border-color: #2f4a78; color: #fff; }
.orc-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.orc-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

/* painel: anel + categorias */
.orc-hero { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.orc-ring { width: 140px; height: 140px; flex-shrink: 0; }
.orc-ring text { font-family: inherit; font-weight: 700; }
.orc-ring text + text { font-weight: 500; }
.orc-ring-d { display: none; }
.orc-cats { width: 100%; display: flex; flex-direction: column; gap: 8px; }
.orc-mlist { width: 100%; display: flex; flex-direction: column; gap: 6px; }
.orc-bar + .orc-bar { margin-top: 9px; }
.orc-bar-l { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; margin-bottom: 3px; }
.orc-bar-l span:last-child { color: var(--o-mut); white-space: nowrap; }
.orc-trk { display: block; height: 7px; background: #2a2a31; border-radius: 99px; overflow: hidden; }
.orc-trk > div, .orc-trk > span { display: block; height: 100%; border-radius: 99px; }
.orc-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.orc-dotrow { display: flex; align-items: center; gap: 10px; padding: 9px 12px; }
.orc-dotrow span:nth-child(2) { flex: 1; font-size: 13px; }
.orc-dotrow b { font-size: 13px; white-space: nowrap; }
.orc-alert { display: flex; align-items: center; gap: 8px; background: var(--o-card); border: 1px solid var(--o-line); border-left: 4px solid var(--c, var(--o-acc));
  border-radius: 10px; padding: 9px 11px; font-size: 12.5px; line-height: 1.35; }
.orc-alert i { color: var(--c, var(--o-acc)); font-size: 17px; flex-shrink: 0; }
.orc-grid2 { display: grid; grid-template-columns: 1fr; gap: 10px; }
.orc-col { display: flex; flex-direction: column; gap: 8px; }
.orc-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
.orc-kpi { background: var(--o-card2); border: 1px solid var(--o-line); border-radius: 10px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.orc-kpi span { color: var(--o-mut); font-size: 11px; }
.orc-kpi b { font-size: 15px; overflow-wrap: anywhere; }
.orc-card.orc-kpis { padding: 10px; }
/* 14/10: cards da tela da prova — previsto (em cima) x realizado (em baixo); custo/km e bônus à direita */
.orc-rk { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-areas: "fbal fexp finc" "bal dexp dinc" "km bonus ."; }
.orc-rk .k-fbal { grid-area: fbal; } .orc-rk .k-fexp { grid-area: fexp; } .orc-rk .k-finc { grid-area: finc; }
.orc-rk .k-bal { grid-area: bal; } .orc-rk .k-dexp { grid-area: dexp; } .orc-rk .k-dinc { grid-area: dinc; }
.orc-rk .k-km { grid-area: km; } .orc-rk .k-bonus { grid-area: bonus; }

/* ano anterior x ano atual (barras por categoria) */
.orc-ychart { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; align-items: end; height: 84px; padding-top: 4px; }
.orc-ycol { display: flex; flex-direction: column; align-items: center; gap: 5px; min-width: 0; }
.orc-ybars { display: flex; align-items: flex-end; gap: 2px; height: 64px; }
.orc-ybars div { width: 8px; border-radius: 3px 3px 0 0; }
.orc-legend { display: flex; gap: 14px; margin-top: 8px; font-size: 11px; color: var(--o-mut); }
.orc-legend span { display: inline-flex; align-items: center; gap: 5px; }
.orc-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }

/* listas (provas, lançamentos, atletas) */
.orc-list { display: flex; flex-direction: column; gap: 6px; }
.orc-row { width: 100%; display: flex; align-items: center; gap: 10px; background: var(--o-card); border: 1px solid var(--o-line); border-radius: 11px;
  padding: 10px 12px; color: var(--o-text); text-align: left; cursor: pointer; font-size: 13px; }
.orc-row:hover { border-color: #3d4a66; }
.orc-row.static { cursor: default; }
.orc-row.static:hover { border-color: var(--o-line); }
.orc-row.dim { opacity: .72; }
/* 14/10: "Previsão" (ainda não realizado) = amarelo; "realizado" = verde */
.orc-row.prev { background: #2e2810; border-color: #d4a72c; }
.orc-row.prev:hover { border-color: #e8bd3f; }
.orc-row.done { background: #11291c; border-color: #22b07d; }
.orc-row.done:hover { border-color: #3fcf97; }
.orc-done { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 10.5px; color: var(--o-mut); min-width: 58px; cursor: pointer; flex-shrink: 0; }
.orc-done input { width: 18px; height: 18px; accent-color: #22b07d; cursor: pointer; margin: 0; }
.orc-done input:disabled { cursor: default; opacity: .55; }
.orc-fc { margin-top: 2px; }
.orc-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.orc-row-main b { font-weight: 600; overflow-wrap: anywhere; }
.orc-row-main small { color: var(--o-mut); font-size: 11.5px; overflow-wrap: anywhere; }
.orc-row-main .orc-trk { margin-top: 3px; height: 5px; }
.orc-tags { color: #c9b98a !important; }
.orc-row-val { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-weight: 700; white-space: nowrap; }
.orc-row-val small { color: var(--o-mut); font-weight: 400; font-size: 11px; }
.orc-row-val.inc { color: #7fb0ff; }
.orc-row-val.pend { color: var(--o-mut); font-style: italic; }
.orc-fm { color: #8fb8ff !important; font-weight: 700; }
.orc-av { border-radius: 50%; background: #2a3550; color: #dfe7ff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700;
  font-size: 13px; overflow: hidden; flex-shrink: 0; }
.orc-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.orc-inv .orc-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 13px; padding: 4px 0; }
.orc-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.orc-filters select { flex: 1 1 140px; }
.orc-empty { text-align: center; padding: 34px 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.orc-empty i { font-size: 40px; color: var(--o-acc); }
.orc-empty h3 { font-size: 16px; }
.orc-empty p { color: var(--o-mut); font-size: 13px; max-width: 340px; line-height: 1.45; }
.orc-empty.err { color: #ff9389; }

/* tabelas de comparação */
.orc-tw { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.orc-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.orc-table th { text-align: left; color: var(--o-mut); font-weight: 600; padding: 6px 8px; border-bottom: 1px solid var(--o-line); white-space: nowrap; }
.orc-table td { padding: 7px 8px; border-bottom: 1px solid #25252b; white-space: nowrap; vertical-align: top; }
.orc-table td small { display: block; color: var(--o-mut); font-size: 10.5px; }
.orc-table td small.up { display: inline; color: #ff9389; }
.orc-table td small.down { display: inline; color: #62d6a0; }
.orc-table tr:last-child td { border-bottom: none; }

/* janela (lançamento, prova, orçamento, convidar) */
.orc-modal { position: fixed; inset: 0; z-index: 3000; background: rgba(0,0,0,.66); display: flex; align-items: flex-end; justify-content: center; }
.orc-modal.hidden { display: none; }
.orc-mbox { background: #151519; border: 1px solid var(--o-line2); border-radius: 16px 16px 0 0; width: 100%; max-width: 560px;
  max-height: 92vh; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.orc-mbox h3 { font-size: 16px; }
.orc-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; }
.orc-f { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.orc-f > span, .orc-flabel { font-size: 11.5px; color: var(--o-mut); font-weight: 600; }
.orc-f input, .orc-f select { width: 100%; }
.orc-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; background: var(--o-bg); border: 1px solid var(--o-line2); border-radius: 10px; padding: 3px; }
.orc-seg button { background: transparent; border: none; color: var(--o-mut); border-radius: 8px; padding: 8px 4px; font-size: 13px; font-weight: 700; cursor: pointer; }
.orc-seg button.active { background: var(--o-acc); color: #fff; }
.orc-seg.sm button { padding: 6px 4px; font-size: 12px; }
.orc-split { display: flex; flex-direction: column; gap: 6px; background: var(--o-card2); border: 1px solid var(--o-line); border-radius: 10px; padding: 8px; }
.orc-part { display: grid; grid-template-columns: 1fr 90px auto; gap: 8px; align-items: center; font-size: 13px; }
.orc-part span:last-child { color: var(--o-mut); font-size: 12px; }
.orc-chk { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.orc-chk input { width: 18px; height: 18px; accent-color: var(--o-acc); }
.orc-photo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.orc-photo .orc-flabel { width: 100%; }
.orc-photo img { max-width: 120px; max-height: 120px; border-radius: 8px; border: 1px solid var(--o-line2); object-fit: cover; }
/* V6.0 (21/10): PDF anexado (nome do arquivo no formulário) */
.orc-pdf { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orc-pdf .ti { font-size: 20px; color: #ff5c5c; }
.orc-file { position: relative; overflow: hidden; }
.orc-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.orc-merr { background: #3a1c19; border: 1px solid #7a302a; color: #ffb4ae; border-radius: 8px; padding: 8px 10px; font-size: 12.5px; }
.orc-mbtns { display: flex; gap: 8px; align-items: center; padding-top: 4px; flex-wrap: wrap; }
.orc-search { width: 100%; }
.orc-cands { display: flex; flex-direction: column; gap: 6px; max-height: 50vh; overflow-y: auto; }

.orc-only-d { display: none !important; }

/* telefones estreitos */
@media (max-width: 380px) {
  .orc-fgrid { grid-template-columns: 1fr; }
  .orc-nav button { font-size: 8.5px; }
  .orc-ring { width: 124px; height: 124px; }
}

/* computador */
@media (min-width: 900px) {
  .orc { font-size: 15px; }
  .orc-only-d { display: inline-flex !important; }
  .orc-cats.orc-only-d { display: flex !important; }
  .orc-only-m { display: none !important; }
  .orc-layout { flex-direction: row; align-items: flex-start; gap: 16px; }
  .orc-nav { grid-template-columns: 1fr; width: 168px; flex-shrink: 0; position: sticky; top: 210px; padding: 6px; }
  .orc-nav button { flex-direction: row; justify-content: flex-start; gap: 10px; padding: 10px 12px; font-size: 13.5px; }
  .orc-nav button i { font-size: 19px; }
  .orc-main { flex: 1; }
  .orc-hero { flex-direction: row; align-items: center; gap: 22px; padding: 16px 20px; }
  .orc-ring { width: 170px; height: 170px; }
  .orc-ring-d { display: inline; }
  .orc-ring-m { display: none; }
  .orc-grid2 { grid-template-columns: 1.15fr 1fr; }
  .orc-rk { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 0.55fr) minmax(0, 1fr); grid-template-areas: "fbal fexp finc . km" "bal dexp dinc . bonus"; }
  .orc-modal { align-items: center; }
  .orc-mbox { border-radius: 16px; padding: 20px; }
  .orc-h { font-size: 20px; }
  /* 20/10: tela "Provas" (lista) — Temporada com a largura do menu; título alinhado com a coluna da direita */
  .orc-provas .orc-bsel { flex: 0 0 168px; width: 168px; padding: 9px 4px 9px 12px; }
  .orc-provas .orc-ptitle { margin-left: 10px; }
  .orc-provas .orc-padd { margin-right: 6px; }
  /* 20/10: tela de uma prova — mesma linha de cima da lista de Provas, com o cabeçalho da prova */
  .orc-rdet .orc-bsel { flex: 0 0 168px; width: 168px; padding: 9px 4px 9px 12px; }
  .orc-rdet .orc-rback { margin-left: 184px; margin-bottom: -4px; }
  .orc-rdet .orc-top { flex-wrap: nowrap; }
  .orc-rdet .orc-sp { flex: 1; }
  .orc-rdet .orc-rhead-top { flex-direction: column; align-items: flex-start; margin-left: 10px; min-width: 0; flex: 0 1 auto; }
  .orc-rdet .orc-rhead-top > .orc-mu, .orc-rdet .orc-rhead-top .orc-rname { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .orc-rdet .orc-rhead-top .orc-h { flex-wrap: nowrap; max-width: 100%; }
  .orc-rdet .orc-rhead-top .orc-rname { min-width: 0; }
  .orc-rdet .orc-rhead-top .orc-chip { flex-shrink: 0; }
  .orc-rdet .orc-racts-top { align-items: center; flex-wrap: nowrap; flex-shrink: 0; }
}
