/* Módulo relacionamento — só o que o app.css não cobre. Cores: só tokens (--tan-*, --b-*). */
.rel-h3{font-size:15px;font-weight:600;margin:18px 0 10px}
.rel-acoes{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px}
.rel-regra{display:flex;align-items:center;gap:8px;margin:-8px 0 16px}
.rel-regra .ico{width:16px;height:16px;color:var(--b-600)}
.rel-aviso{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rel-aviso>div{flex:1 1 280px}

/* avatar no tom do nível */
.rel-av[data-n="1"]{background:var(--tan-1);color:var(--b-900)}.rel-av[data-n="2"]{background:var(--tan-2);color:var(--b-900)}
.rel-av[data-n="3"]{background:var(--tan-3);color:var(--b-900)}.rel-av[data-n="4"]{background:var(--tan-4);color:#3a1407}
.rel-av[data-n="5"]{background:var(--tan-5);color:#3a1407}.rel-av[data-n="6"]{background:var(--tan-6);color:#fff}
.rel-nv{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.rel-pts{font-weight:600;letter-spacing:-.025em;font-size:15px;line-height:1;text-align:right}
.rel-pts small{font-family:var(--ui);font-size:12px;color:var(--muted);margin-left:3px}

/* faixa de níveis = escala de tom */
.rel-faixas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-radius:var(--r-l);overflow:hidden;margin-bottom:18px;box-shadow:0 18px 40px -24px rgba(24,24,27,.10)}
.rel-faixa{padding:16px 16px 14px;min-height:118px;display:flex;flex-direction:column;gap:2px;color:var(--b-900)}
.rel-faixa b{font-weight:600;font-size:14px;letter-spacing:-.01em}
.rel-faixa span{font-size:12px;opacity:.75}
.rel-faixa em{font-weight:600;letter-spacing:-.025em;font-style:normal;font-size:20px;line-height:1;margin-top:auto}
.rel-faixa em small{font-family:var(--ui);font-size:12px;opacity:.75}
.rel-faixa[data-n="1"]{background:var(--tan-1)}.rel-faixa[data-n="2"]{background:var(--tan-2)}.rel-faixa[data-n="3"]{background:var(--tan-3)}
.rel-faixa[data-n="4"]{background:var(--tan-4);color:#3a1407}.rel-faixa[data-n="5"]{background:var(--tan-5);color:#3a1407}.rel-faixa[data-n="6"]{background:var(--tan-6);color:#fff}
@media (max-width:700px){.rel-faixas{grid-template-columns:repeat(3,minmax(0,1fr))}.rel-faixa{min-height:96px;padding:12px}.rel-faixa em{font-size:28px}}

/* extrato da cliente */
.rel-saldo{display:flex;align-items:center;gap:16px;margin:4px 0 14px}
.rel-saldo .av{width:64px;height:64px;font-size:22px}
.rel-big{font-weight:600;letter-spacing:-.025em;font-size:34px;line-height:1.05;letter-spacing:-.02em}
.rel-big small{font-family:var(--ui);font-size:14px;color:var(--muted);margin-left:6px;letter-spacing:0}
.rel-prog{margin:4px 0 14px;display:grid;gap:8px}
.rel-cortes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
.rel-corte>span{display:flex!important;align-items:center;gap:6px}
@media (max-width:460px){.rel-cortes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* código de indicação */
.rel-cod{display:grid;gap:2px;justify-items:start;padding:16px 18px;border-radius:var(--r-m);background:var(--b-50);border:1px solid var(--b-100);margin-top:12px}
.rel-cod b{font-size:28px;font-weight:600;letter-spacing:.06em;color:var(--b-900)}

/* parcerias */
.rel-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.rel-grade .card{margin:0}
.rel-parc{display:flex;flex-direction:column;gap:14px}
.rel-parc.off{opacity:.6}
.rel-parc header{display:flex;align-items:center;gap:12px}
.rel-parc header .c{flex:1;min-width:0}
.rel-parc h3{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-uso{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--surface-2);border-radius:var(--r-s)}
.rel-uso>div:first-child{flex:1}
.rel-parc footer{display:flex;gap:6px;margin-top:auto;padding-top:4px}
.rel-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:14px}
.rel-dl dt{color:var(--muted)}
.rel-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.rel-dl.largo{margin:18px 0 6px;grid-template-columns:96px 1fr}
.rel-diasv{display:inline-flex;gap:3px;flex-wrap:wrap}
.rel-diasv i{font-style:normal;font-size:12px;padding:1px 6px;border-radius:6px;color:var(--faint);background:var(--line-2)}
.rel-diasv i.on{background:var(--tan-2);color:var(--b-900);font-weight:500}
.rel-dias{display:flex;gap:6px;flex-wrap:wrap}
.rel-dias label{position:relative;cursor:pointer}
.rel-dias input{position:absolute;opacity:0;pointer-events:none}
.rel-dias span{display:grid;place-items:center;min-width:46px;height:38px;padding:0 10px;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:14px;font-weight:500;color:var(--muted);background:var(--surface)}
.rel-dias input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.rel-dias input:focus-visible+span{outline:3px solid var(--b-300);outline-offset:2px}

/* gift card: o próprio cartão na escala de tom */
.rel-gifts{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.rel-gift-b{all:unset;cursor:pointer;display:block;border-radius:var(--r-l);transition:transform .18s}
.rel-gift-b:hover{transform:translateY(-2px)}
.rel-gift-b:focus-visible{outline:3px solid var(--b-300);outline-offset:3px}
.rel-gift{position:relative;aspect-ratio:1.6;border-radius:var(--r-l);padding:18px 20px;display:flex;flex-direction:column;color:#fff;overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%,var(--tan-3) 0%,transparent 55%),linear-gradient(150deg,var(--tan-4) 0%,var(--tan-5) 52%,var(--tan-6) 100%);
  box-shadow:0 22px 40px -22px rgba(24,24,27,.10),inset 0 0 0 1px rgba(255,255,255,.12)}
.rel-gift::after{content:"";position:absolute;inset:auto -30% -60% auto;width:80%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.07)}
.rel-gift .topo{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;opacity:.92;gap:8px}
.rel-gift .topo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-gift .topo em{font-style:normal;font-size:11.5px;padding:2px 9px;border-radius:var(--pill);background:rgba(255,255,255,.2);white-space:nowrap}
.rel-gift .meio{margin:auto 0 6px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rel-gift .saldo{font-weight:600;letter-spacing:-.025em;font-size:25px;line-height:1;letter-spacing:-.01em}
.rel-gift .de{font-size:13px;opacity:.8}
.rel-gift .pe{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;font-size:12.5px;opacity:.92}
.rel-gift .pe>span:last-child{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-gift .cod{font-size:14px;letter-spacing:.1em;font-weight:600;font-variant-numeric:tabular-nums}
.rel-gift.apagado{filter:grayscale(.85);opacity:.7}
.rel-gift.g{max-width:420px;margin:0 auto 4px}
.rel-gift.g .saldo{font-size:52px}

/* indicações: filtro rola de lado no celular em vez de quebrar */
@media (max-width:700px){
  .rel-ind .card-h .acoes{margin-left:0;width:100%;overflow-x:auto;scrollbar-width:none}
  .rel-ind .seg{flex-wrap:nowrap}.rel-ind .seg button{white-space:nowrap}
  .rel-ind table.t.resp td.acoes{justify-content:flex-end;padding-top:8px}
  .rel-ind table.t.resp td.acoes::before{content:none}
}
