/* ==========================================================
   REPAGINAÇÃO VISUAL - SISTEMA DE CADASTRO DE RAMAIS
   Arquivo criado para centralizar as mudanças de interface.
   Para desfazer, remova este CSS e os links inseridos nos PHPs.
   ========================================================== */
:root{
  --pm-primary:#0b1f3a;
  --pm-primary-2:#0f3f7a;
  --pm-accent:#0d6efd;
  --pm-cyan:#22d3ee;
  --pm-bg:#f4f7fb;
  --pm-card:#ffffff;
  --pm-muted:#667085;
  --pm-border:#e6ebf2;
  --pm-shadow:0 18px 45px rgba(15, 23, 42, .08);
  --pm-radius:22px;
}
html[data-bs-theme="light"] body{background:var(--pm-bg); color:#0f172a;}
body{font-family:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;}
a{text-decoration:none;}
.navbar{background:linear-gradient(135deg,var(--pm-primary),#062043)!important;}
.navbar .navbar-brand{letter-spacing:.2px;}
.card{border:1px solid rgba(230,235,242,.95)!important;border-radius:var(--pm-radius)!important;box-shadow:var(--pm-shadow)!important;overflow:hidden;}
.card-header{background:linear-gradient(180deg,#fff,#f8fbff);border-bottom:1px solid var(--pm-border);}
.btn{border-radius:12px;font-weight:500;}
.btn-primary,.btn-success{background:linear-gradient(135deg,#1266f1,#0d6efd);border-color:#0d6efd;box-shadow:0 10px 20px rgba(13,110,253,.18);}
.btn-success{background:linear-gradient(135deg,#099268,#12b886);border-color:#12b886;}
.btn-info{background:linear-gradient(135deg,#0891b2,#22d3ee)!important;border-color:#22d3ee!important;}
.btn-warning{background:#fff4cc;border-color:#ffd43b;color:#7c5c00!important;}
.btn-danger{background:#fff1f2;border-color:#ff6b6b;color:#c92a2a;}
.btn-outline-primary,.btn-outline-secondary{border-color:#d8e2ef;color:#24415f;background:#fff;}
.btn-outline-primary:hover,.btn-outline-secondary:hover{background:#eef6ff;color:#0d6efd;border-color:#aacbff;}
.form-control,.form-select,.input-group-text{border-radius:14px;border-color:#dce5f0;}
.form-control:focus,.form-select:focus{border-color:#8bbcff;box-shadow:0 0 0 .22rem rgba(13,110,253,.12);}
.table{--bs-table-hover-bg:#f7fbff;}
.table thead th{background:#f8fafc!important;color:#475569!important;border-bottom:1px solid var(--pm-border)!important;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;font-weight:400!important;}
.table tbody td{border-color:#edf2f7;color:#1e293b;}
.badge{border-radius:999px;font-weight:500;padding:.45rem .7rem;}
.dataTables_wrapper .dataTables_length select{border-radius:10px;margin-inline:.35rem;}
.dataTables_wrapper .pagination .page-link{border-radius:10px;margin:0 3px;border-color:#dce5f0;color:#1e3a5f;}
.dataTables_wrapper .pagination .active .page-link{background:#0d6efd;border-color:#0d6efd;color:#fff;box-shadow:0 8px 18px rgba(13,110,253,.22);}
footer{background:transparent!important;}
/* ALTERAÇÃO LETREIRO/FONTES - 08/07/2026
   Corrige a barra de aviso para voltar a rolar como letreiro e padroniza
   a listagem/paginação em 14px conforme solicitado. */
.news-ticker-container{position:relative;overflow:hidden;border:1px solid #ffe3a3!important;background:#fffdf7!important;box-shadow:0 8px 24px rgba(15,23,42,.04);padding:0;}
.news-ticker-track{position:relative;width:100%;height:44px;overflow:hidden;white-space:nowrap;}
.news-ticker-container:hover .news-ticker-text{animation-play-state:paused;}
.news-ticker-text{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:6px;min-width:max-content;padding:12px 28px;color:#0b1f3a;font-size:16px;line-height:1.35;font-weight:400;/* VELOCIDADE DO LETREIRO: aumente 20s,25s para mais lento; diminua 15s para mais rápido. */
animation:pm-news-ticker 32s linear infinite;will-change:transform;}
@keyframes pm-news-ticker{from{transform:translateX(100vw);}to{transform:translateX(-100%);}}

/* Layout principal inspirado no mockup aprovado */
.telefonia-shell{min-height:100vh;display:flex;background:linear-gradient(135deg,#eef5ff 0%,#f8fbff 45%,#f5f7fb 100%);}
.telefonia-sidebar{width:270px;min-height:100vh;position:sticky;top:0;align-self:flex-start;background:linear-gradient(180deg,#061a35 0%,#08294d 55%,#051529 100%);color:#fff;padding:24px 18px;box-shadow:12px 0 35px rgba(11,31,58,.14);z-index:20;}
.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;}
.sidebar-brand-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.sidebar-brand-title{font-size:1.15rem;font-weight:400;line-height:1.1;}
.sidebar-brand-subtitle{font-size:.78rem;color:#b7c7d9;margin-top:3px;}
.sidebar-section{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8fa6c3;margin:20px 10px 9px;}
.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:13px;color:#dbeafe;margin-bottom:5px;transition:.18s ease;}
.sidebar-link i{width:20px;text-align:center;opacity:.92;}
.sidebar-link:hover,.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#0d6efd,#1266f1);transform:translateX(3px);}
.sidebar-help{margin-top:28px;border-radius:18px;padding:18px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.sidebar-help .btn{width:100%;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff;}
.telefonia-main{flex:1;min-width:0;padding:24px 28px 32px;}
.telefonia-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid rgba(230,235,242,.9);border-radius:24px;padding:18px 20px;box-shadow:var(--pm-shadow);margin-bottom:24px;}
.topbar-title h1{font-size:1.35rem;font-weight:400;margin:0;color:#0f172a;}
.topbar-title p{margin:3px 0 0;color:var(--pm-muted);font-size:.9rem;}
.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.topbar-search{width:min(430px,42vw);position:relative;}
.topbar-search input{height:46px;border-radius:15px;padding-left:42px;background:#fff;}
.topbar-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#64748b;z-index:3;}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;margin-bottom:22px;}
.kpi-card{background:#fff;border:1px solid var(--pm-border);border-radius:22px;padding:20px;box-shadow:var(--pm-shadow);display:flex;align-items:center;gap:15px;min-height:118px;}
.kpi-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:24px;}
.kpi-icon.blue{background:#e7f0ff;color:#0d6efd}.kpi-icon.green{background:#e9f9ef;color:#099268}.kpi-icon.orange{background:#fff3e5;color:#f08c00}.kpi-icon.purple{background:#f2e8ff;color:#7950f2}
.kpi-label{font-size:.84rem;color:#475569;margin-bottom:3px;}.kpi-number{font-size:1.8rem;font-weight:400;color:#0f172a;line-height:1;}.kpi-note{font-size:.76rem;color:#0f9f69;margin-top:7px;}
.directory-panel{background:#fff;border:1px solid var(--pm-border);border-radius:26px;box-shadow:var(--pm-shadow);overflow:hidden;}
.directory-header{padding:22px 24px;border-bottom:1px solid var(--pm-border);display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,#fff,#fbfdff);}
.directory-title{display:flex;align-items:center;gap:13px;}.directory-title-icon{width:44px;height:44px;border-radius:15px;background:#e7f0ff;color:#0d6efd;display:grid;place-items:center;font-size:20px;}.directory-title h2{font-size:1.12rem;font-weight:400;margin:0;}.directory-title p{margin:2px 0 0;color:#64748b;font-size:.86rem;}
.directory-toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.directory-filters{padding:18px 24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--pm-border);}
.directory-filters .filter-search{min-width:280px;flex:1;position:relative;}.directory-filters .filter-search input{padding-left:42px;height:44px;}.directory-filters .filter-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#64748b;z-index:2;}
.directory-table-wrap{padding:18px 22px 22px;}
#userTable{border:1px solid var(--pm-border);border-radius:16px;overflow:hidden;}
#userTable tbody tr{transition:.15s ease;}#userTable tbody tr:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(15,23,42,.05);}
.ramal-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#eef6ff;color:#0d6efd;font-weight:400;}
.copy-icon{cursor:pointer;color:#0d6efd;opacity:.86}.copy-icon:hover{opacity:1;transform:scale(1.08);}
.action-btn{width:35px;height:35px;display:inline-grid;place-items:center;padding:0;border-radius:11px;margin-left:4px;}
.star-btn{cursor:pointer;color:#cbd5e1;font-size:1.15rem;transition:all .18s ease;}.star-btn:hover{color:#f59f00;transform:scale(1.2);}.star-btn.active{color:#f59f00;text-shadow:0 0 8px rgba(245,159,0,.28);}

/* ALTERAÇÃO FONTE 14PX - 08/07/2026
   Aplicado na tabela de ramais, cabeçalho, corpo, chips, ações, texto de registros e paginação. */
#userTable,
#userTable thead th,
#userTable tbody td,
#userTable .badge,
#userTable .ramal-chip,
#userTable .action-btn,
#userTable .star-btn,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate .page-link,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.directory-table-wrap{font-size:14px!important;}
#userTable thead th{font-size:14px!important;letter-spacing:.02em;}
#userTable tbody td{font-size:14px!important;vertical-align:middle;}
.dataTables_wrapper .dataTables_info{padding-top:12px;color:#0b1f3a;}
.dataTables_wrapper .pagination .page-link{min-width:38px;text-align:center;padding:.48rem .75rem;}


@media(max-width:1100px){.telefonia-sidebar{display:none}.telefonia-main{padding:18px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.topbar-search{width:100%}.telefonia-topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-start}.directory-header{align-items:flex-start;flex-direction:column}.directory-toolbar{justify-content:flex-start}.directory-filters .filter-search{min-width:100%}}
@media(max-width:640px){.kpi-grid{grid-template-columns:1fr}.telefonia-main{padding:12px}.directory-table-wrap{padding:12px}.directory-filters{padding:14px}.topbar-title h1{font-size:1.1rem}}

[data-bs-theme="dark"] body{background:#07111f;color:#e5edf8;}[data-bs-theme="dark"] .telefonia-shell{background:linear-gradient(135deg,#07111f,#0b1f3a);}[data-bs-theme="dark"] .telefonia-topbar,[data-bs-theme="dark"] .kpi-card,[data-bs-theme="dark"] .directory-panel,[data-bs-theme="dark"] .card{background:#0f1b2b!important;border-color:#1f334d!important;color:#e5edf8;}[data-bs-theme="dark"] .directory-header,[data-bs-theme="dark"] .card-header{background:#101f33!important;border-color:#1f334d!important;}[data-bs-theme="dark"] .topbar-title h1,[data-bs-theme="dark"] .kpi-number,[data-bs-theme="dark"] .directory-title h2{color:#f8fafc;}[data-bs-theme="dark"] .table thead th{background:#152238!important;color:#cbd5e1!important;}[data-bs-theme="dark"] .table tbody td{color:#dbeafe;border-color:#1f334d;}[data-bs-theme="dark"] .form-control,[data-bs-theme="dark"] .form-select,[data-bs-theme="dark"] .input-group-text{background:#0b1625;color:#e5edf8;border-color:#263b57;}[data-bs-theme="dark"] .news-ticker-container{background:#0f1b2b!important;}
