/* =========================================================================
   equipamento.css — Equipamentos Fase 2 (Planeamento, Encomendas, Pedidos por
   atleta, Entregas). Só tokens do tema (herda claro/escuro); nenhuma cor
   literal. Carregado depois de ui-kit.css.
   ========================================================================= */

.ui-modal p{white-space:pre-line;}

/* ---------- Cabeçalho + subnavegação ---------- */
.eq-cab{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:6px;}
.eq-subnav{display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 18px; padding:4px; background:var(--surface-2); border:1px solid var(--border); border-radius:12px; width:fit-content; max-width:100%;}
.eq-subnav a{
  display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:9px; font-weight:700; font-size:.86rem;
  color:var(--muted); text-decoration:none; white-space:nowrap;
}
.eq-subnav a:hover{color:var(--ink); background:var(--surface);}
.eq-subnav a[aria-current=page]{background:var(--surface); color:var(--ink); box-shadow:var(--shadow);}
.eq-subnav a .n{font-variant-numeric:tabular-nums; font-size:.72rem; background:var(--amber-soft); color:var(--amber); border-radius:100px; padding:1px 7px;}
@media (max-width:640px){
  .eq-subnav{width:100%; display:grid; grid-template-columns:1fr 1fr;}
  .eq-subnav a{justify-content:center; white-space:normal; text-align:center;}
}

/* ---------- Cartões compactos ---------- */
.eq-cartoes{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin-bottom:16px;}
.eq-cartao{
  display:flex; flex-direction:column; gap:2px; text-align:left; padding:12px 14px; cursor:pointer; font:inherit;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); color:var(--ink);
}
.eq-cartao:hover{border-color:var(--green);}
.eq-cartao .n{font-family:'Barlow Condensed'; font-size:1.9rem; font-weight:700; line-height:1.05; font-variant-numeric:tabular-nums;}
.eq-cartao .l{font-size:.74rem; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.02em;}
.eq-cartao.destaque .n{color:var(--amber);}
.eq-cartao.pronto .n{color:var(--green);}

/* ---------- Filtros ---------- */
.eq-filtros{display:grid; grid-template-columns:minmax(200px,2fr) repeat(3,minmax(130px,1fr)) auto; gap:10px; align-items:end; margin-bottom:12px;}
.eq-filtros-4{grid-template-columns:minmax(200px,2fr) repeat(2,minmax(130px,1fr)) auto;}
.eq-filtros-6{grid-template-columns:minmax(200px,2fr) repeat(4,minmax(120px,1fr)) auto;}
@media (max-width:980px){ .eq-filtros, .eq-filtros-4, .eq-filtros-6{grid-template-columns:1fr 1fr;} .eq-filtros .campo-q{grid-column:1/-1;} }
@media (max-width:420px){ .eq-filtros, .eq-filtros-4, .eq-filtros-6{grid-template-columns:1fr 1fr;} }
.eq-pills{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;}
.eq-pill{
  border:1px solid var(--border); background:var(--surface); color:var(--ink); border-radius:100px; padding:5px 12px; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer;
}
.eq-pill:hover{border-color:var(--green);}
.eq-pill[aria-pressed=true]{background:var(--green-soft); color:var(--green-deep); border-color:var(--green);}
.eq-pill .n{font-variant-numeric:tabular-nums; color:var(--muted); font-weight:600; margin-left:4px;}

/* ---------- Planeamento: artigos em acordeão ---------- */
.eq-art{border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); margin-bottom:8px; overflow:hidden;}
.eq-art.tem-pendente{border-left:3px solid var(--amber);}
.eq-art-cab{
  display:grid; grid-template-columns:minmax(150px,2fr) repeat(5,minmax(64px,1fr)) 24px; gap:10px; align-items:center; width:100%;
  padding:12px 14px; border:none; background:none; text-align:left; font:inherit; color:var(--ink); cursor:pointer;
}
.eq-art-cab:hover{background:var(--surface-2);}
.eq-art-nome{font-weight:700; min-width:0; overflow-wrap:anywhere;}
.eq-art-nome small{display:block; font-size:.72rem; font-weight:600; color:var(--muted);}
.eq-nums{display:contents;}
.eq-num{display:flex; flex-direction:column; align-items:flex-start; font-variant-numeric:tabular-nums; line-height:1.15;}
.eq-num b{font-size:1.05rem;}
.eq-num span{font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--muted);}
.eq-num.pend b{color:var(--amber);}
.eq-num.zero b{color:var(--muted); font-weight:600;}
.eq-seta{transition:transform .15s; color:var(--muted);}
.eq-art-cab[aria-expanded=true] .eq-seta{transform:rotate(90deg);}
.eq-art-corpo{border-top:1px solid var(--border); background:var(--surface-2); padding:10px 14px 14px;}
@media (max-width:760px){
  .eq-art-cab{grid-template-columns:1fr auto; grid-template-areas:"nome seta" "nums nums";}
  .eq-art-cab .eq-art-nome{grid-area:nome;}
  .eq-art-cab .eq-seta{grid-area:seta;}
  .eq-nums{display:grid; grid-area:nums; grid-template-columns:repeat(5,1fr); gap:6px;}
}
@media (max-width:420px){ .eq-nums{grid-template-columns:repeat(3,1fr);} }

.eq-tam{width:100%; border-collapse:collapse; font-size:.86rem;}
.eq-tam th{font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); text-align:right; padding:4px 8px;}
.eq-tam th:first-child, .eq-tam td:first-child{text-align:left;}
.eq-tam td{padding:7px 8px; border-top:1px solid var(--border); text-align:right; font-variant-numeric:tabular-nums;}
.eq-tam td.pend{color:var(--amber); font-weight:800;}
.eq-tam .qtd input{width:76px; text-align:right; padding:6px 8px; border-radius:8px; border:1px solid var(--border); background:var(--surface); color:var(--ink); font:inherit;}
.eq-tam .qtd{white-space:nowrap;}
.eq-tam .qtd .btn{padding:3px 8px; font-size:.72rem;}
@media (max-width:640px){
  .eq-tam thead{display:none;}
  .eq-tam, .eq-tam tbody{display:block;}
  .eq-tam tr{display:grid; grid-template-columns:repeat(3,1fr); gap:4px 8px; padding:8px 0; border-top:1px solid var(--border);}
  .eq-tam td{display:block; border:none; padding:0; text-align:left;}
  .eq-tam td[data-l]::before{content:attr(data-l); display:block; font-size:.62rem; font-weight:800; text-transform:uppercase; color:var(--muted);}
  .eq-tam td:first-child{grid-column:1/-1; font-weight:800;}
  .eq-tam td.qtd{grid-column:1/-1;}
}

/* Barra de seleção (criar lote) */
.eq-barra{
  position:sticky; bottom:0; z-index:20; display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 16px; margin-top:14px;
  background:var(--surface); border:1px solid var(--green); border-radius:var(--radius); box-shadow:var(--shadow);
}
.eq-barra[hidden]{display:none;}
.eq-barra .grande{font-weight:800;}
.eq-barra .esp{flex:1;}
@media (max-width:640px){ .eq-barra{bottom:64px;} .eq-barra .btn{flex:1;} }

/* ---------- Tabelas responsivas (cartões em ecrãs estreitos) ---------- */
.eq-tabela{width:100%; border-collapse:collapse; font-size:.88rem;}
.eq-tabela th{font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); text-align:left; padding:10px 10px; background:var(--surface-2); border-bottom:1px solid var(--border);}
.eq-tabela td{padding:10px; border-bottom:1px solid var(--border); vertical-align:middle; overflow-wrap:anywhere;}
.eq-tabela tr:last-child td{border-bottom:none;}
.eq-tabela .num{text-align:right; font-variant-numeric:tabular-nums;}
.eq-tabela td.num{font-family:inherit;}
.eq-tabela td.col-esc{max-width:200px;}
.eq-tabela td.col-cont{min-width:230px;}
.eq-tabela td.col-cont .eq-contagens{flex-wrap:nowrap;}
.eq-tabela th.num{text-align:right;}
.eq-tabela .sub{display:block; color:var(--muted); font-size:.76rem; font-weight:500;}
.eq-tabela .nw{white-space:nowrap;}
.eq-tabela td.acoes{text-align:right; white-space:nowrap;}
.eq-tabela tr.linha-abrir{cursor:pointer;}
.eq-tabela tr.linha-abrir:hover td{background:var(--surface-2);}
@media (max-width:900px){
  .eq-tabela thead{display:none;}
  .eq-tabela, .eq-tabela tbody{display:block;}
  .eq-tabela tr{display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; padding:12px; border-bottom:1px solid var(--border);}
  .eq-tabela td{display:block; padding:0; border:none; text-align:left !important;}
  .eq-tabela td[data-l]::before{content:attr(data-l); display:block; font-size:.62rem; font-weight:800; text-transform:uppercase; color:var(--muted); letter-spacing:.03em;}
  .eq-tabela td.principal, .eq-tabela td.acoes{grid-column:1/-1;}
  .eq-tabela td:empty{display:none;}
  .eq-tabela td.larga{grid-column:1/-1;}
  .eq-tabela td.col-esc{max-width:none;}
  .eq-tabela td.col-cont{min-width:0; grid-column:1/-1;}
  .eq-tabela td.col-cont .eq-contagens{flex-wrap:wrap;}
  .eq-tabela td.acoes{white-space:normal; display:flex; flex-wrap:wrap; gap:6px;}
}

.eq-contagens{display:inline-flex; gap:4px 12px; flex-wrap:wrap; font-variant-numeric:tabular-nums; font-size:.82rem; margin:6px 0;}
.eq-contagens .z{color:var(--muted);}
.eq-progresso{display:block; height:6px; border-radius:100px; background:var(--border); overflow:hidden; min-width:70px; margin-top:4px;}
.eq-progresso>i{display:block; height:100%; background:var(--green);}

/* ---------- Detalhe do lote ---------- */
.eq-meta{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px 18px; font-size:.86rem; margin:14px 0;}
.eq-meta .k{display:block; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--muted);}
.eq-acoes{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; align-items:center;}
.eq-acoes .esp{flex:1;}
.eq-painel{border:1px solid var(--border); border-left:3px solid var(--green); background:var(--surface); border-radius:var(--radius); padding:14px 16px; margin:16px 0;}
.eq-painel h3{margin:0 0 4px;}
.eq-elegivel{display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:9px 4px; border-bottom:1px solid var(--border);}
.eq-elegivel:last-child{border-bottom:none;}
.eq-elegivel .sub{display:block; color:var(--muted); font-size:.76rem;}
.eq-elegivel.sugerido{background:var(--green-soft);}
.eq-elegivel input[type=checkbox]{width:18px; height:18px;}
.eq-contador{font-weight:800; font-variant-numeric:tabular-nums;}
.eq-contador.excede{color:var(--red);}
.eq-hist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:.84rem;}
.eq-hist li{padding-left:12px; border-left:2px solid var(--border);}
.eq-hist .quando{color:var(--muted); font-size:.74rem; display:block;}
details.eq-det{border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); margin-top:12px;}
details.eq-det>summary{cursor:pointer; padding:12px 16px; font-weight:700; list-style:none; display:flex; justify-content:space-between; gap:8px;}
details.eq-det>summary::-webkit-details-marker{display:none;}
details.eq-det>summary::after{content:'▸'; color:var(--muted); transition:transform .15s;}
details.eq-det[open]>summary::after{transform:rotate(90deg);}
details.eq-det>.corpo{padding:0 16px 14px;}
.eq-linha-edit input[type=number]{width:84px; text-align:right; padding:6px 8px; border-radius:8px; border:1px solid var(--border); background:var(--surface); color:var(--ink); font:inherit;}

/* Chips de artigos (entregas) */
.eq-itens{display:flex; flex-wrap:wrap; gap:4px;}
.eq-item-chip{display:inline-block; max-width:100%; overflow-wrap:anywhere; padding:2px 9px; border-radius:100px; background:var(--green-soft); color:var(--green-deep); font-size:.76rem; font-weight:700;}
.eq-espera{font-variant-numeric:tabular-nums; font-weight:700;}
.eq-espera.longa{color:var(--red);}
.eq-espera.media{color:var(--amber);}

/* Formulários em modais */
.eq-form{display:grid; gap:12px; margin:12px 0;}
.eq-form .duas{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width:520px){ .eq-form .duas{grid-template-columns:1fr;} }
.eq-form textarea, .eq-form input, .eq-form select{font:inherit; padding:9px 11px; border-radius:10px; border:1px solid var(--border); background:var(--surface); color:var(--ink); width:100%;}
.eq-form .erro-form{color:var(--red); font-weight:700; font-size:.84rem;}
.eq-resumo-modal{max-height:34vh; overflow:auto; border:1px solid var(--border); border-radius:10px;}
.eq-resumo-modal table{width:100%; border-collapse:collapse; font-size:.84rem;}
.eq-resumo-modal td, .eq-resumo-modal th{padding:6px 10px; border-bottom:1px solid var(--border); text-align:left;}
.eq-resumo-modal td.num, .eq-resumo-modal th.num{text-align:right; font-variant-numeric:tabular-nums;}
.eq-aviso{padding:10px 14px; border-radius:10px; background:var(--amber-soft); color:var(--ink); border:1px solid var(--amber); font-size:.84rem;}
.eq-nota-info{padding:10px 14px; border-radius:10px; background:var(--blue-soft); color:var(--ink); border:1px solid var(--blue); font-size:.84rem;}

/* ---------- Impressão ---------- */
@media print{
  .eq-barra, .eq-subnav, .eq-acoes{display:none !important;}
  .print-doc .eq-tabela{font-size:.8rem;}
  .print-doc .eq-tabela thead{display:table-header-group !important;}
  .print-doc .eq-tabela, .print-doc .eq-tabela tbody{display:table !important; width:100%;}
  .print-doc .eq-tabela tbody{display:table-row-group !important;}
  .print-doc .eq-tabela tr{display:table-row !important; padding:0 !important;}
  .print-doc .eq-tabela td, .print-doc .eq-tabela th{display:table-cell !important; padding:5px 8px !important;}
  .print-doc .eq-tabela td[data-l]::before{display:none !important;}
  .print-doc .eq-grupo-art td{background:#eee !important; font-weight:700;}
}

/* ---------- Pedidos por atleta: colunas previsíveis, sem sobreposição ---------- */
/* O CSS base põe white-space:nowrap em todos os th/td — nas tabelas de Equipamentos o texto tem de quebrar. */
.eq-tabela th, .eq-tabela td{white-space:normal;}
.eq-tabela td.nw, .eq-tabela td.acoes{white-space:nowrap;}
.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.eq-tabela-ped{table-layout:fixed; width:100%;}
.eq-tabela-ped col.c-atleta{width:24%;} .eq-tabela-ped col.c-esc{width:21%;} .eq-tabela-ped col.c-art{width:18%;}
.eq-tabela-ped col.c-est{width:14%;} .eq-tabela-ped col.c-pag{width:11%;} .eq-tabela-ped col.c-acao{width:12%;}
.eq-tabela-ped th, .eq-tabela-ped td{min-width:0; vertical-align:middle; overflow-wrap:anywhere; padding-left:8px; padding-right:8px;}
.eq-tabela-ped td.acoes{text-align:right; overflow-wrap:normal;}
.eq-tabela-ped td.acoes .btn{padding:5px 8px; font-size:.78rem;}
.eq-tabela-ped td.col-esc{max-width:none;}
.eq-tabela-ped td.col-cont{min-width:0;}
.eq-tabela-ped td.col-cont .eq-contagens{display:flex; flex-wrap:wrap; gap:2px 12px; margin:0;}
.eq-tabela-ped td.col-cont .eq-contagens>span{white-space:nowrap;}
.eq-tabela-ped td.col-cont .sub{display:block; margin-top:3px;}
.eq-tabela-ped .badge{white-space:normal; overflow-wrap:normal; word-break:normal; line-height:1.25; text-align:left;}
.eq-esc-linha1{display:block; font-weight:600;}
.eq-esc-linha2{display:block; color:var(--muted); font-size:.8rem; font-weight:500; margin-top:1px;}
.eq-tabela-ped td.principal .sub{overflow-wrap:anywhere;}

/* Abaixo de 1100px a tabela passa a cartões: cada pedido com todos os campos, sem scroll horizontal. */
@media (max-width:1100px){
  .eq-tabela-ped colgroup{display:none;}
  .eq-tabela-ped thead{display:none;}
  .eq-tabela-ped, .eq-tabela-ped tbody{display:block; width:100%;}
  .eq-tabela-ped tr{display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; padding:14px; border-bottom:1px solid var(--border);}
  .eq-tabela-ped td{display:block; padding:0; border:none; text-align:left !important; min-width:0;}
  .eq-tabela-ped td[data-l]::before{content:attr(data-l); display:block; font-size:.62rem; font-weight:800; text-transform:uppercase; color:var(--muted); letter-spacing:.03em; margin-bottom:1px;}
  .eq-tabela-ped td.principal, .eq-tabela-ped td.col-cont, .eq-tabela-ped td.acoes{grid-column:1/-1;}
  .eq-tabela-ped td.acoes{display:flex;}
  .eq-tabela-ped td.acoes .btn{padding:7px 12px; font-size:.84rem;}
}

/* Filtros: as células da grelha podem encolher (senão campos de data/select empurram para fora do ecrã). */
.eq-filtros > *{min-width:0;}
.eq-filtros input, .eq-filtros select{width:100%; min-width:0; max-width:100%;}
@media (max-width:980px){ .eq-filtros > .field:last-child{grid-column:1/-1;} .eq-filtros > .field:last-child .btn{width:100%; white-space:normal;} }
