/* Portal 0.12.5 — Fila da Home.
   Card independente abaixo da LIVE: lista pública no padrão admin/fila + mini-card pessoal. */
[data-queue-card][hidden],
[data-home-queue-shell][hidden],
[data-queue-empty][hidden],
[data-queue-order][hidden],
[data-queue-list][hidden],
[data-queue-list-empty][hidden],
[data-queue-personal][hidden],
[data-queue-money][hidden],
[data-queue-value-wrap][hidden],
[data-queue-top-wrap][hidden],
[data-queue-personal-cta][hidden],
[data-queue-truncated][hidden] { display:none !important; }

.home-queue-shell { margin-top:16px; }
.home-runtime-shell { margin-top:14px; }

.dynamic-card--queue.home-queue-card {
    --home-queue-accent:#cbff35;
    min-height:0;
    padding:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-color:color-mix(in srgb,var(--home-queue-accent) 27%,rgba(255,255,255,.055));
    background:
        radial-gradient(circle at 92% 4%,color-mix(in srgb,var(--home-queue-accent) 8%,transparent),transparent 34%),
        linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
    box-shadow:inset 3px 0 0 color-mix(in srgb,var(--home-queue-accent) 76%,transparent),inset 0 1px rgba(255,255,255,.025);
    transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.home-queue-card.is-open,
.home-queue-card.is-neutral { --home-queue-accent:#cbff35; }
.home-queue-card.is-comfortable { --home-queue-accent:#8de33d; }
.home-queue-card.is-danger { --home-queue-accent:#ffd34d; }
.home-queue-card.is-out { --home-queue-accent:#ff5d67; }
.home-queue-card.is-waiting { --home-queue-accent:#ffbd45; }
.home-queue-card.is-liveon { --home-queue-accent:#54c7ff; }

.home-queue-card .status-pill--queue {
    border-color:color-mix(in srgb,var(--home-queue-accent) 38%,transparent);
    background:color-mix(in srgb,var(--home-queue-accent) 8%,transparent);
    color:var(--home-queue-accent);
}
.home-queue-card .status-pill--queue .status-dot {
    background:var(--home-queue-accent);
    box-shadow:0 0 0 4px color-mix(in srgb,var(--home-queue-accent) 11%,transparent);
}

.home-queue-card__head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    padding:24px 26px 19px;
    border-bottom:1px solid rgba(255,255,255,.055);
}
.home-queue-card__heading { min-width:0; }
.home-queue-card__heading h2 {
    margin:13px 0 6px;
    font-size:clamp(1.45rem,2.5vw,2rem);
    line-height:1;
    letter-spacing:-.035em;
}
.home-queue-card__heading p {
    margin:0;
    color:var(--text-muted);
    font-size:.76rem;
    line-height:1.55;
}
.home-queue-card__count {
    min-width:80px;
    flex:0 0 auto;
    display:grid;
    justify-items:end;
    padding:9px 11px;
    border:1px solid color-mix(in srgb,var(--home-queue-accent) 20%,rgba(255,255,255,.04));
    border-radius:12px;
    background:color-mix(in srgb,var(--home-queue-accent) 4%,rgba(255,255,255,.012));
}
.home-queue-card__count strong {
    color:#fff;
    font-size:1.6rem;
    line-height:.95;
    font-weight:950;
    letter-spacing:-.055em;
}
.home-queue-card__count span {
    margin-top:5px;
    color:var(--home-queue-accent);
    font-size:.52rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.home-queue-card__content {
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    align-items:start;
    gap:16px;
    padding:16px 18px 18px;
}
.home-queue-order,
.home-queue-personal {
    min-width:0;
    border:1px solid color-mix(in srgb,var(--home-queue-accent) 19%,rgba(255,255,255,.055));
    border-radius:14px;
    background:rgba(7,9,19,.44);
}

/* Lista principal: mesma linguagem estrutural da Administração → Fila. */
.home-queue-order { padding:20px; }
.home-queue-order__head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.home-queue-order__head > div { min-width:0; }
.home-queue-order__head span {
    display:block;
    color:var(--home-queue-accent);
    font-size:.58rem;
    font-weight:950;
    letter-spacing:.11em;
}
.home-queue-order__head strong {
    display:block;
    margin:4px 0 5px;
    color:#fff;
    font-size:1rem;
}
.home-queue-order__head p {
    margin:0;
    color:var(--text-muted);
    font-size:.68rem;
    line-height:1.5;
}
.home-queue-list {
    display:grid;
    gap:8px;
    padding-top:14px;
}
.home-queue-row {
    --member-accent:#7B849B;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:12px;
    background:rgba(255,255,255,.014);
    transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.home-queue-row.is-in-range {
    border-color:rgba(203,255,53,.15);
    background:rgba(203,255,53,.025);
}
.home-queue-row.has-accent {
    border-color:color-mix(in srgb,var(--member-accent) 34%,transparent);
    background:linear-gradient(90deg,color-mix(in srgb,var(--member-accent) 10%,transparent),rgba(255,255,255,.012) 48%);
    box-shadow:inset 3px 0 0 color-mix(in srgb,var(--member-accent) 76%,transparent);
}
.home-queue-row.has-accent.is-in-range {
    border-color:color-mix(in srgb,var(--member-accent) 48%,#cbff35 18%);
}
.home-queue-row__rank {
    min-width:32px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
}
.home-queue-row__position {
    min-width:24px;
    display:block;
    color:#fff;
    font-size:1.55rem;
    line-height:1;
    font-weight:950;
    text-align:center;
    letter-spacing:-.04em;
}
.home-queue-row__member {
    min-width:0;
    display:grid;
    gap:3px;
}
.home-queue-row__member strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:.82rem;
}
.home-queue-row__member span {
    color:var(--text-muted);
    font-size:.63rem;
    line-height:1.4;
}
.home-queue-row__badge {
    justify-self:end;
    padding:5px 7px;
    border-radius:999px;
    border:1px solid rgba(203,255,53,.14);
    background:rgba(203,255,53,.04);
    color:#cbff35;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.08em;
    white-space:nowrap;
}
.home-queue-truncated {
    margin:14px 0 0;
    color:var(--text-muted);
    font-size:.64rem;
    line-height:1.5;
}

.home-queue-list-empty,
.home-queue-empty {
    min-height:136px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    align-items:center;
    gap:14px;
    padding:24px;
    border:1px dashed color-mix(in srgb,var(--home-queue-accent) 18%,rgba(255,255,255,.07));
    border-radius:14px;
    background:rgba(7,9,19,.38);
    color:var(--text-muted);
}
.home-queue-empty { grid-column:1/-1; }
.home-queue-list-empty__icon,
.home-queue-empty__people {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:13px;
    border:1px solid color-mix(in srgb,var(--home-queue-accent) 18%,transparent);
    background:color-mix(in srgb,var(--home-queue-accent) 5%,rgba(255,255,255,.01));
    color:var(--home-queue-accent);
}
.home-queue-list-empty__icon svg,
.home-queue-empty__people svg { width:22px; height:22px; }
.home-queue-list-empty strong,
.home-queue-empty strong { display:block; margin-bottom:5px; color:#fff; font-size:.86rem; }
.home-queue-list-empty p,
.home-queue-empty p { margin:0; font-size:.72rem; line-height:1.55; }

/* Mini-card pessoal: posição + valores + estado; não substitui a lista principal. */
.home-queue-personal {
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:18px;
    background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--home-queue-accent) 8%,transparent),transparent 42%),rgba(7,9,19,.46);
    box-shadow:inset 3px 0 0 color-mix(in srgb,var(--home-queue-accent) 58%,transparent);
}
.home-queue-personal__head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-bottom:13px;
    border-bottom:1px solid rgba(255,255,255,.05);
}
.home-queue-personal__head span {
    color:var(--home-queue-accent);
    font-size:.59rem;
    font-weight:950;
    letter-spacing:.11em;
}
.home-queue-personal__head strong {
    color:#fff;
    font-size:1.7rem;
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
}
.home-queue-personal__body { display:grid; gap:16px; }
.home-queue-personal__copy h3 {
    margin:0 0 7px;
    color:#fff;
    font-size:.95rem;
    line-height:1.25;
}
.home-queue-personal__copy p {
    margin:0;
    color:var(--text-muted);
    font-size:.69rem;
    line-height:1.55;
}
.home-queue-personal > .btn { align-self:flex-start; }
.home-queue-money {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.home-queue-money > div {
    min-width:0;
    padding:10px 11px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:10px;
    background:rgba(255,255,255,.018);
}
.home-queue-money span {
    display:block;
    margin-bottom:5px;
    color:var(--text-muted);
    font-size:.48rem;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.06em;
}
.home-queue-money strong {
    display:block;
    color:#fff;
    font-size:.8rem;
    line-height:1.25;
    white-space:nowrap;
}

@media (max-width:920px) {
    .home-queue-card__content { grid-template-columns:1fr; }
    .home-queue-personal { max-width:none; }
}
@media (max-width:680px) {
    .home-queue-card__head { padding:20px; }
    .home-queue-card__content { padding:14px; }
    .home-queue-order { padding:16px; }
    .home-queue-card__count { min-width:70px; }
    .home-queue-card__count strong { font-size:1.45rem; }
}
@media (max-width:560px) {
    .home-queue-row { grid-template-columns:auto minmax(0,1fr); }
    .home-queue-row__badge { grid-column:2; justify-self:start; }
    .home-queue-row__rank { min-width:32px; }
    .home-queue-row__position { font-size:1.35rem; }
}
@media (max-width:520px) {
    .home-queue-money { grid-template-columns:1fr; }
    .home-queue-list-empty,
    .home-queue-empty { grid-template-columns:1fr; }
}
@media (max-width:470px) {
    .home-queue-card__head { flex-direction:column; }
    .home-queue-card__count { justify-items:start; }
}
