/* Estilos exclusivos da página users.php */

.dns-wrap{
    width:100%;
    max-width:none;
    margin:0;
    padding:0 18px;
}
.dns-card{
    border-radius:18px;
    overflow:hidden;
    width:100%;
    margin-bottom:18px;
}
.dns-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:18px 22px;
}
.dns-title{
    display:flex;
    align-items:center;
    gap:14px;
}
.dns-title .ic{
    width:44px;
    height:44px;
    min-width:44px;
    border-radius:14px;
    background:rgba(25,135,84,.10);
    border:1px solid rgba(25,135,84,.20);
    display:flex;
    align-items:center;
    justify-content:center;
}
.dns-title .ic i{
    font-size:24px;
    color:#198754;
}
.dns-title h5{
    margin:0;
    font-weight:900;
}
.dns-title span{
    display:block;
    margin-top:3px;
    font-size:13px;
    color:rgba(255,255,255,.55);
}
.badge-soft{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(25,135,84,.10);
    border:1px solid rgba(25,135,84,.20);
    color:#198754;
    font-weight:900;
    white-space:nowrap;
}
.users-page{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}
.stat-card{
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.06);
    background:rgba(255,255,255,.02);
    padding:16px;
    display:flex;
    gap:14px;
    align-items:center;
    transition:transform .12s ease, box-shadow .12s ease;
}
.stat-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.stat-icon{
    width:62px;
    height:62px;
    min-width:62px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.03);
    border:1px solid rgba(0,0,0,.05);
}
.stat-icon i{
    font-size:24px;
}
.stat-icon.primary{
    color:#0d6efd;
    background:rgba(13,110,253,.08);
    border-color:rgba(13,110,253,.18);
}
.stat-icon.success{
    color:#198754;
    background:rgba(25,135,84,.10);
    border-color:rgba(25,135,84,.20);
}
.stat-icon.warning{
    color:#f59e0b;
    background:rgba(245,158,11,.12);
    border-color:rgba(245,158,11,.18);
}
.stat-meta small{
    display:block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.7px;
    opacity:.75;
    font-weight:900;
}
.stat-meta strong{
    display:block;
    font-size:28px;
    font-weight:1000;
    line-height:1;
}
.stat-meta span{
    display:block;
    margin-top:4px;
    font-size:13px;
    opacity:.75;
}
.users-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:18px;
}
.toolbar-left,
.toolbar-right{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}
.premium-filter{
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    padding:10px 12px;
    background:rgba(0,0,0,.03);
    min-height:48px;
}
.premium-filter i{
    color:#198754;
    font-size:18px;
}
.premium-filter select,
.premium-filter input{
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
    background:transparent !important;
    min-width:170px;
    font-weight:800;
}
.btn-premium{
    border-radius:14px;
    min-height:46px;
    padding:0 18px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.btn-primary-gradient{
    color:#fff !important;
    background:#198754 !important;
    border-color:#198754 !important;
}
.btn-soft-danger{
    color:#dc3545 !important;
    background:rgba(220,53,69,.10) !important;
    border:1px solid rgba(220,53,69,.20) !important;
}
.btn-soft-secondary{
    color:#6c757d !important;
    background:rgba(108,117,125,.10) !important;
    border:1px solid rgba(108,117,125,.18) !important;
}
.users-card{
    border-radius:18px;
    overflow:hidden;
    width:100%;
    border:1px solid rgba(0,0,0,.06);
    background:rgba(255,255,255,.02);
}
.users-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    padding:18px 22px;
    border-bottom:1px solid rgba(0,0,0,.06);
    background:rgba(0,0,0,.02);
}
.users-card-title{
    margin:0;
    font-weight:900;
    font-size:20px;
}
.users-card-sub{
    margin:4px 0 0;
    font-size:13px;
    color:rgba(255,255,255,.55);
}
.total-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:8px 12px;
    background:rgba(25,135,84,.10);
    border:1px solid rgba(25,135,84,.20);
    color:#198754;
    font-weight:900;
    white-space:nowrap;
}
.table{
    margin:0;
}
.table thead th{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.6px;
    opacity:.75;
    font-weight:1000;
    white-space:nowrap;
}
.table td{
    padding-top:14px;
    padding-bottom:14px;
    vertical-align:middle;
}
.mac{
    font-weight:1000;
    letter-spacing:.2px;
}
.user-main{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.user-main strong{
    font-size:14px;
    font-weight:1000;
}
.user-main span,
.user-sub{
    font-size:12px;
    opacity:.75;
}
.type-badge,
.status-badge,
.exp-badge,
.mini-badge,
.badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.type-badge.teste,
.status-badge.aguardando,
.mini-badge.rule-off{
    background:rgba(245,158,11,.12);
    color:#b45309;
    border:1px solid rgba(245,158,11,.18);
}
.type-badge.cliente,
.mini-badge.msg-on{
    background:rgba(13,110,253,.10);
    color:#0d6efd;
    border:1px solid rgba(13,110,253,.18);
}
.status-badge.ativo,
.mini-badge.rule-on{
    background:rgba(25,135,84,.10);
    color:#198754;
    border:1px solid rgba(25,135,84,.20);
}
.status-badge.inativo,
.exp-badge.expired{
    background:rgba(220,53,69,.10);
    color:#dc3545;
    border:1px solid rgba(220,53,69,.20);
}
.exp-badge.ok,
.mini-badge.msg-off{
    background:rgba(108,117,125,.10);
    color:#6c757d;
    border:1px solid rgba(108,117,125,.18);
}
.actions{
    display:flex;
    gap:8px;
    justify-content:center;
    flex-wrap:wrap;
}
.action-btn{
    min-width:42px;
    height:40px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    text-decoration:none;
    border:1px solid rgba(0,0,0,.08);
    background:rgba(0,0,0,.03);
    transition:transform .12s ease, box-shadow .12s ease;
    font-weight:900;
    padding:0 10px;
}
.action-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 20px rgba(0,0,0,.12);
}
.action-btn i{
    font-size:17px;
}
.form-control,
.form-select{
    border-radius:14px !important;
    min-height:48px;
    box-shadow:none !important;
    padding-left:14px;
    padding-right:14px;
}
.form-control:focus,
.form-select:focus{
    border-color:rgba(25,135,84,.45) !important;
    box-shadow:0 0 0 4px rgba(25,135,84,.08) !important;
}
.modal-content{
    border-radius:20px !important;
    overflow:hidden;
}
.modal-header{
    background:rgba(0,0,0,.02);
    border-bottom:1px solid rgba(0,0,0,.06);
}
.modal-label{
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:8px;
}
.card-soft{
    background:rgba(0,0,0,.03);
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    padding:14px;
}
.card-soft-title{
    font-size:12px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:10px;
}
.success-hero{
    display:flex;
    align-items:center;
    justify-content:center;
    width:76px;
    height:76px;
    border-radius:24px;
    margin:4px auto 14px auto;
    background:rgba(25,135,84,.12);
}
.success-hero i{
    font-size:36px;
    color:#198754;
}
.success-title{
    font-weight:1000;
    font-size:19px;
    margin:0;
    text-align:center;
}
.success-sub{
    opacity:.85;
    margin:8px 0 0 0;
    text-align:center;
    font-size:13px;
}
.empty-state{
    padding:40px 20px;
    text-align:center;
    opacity:.75;
}
.empty-state i{
    font-size:42px;
    margin-bottom:10px;
    display:block;
}
@media(max-width:1200px){
    .table-responsive{
        overflow-x:auto;
    }
}
@media(max-width:992px){
    .stats-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:768px){
    .users-toolbar{
        flex-direction:column;
        align-items:stretch;
    }
    .toolbar-left,
    .toolbar-right{
        width:100%;
    }
    .premium-filter{
        width:100%;
    }
    .premium-filter select,
    .premium-filter input{
        width:100%;
        min-width:0;
    }
}
@media(max-width:575px){
    .dns-wrap{
        padding:0 8px;
    }
    .dns-header{
        align-items:flex-start;
        padding:16px;
    }
    .dns-title .ic{
        width:40px;
        height:40px;
        min-width:40px;
    }
    .dns-title .ic i{
        font-size:22px;
    }
    .dns-title h5{
        font-size:18px;
    }
    .badge-soft{
        padding:7px 10px;
        font-size:12px;
    }
    .btn-premium{
        width:100%;
    }
}


/* Multisservidor */
.server-count-badge{display:inline-flex!important;align-items:center;gap:5px;margin-top:5px;padding:3px 8px;border-radius:999px;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.20);color:#2563eb!important;font-size:10px!important;font-weight:800;}
.multi-server-editor{border:1px solid rgba(37,99,235,.18);background:linear-gradient(145deg,rgba(37,99,235,.07),rgba(15,23,42,.03));border-radius:18px;padding:16px;margin-bottom:16px;}
.multi-server-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;}
.multi-server-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:900;color:var(--bs-body-color,#111827);}
.multi-server-title i{color:#2563eb;font-size:19px;}
.multi-server-sub{font-size:11px;color:#64748b;margin-top:3px;}
.server-editor-list{display:flex;flex-direction:column;gap:12px;}
.server-editor-empty{padding:22px;text-align:center;border:1px dashed rgba(100,116,139,.35);border-radius:14px;color:#64748b;font-size:12px;background:rgba(255,255,255,.35);}
.server-editor-card{position:relative;border:1px solid rgba(100,116,139,.22);border-radius:16px;padding:14px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(15,23,42,.05);}
.server-editor-card.primary{border-color:rgba(37,99,235,.40);box-shadow:0 8px 28px rgba(37,99,235,.10);}
.server-editor-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.server-editor-index{display:flex;align-items:center;gap:8px;font-weight:900;font-size:13px;color:#0f172a;}
.server-editor-index .primary-pill{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:999px;color:#1d4ed8;background:#dbeafe;}
.server-editor-actions{display:flex;gap:6px;}
.server-editor-actions button{width:34px;height:32px;border:0;border-radius:10px;background:#eef2ff;color:#334155;display:flex;align-items:center;justify-content:center;}
.server-editor-actions button:hover{background:#dbeafe;color:#1d4ed8;}
.server-editor-actions .remove-server:hover{background:#fee2e2;color:#dc2626;}
.server-fields{display:grid;grid-template-columns:1.2fr 1.8fr 1fr 1fr;gap:10px;}
.server-fields label{font-size:10px;font-weight:800;color:#64748b;margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.04em;}
.server-fields .form-control{min-height:44px;border-radius:12px;}
@media (max-width:900px){.server-fields{grid-template-columns:1fr 1fr}.multi-server-head{align-items:flex-start;flex-direction:column}.multi-server-head .btn{width:100%}}
@media (max-width:560px){.server-fields{grid-template-columns:1fr}.server-editor-card{padding:12px}}
[data-bs-theme="dark"] .server-editor-card,.dark .server-editor-card{background:rgba(15,23,42,.80);}.dark .server-editor-index,.dark .multi-server-title{color:#f8fafc;}

.profile-user-cell{display:flex;align-items:center;gap:10px;min-width:170px}.profile-user-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(37,99,235,.35);background:#111827}.profile-user-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.profile-edit-box{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:rgba(15,23,42,.04)}.profile-edit-preview{width:82px;height:82px;border-radius:50%;object-fit:cover;background:#111827;border:3px solid rgba(37,99,235,.25)}

.access-switch-card {
    background: #f8fafc;
    border: 1.5px solid rgba(148,163,184,.18);
    border-radius: 14px;
    padding: 14px 16px;
    transition: border-color .2s, background .2s;
}
.access-switch-card:has(.form-check-input:not(:checked)) {
    background: rgba(239,68,68,.04);
    border-color: rgba(239,68,68,.25);
}
.access-switch-card .form-check-input:checked { background-color: #22c55e; border-color: #22c55e; }
.access-switch-card .form-check-input:not(:checked) { background-color: #ef4444; border-color: #ef4444; }

.selection-column{width:40px}.profile-user-fallback.is-hidden{display:none}.access-modal-header,.access-modal-footer{border-color:rgba(148,163,184,.15)}.access-modal-icon{width:38px;height:38px;border-radius:12px;background:rgba(37,99,235,.12);display:flex;align-items:center;justify-content:center}.access-modal-icon i{font-size:18px;color:#58a6ff}.access-mac-label{font-size:11px;color:#94a3b8}.access-modal-body{padding:20px 22px}.access-section-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:12px}.access-tab-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.access-realtime-card{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.22)}.access-realtime-icon{color:#58a6ff;margin-top:2px}.access-realtime-title{font-weight:700;font-size:12px;color:#8ec5ff}.access-realtime-copy{font-size:11px}.pairing-code-input,#pairingCodeInput{font-size:34px;font-weight:1000;letter-spacing:12px;min-height:66px}.confirm-modal-body{padding:26px 22px}.confirm-modal-icon{width:72px;height:72px;border-radius:22px;background:rgba(239,68,68,.10);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.confirm-modal-icon i{font-size:34px;color:#ef4444}.confirm-modal-copy{opacity:.85;color:#94a3b8}@media(max-width:575px){.access-tab-grid{grid-template-columns:1fr}.pairing-code-input,#pairingCodeInput{font-size:28px;letter-spacing:8px}}
