/* Módulo Catálogo — só o que o app.css não cobre. Cores vêm do tipo (escala de tom). */
.cat-pt{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);vertical-align:0}
.cat-sw{flex:none;width:44px;height:44px;border-radius:14px;background:var(--cor);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 8px 18px -10px var(--cor)}
.cat-sw.p{width:12px;height:36px;border-radius:6px;background:linear-gradient(180deg,var(--tan-2),var(--tan-5))}
.cat-off{opacity:.55}
.cat-de{color:var(--faint);text-decoration:line-through;font-size:13px}
.cat-mg.neg b{color:var(--err)}
.cat-mbar{width:90px;margin:6px 0 0 auto}
.cat-nm{display:flex;align-items:center;gap:10px;min-width:0}
.cat-nm .av{width:32px;height:32px;font-size:12px}
.cat-desc{max-width:36ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* tipo na visão geral */
.cat-tipo{position:relative;overflow:hidden}
.cat-tipo-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cat-tipo-h .c{flex:1;min-width:160px}
.cat-tipo-h h2{font-weight:600;letter-spacing:-.025em;font-size:17px;letter-spacing:-.01em;line-height:1.05}
.cat-vagas{display:flex;gap:4px;align-items:center;flex-wrap:wrap;max-width:220px}
.cat-vagas i{width:12px;height:12px;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cat-vagas b{font-size:12px;color:var(--muted);font-weight:500;margin-left:2px}
.cat-servs{margin-top:14px;border-top:1px solid var(--line-2)}
.cat-servs>li{padding:0}
.cat-servs .linha{padding:12px 4px;border-radius:10px}
.cat-servs .linha:hover{background:var(--surface-2)}
.cat-dir{text-align:right;flex:none;max-width:48%}
.cat-dir .tiny{margin-top:2px}
.cat-vz{margin:14px 0 4px}
.cat-add{margin-top:8px;margin-left:-8px;color:var(--b-700)}
.cat-desat summary{cursor:pointer;font-weight:500;color:var(--muted)}
.cat-desat .lista{margin-top:10px}
.cat-desat .linha{padding:4px 0}

/* grade de cartões (tipos, pacotes) */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:18px}
.cat-grid>.card{margin:0}
button.card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;cursor:pointer;background:var(--surface);border-radius:var(--r-l);border:0;box-shadow:0 1px 2px rgba(31,26,23,.04),0 12px 32px -24px rgba(90,40,40,.22);padding:22px;transition:box-shadow .2s,transform .2s}
button.card:hover{box-shadow:var(--sh-2);}
button.card:focus-visible{outline:3px solid var(--b-300);outline-offset:2px}
.cat-tcard{position:relative;overflow:hidden}
.cat-tcard .cat-tipo-h h2{font-size:24px}
.cat-big{display:flex;align-items:baseline;gap:8px}
.cat-big .serif{font-size:52px;line-height:.9}
.cat-hrs{display:flex;flex-wrap:wrap;gap:5px}
.cat-hrs span{font-size:12px;font-weight:500;padding:3px 8px;border-radius:var(--pill);background:var(--b-50);color:var(--b-900);border:1px solid var(--b-100)}
.cat-hrs span.todos{background:var(--surface-2);color:var(--muted);border-color:var(--line-2)}
.cat-modelos{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.cat-modelos>span{margin-right:4px}
.cat-chip-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--pill);background:var(--surface);border:0;box-shadow:0 1px 2px rgba(31,26,23,.04),0 12px 32px -24px rgba(90,40,40,.22);font-size:13.5px;font-weight:500}
.cat-chip-btn:hover{box-shadow:var(--sh-2)}

/* pacote */
.cat-pac h3{font-size:16px;font-weight:600}
.cat-pac-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cat-pac-v{font-size:44px;line-height:1;color:var(--b-900)}
.cat-pac-s{font-size:14px;color:var(--ink-2)}
.cat-pac-pe{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2)}

/* formulários */
.cat-cores{flex-wrap:wrap}
.cat-horas{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.cat-chip{position:relative;cursor:pointer}
.cat-chip input{position:absolute;opacity:0;width:1px;height:1px}
.cat-chip span{display:inline-block;padding:7px 11px;border-radius:var(--pill);border:0;box-shadow:0 1px 2px rgba(31,26,23,.04),0 12px 32px -24px rgba(90,40,40,.22);font-size:13.5px;font-variant-numeric:tabular-nums;background:var(--surface)}
.cat-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.cat-chip input:focus-visible+span{outline:3px solid var(--b-300);outline-offset:2px}
.cat-chip.bl span{color:var(--faint);background:var(--surface-2)}
.cat-viva:empty{display:none}
.cat-viva{background:var(--b-50);border:1px solid var(--b-100);border-radius:var(--r-m);padding:14px 16px;margin-bottom:14px;display:grid;gap:8px}
.cat-viva>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cat-viva b{font-size:20px}
.cat-linha{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.cat-linha b{font-size:15px}

/* assinaturas */
.cat-planos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.cat-plano{all:unset;box-sizing:border-box;cursor:pointer;padding:16px;border-radius:var(--r-m);border:1px solid var(--line);display:grid;gap:4px}
.cat-plano:hover{background:var(--surface-2)}
.cat-plano-v{font-size:30px;line-height:1.1}
.cat-plano-v span{font-family:var(--ui);font-size:13px}
.cat-ass-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cat-ass-top .c{flex:1;min-width:0}
.cat-ass-ses{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.cat-ass-ses>div:first-child{flex:1;min-width:160px}
.cat-ass-n{font-size:44px;line-height:1;margin:4px 0 8px}
.cat-ass-btns{display:flex;gap:6px}
.cat-ass-pg .card-h{margin-bottom:10px}
.cat-ass-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.cat-vig .lista .t2{white-space:normal}

@media (max-width:700px){
  .cat-tipo-h h2{font-size:24px}
  .cat-tipo-h .btn{order:5}
  .cat-vagas{order:4;width:100%;max-width:none}
  .cat-mbar{margin-left:auto}
  .cat-grid{grid-template-columns:1fr}
  .cat-desc{max-width:52vw}
  table.t.resp td .cat-nm{justify-content:flex-start}
}
.kpi.destaque a{color:var(--b-700);text-decoration:underline;text-underline-offset:3px}
.cat-servs button.linha{padding:13px 6px;margin:0 -6px;width:calc(100% + 12px);border-radius:10px}
.cat-servs button.linha:hover{background:var(--surface-2)}
.cat-segx .seg{flex-wrap:nowrap}
@media (max-width:700px){
  .cat-k .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cat-k .kpi{padding:14px}
  .cat-k .kpi .v{font-size:20px}
  .cat-tipo-h{position:relative;padding-right:44px}
  .cat-ed{position:absolute;right:0;top:0;width:32px;padding:0}
  .cat-ed span{display:none}
  .cat-vagas{margin-left:58px;width:auto;flex:1 1 calc(100% - 58px)}
  .cat-tab table.t.resp td.prim{justify-content:flex-start;text-align:left}
  .cat-tab table.t.resp td>div{text-align:right}
  .cat-tab table.t.resp td.prim>div{text-align:left}
  .cat-segx{width:100%;overflow-x:auto;scrollbar-width:none}
  .cat-segx::-webkit-scrollbar{display:none}
}
