/* Public styles mínimos para Lista de Ramais (com cards) */
.lista-ramais-public {
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.ramais-header { margin-bottom:12px; }
.ramais-header .title { font-size:28px; margin:0 0 6px 0; color:#0f172a; }
.ramais-header .subtitle { margin:0; color:#64748b; }

.ramais-search-only { display:block; margin-bottom:12px; width:100%; }
/* Caixa de busca com largura 100% da tela */
.search-wrapper { position:relative; width:100%; max-width:100%; }
.search-wrapper .search-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); font-size:18px; color:#94a3b8; }
.search-wrapper input { width:100%; padding:14px 16px 14px 44px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; box-shadow: 0 1px 2px rgba(2,6,23,0.04); color:#0f172a; box-sizing:border-box; font-size:16px; }
.search-wrapper input:focus { outline:none; box-shadow: 0 4px 18px rgba(14,165,233,0.12); border-color:#0ea5e9; }

.ramais-public-info { margin-bottom:14px; display:none; }
.lista-ramais-public.is-searching .ramais-public-info { display:block; }
.results-badge { background:#f4f6f8; padding:6px 10px; border-radius:20px; font-weight:600; color:#333; }

.public-results { display:flex; flex-direction:column; gap:12px; width:100%; }
.ramal-card { background:#fff; border:1px solid #eef2f7; border-radius:12px; padding:12px 14px; box-shadow: 0 6px 24px rgba(2,6,23,0.03); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; width:100%; box-sizing:border-box; }
.ramal-card .card-department { margin-bottom:8px; }

/* Efeito ao passar o mouse ou ao focar (acessibilidade) */
.ramal-card:hover, .ramal-card:focus, .ramal-card:focus-visible { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(2,6,23,0.12); border-color: rgba(37,99,235,0.15); outline: none; cursor: pointer; }
.ramal-card:focus-visible { box-shadow: 0 14px 36px rgba(37,99,235,0.14); border-color: rgba(37,99,235,0.22); }
.dept-badge { display:inline-block; padding:6px 10px; border-radius:999px; color:#fff; background: linear-gradient(90deg, #2563eb, #1e40af); font-weight:700; font-size:13px; }

/* Layout para um resultado por linha */
.ramal-card.single-line .card-content { display:flex; align-items:center; gap:18px; }
.card-avatar .avatar { width:52px; height:52px; border-radius:999px; background:linear-gradient(90deg,#2563eb,#1e40af); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; box-shadow: 0 6px 18px rgba(16,24,40,0.06); }
.small-label { margin:0; font-size:11px; text-transform:uppercase; color:#64748b; letter-spacing:0.6px; }
.main-text { margin:0; font-weight:600; color:#0f172a; font-size:15px; }
.truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.card-funcao, .card-colaborador, .card-setor, .card-email { flex:1; min-width:0; }
.card-setor { max-width:220px; }
.card-email { max-width:200px; }
.card-email .main-text { color:#2563eb; }
.card-ramal { flex-shrink:0; min-width:120px; text-align:right; }

/* Destaque visual e animação para o ramal (aumentado e com maior contraste) */
.ramal-value { display:inline-block; font-size:18px; font-weight:800; color:#ffffff; background: linear-gradient(90deg, #2563eb 0%, #1e40af 100%); padding:6px 14px; border-radius:10px; transition: box-shadow 220ms ease, transform 220ms ease; box-shadow: 0 6px 20px rgba(37,99,235,0.18); border: 1px solid rgba(255,255,255,0.06); }
@keyframes ramalPop { 0% { transform: translateY(-8px) scale(0.96); opacity:0; } 60% { transform: translateY(6px) scale(1.06); opacity:1; } 100% { transform: translateY(0) scale(1); } }
.ramal-animate { animation: ramalPop 420ms cubic-bezier(.2,.8,.2,1); box-shadow: 0 12px 36px rgba(37,99,235,0.2); }
.ramal-value:hover, .ramal-value:focus { transform: translateY(-3px) scale(1.02); box-shadow: 0 14px 36px rgba(37,99,235,0.22); }

/* Garantir que o bloco do ramal ocupe espaço suficiente e alinhe à direita */
.card-ramal { flex-shrink:0; min-width:120px; text-align:right; }
.card-ramal .ramal-value { display:inline-block; }



.ramal-card.empty-state { text-align:center; padding:32px; }
.empty-illustration { font-size:28px; margin-bottom:12px; }
.empty-title { margin:0 0 8px 0; font-size:18px; color:#0f172a; }
.empty-sub { margin:0; color:#64748b; }

.no-results { color:#777; padding:16px; }

/* destaque removido (antes .search-mark) */

.copy-notification { font-weight:700; }

@media (max-width:720px) {
    .public-results { grid-template-columns: 1fr; }
    .search-wrapper { max-width:100%; }
    .ramais-search-only { flex-direction:column; align-items:stretch; }
    .ramal-card.single-line .card-content { flex-wrap:wrap; gap:10px; }
    .card-colaborador, .card-setor, .card-funcao, .card-email { flex:1 1 45%; min-width:120px; }
    .card-ramal { flex:1 1 100%; text-align:left; margin-top:8px; }
}