*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#f4f7fb;color:#0f172a}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#2563eb)}
.login-box{width:390px;background:#fff;padding:36px;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.login-box h2{margin:0 0 8px;font-size:28px}
.login-box p{color:#64748b;margin-bottom:22px}
input{width:100%;padding:14px 15px;margin-bottom:14px;border:1px solid #dbe3ef;border-radius:10px;font-size:15px}
button{width:100%;padding:14px;border:0;border-radius:10px;background:#2563eb;color:white;font-weight:700;font-size:15px;cursor:pointer}
.error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:10px;margin-bottom:14px}

.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:#0b1220;color:white;padding:26px}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}
.brand-logo{width:42px;height:42px;border-radius:12px;background:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:800}
.brand strong{display:block;font-size:20px}
.brand small{display:block;color:#94a3b8;margin-top:3px}
.menu-label{font-size:11px;color:#64748b;text-transform:uppercase;margin:24px 0 8px;letter-spacing:.08em}
.sidebar a{display:block;color:#cbd5e1;text-decoration:none;padding:12px 14px;border-radius:12px;margin-bottom:4px}
.sidebar a:hover,.sidebar a.active{background:#1d4ed8;color:white}

.main{margin-left:280px;padding:34px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.topbar h1{margin:0;font-size:32px}
.topbar p{margin:6px 0 0;color:#64748b}
.user-pill{background:white;border:1px solid #e5eaf1;border-radius:999px;padding:10px 16px;font-weight:700}

.hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:24px;padding:30px;color:white;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;box-shadow:0 18px 45px rgba(37,99,235,.22)}
.hero h2{margin:0;font-size:28px}
.hero p{margin:8px 0 0;color:#bfdbfe}
.hero-btn{background:white;color:#1d4ed8;text-decoration:none;padding:13px 18px;border-radius:12px;font-weight:800}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:24px}
.card{background:white;border-radius:20px;padding:24px;box-shadow:0 8px 30px rgba(15,23,42,.06);border:1px solid #eaf0f7}
.card.highlight{border-color:#bfdbfe;background:linear-gradient(180deg,#ffffff,#eff6ff)}
.card span{display:block;color:#64748b;font-size:14px;font-weight:700;margin-bottom:10px}
.card strong{font-size:30px;display:block}
.card small{display:block;color:#94a3b8;margin-top:10px}

.panel{background:white;border-radius:22px;padding:24px;box-shadow:0 8px 30px rgba(15,23,42,.06);border:1px solid #eaf0f7}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.panel-head h3{margin:0;font-size:20px}
.panel-head a{color:#2563eb;text-decoration:none;font-weight:700}
table{width:100%;border-collapse:collapse}
th{text-align:left;color:#64748b;font-size:13px;padding:13px;border-bottom:1px solid #e5eaf1}
td{padding:14px;border-bottom:1px solid #f1f5f9;font-size:14px}
.badge{background:#eef2ff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}
.empty{text-align:center;color:#94a3b8;padding:30px}
@media(max-width:900px){.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0}.hero{display:block}.hero-btn{display:inline-block;margin-top:18px}}
.filter-bar{display:flex;gap:10px;margin:18px 0}
.filter-bar input{max-width:420px;margin:0}
.filter-bar button{width:auto;padding:12px 18px}
.secondary-btn{display:inline-flex;align-items:center;padding:12px 18px;background:#f1f5f9;color:#0f172a;text-decoration:none;border-radius:10px;font-weight:700}
.muted{color:#64748b;margin:6px 0 0}
.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:#64748b}
.pagination a{background:#2563eb;color:white;text-decoration:none;padding:9px 13px;border-radius:9px;margin:0 4px}
.pagination strong{color:#0f172a;margin:0 10px}
.cdr-filter{display:grid;grid-template-columns:1fr 1fr 2fr 1.4fr 140px;gap:10px;align-items:end;margin:18px 0}
.cdr-filter label{display:block;font-size:13px;color:#475569;margin-bottom:6px;font-weight:700}
.cdr-filter input,.cdr-filter select{width:100%;padding:13px 14px;border:1px solid #dbe3ef;border-radius:10px;font-size:15px;background:white}
.cdr-filter button{height:46px}
.record-summary{color:#64748b;margin:10px 0 18px;font-size:14px}
@media(max-width:1000px){.cdr-filter{grid-template-columns:1fr}}

.sidebar-footer{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    background:#1e293b;
    padding:16px;
    border-radius:16px;
}
.sidebar-footer small{
    display:block;
    color:#94a3b8;
    margin-bottom:6px;
}
.sidebar-footer strong{
    color:#fff;
}

.pro-topbar{
    background:white;
    border-radius:22px;
    padding:22px 26px;
    box-shadow:0 8px 30px rgba(15,23,42,.06);
    border:1px solid #eaf0f7;
}
.breadcrumb{
    color:#64748b;
    font-size:13px;
    font-weight:700;
    margin-bottom:6px;
}
.top-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.balance-pill{
    background:#eff6ff;
    color:#1d4ed8;
    border:1px solid #bfdbfe;
    padding:10px 15px;
    border-radius:999px;
    font-weight:800;
}
.logout-btn{
    background:#0f172a;
    color:white;
    text-decoration:none;
    padding:10px 15px;
    border-radius:999px;
    font-weight:800;
}
.footer{
    text-align:center;
    color:#64748b;
    font-weight:700;
    margin:34px 0 10px;
}

.badge.success{background:#dcfce7;color:#166534}
.badge.warning{background:#fef3c7;color:#92400e}
.badge.danger{background:#fee2e2;color:#991b1b}
.badge.neutral{background:#e2e8f0;color:#334155}

.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:24px;
}

.stat-card{
    background:white;
    border-radius:22px;
    padding:24px;
    box-shadow:0 8px 30px rgba(15,23,42,.06);
    border:1px solid #eaf0f7;
}

.stat-card span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:10px;
}

.stat-card strong{
    display:block;
    font-size:31px;
    color:#0f172a;
}

.stat-card small{
    display:block;
    color:#94a3b8;
    margin-top:9px;
    font-weight:700;
}

.stat-blue{border-left:5px solid #2563eb}
.stat-orange{border-left:5px solid #f59e0b}
.stat-green{border-left:5px solid #10b981}
.stat-purple{border-left:5px solid #8b5cf6}
.stat-dark{background:#0f172a}
.stat-dark span,.stat-dark strong,.stat-dark small{color:white}

@media(max-width:1200px){
    .dashboard-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .dashboard-grid{grid-template-columns:1fr}
}

.invoice-modern{
    max-width:1200px;
}

.invoice-hero{
    background:linear-gradient(135deg,#0f172a,#1d4ed8);
    color:white;
    border-radius:24px;
    padding:32px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:22px;
    box-shadow:0 18px 45px rgba(37,99,235,.22);
}

.invoice-label{
    color:#bfdbfe;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:12px;
    margin-bottom:8px;
}

.invoice-hero h2{
    margin:0;
    font-size:36px;
}

.invoice-hero p{
    margin:8px 0 0;
    color:#dbeafe;
}

.invoice-actions{
    display:flex;
    gap:10px;
    align-items:center;
}

.invoice-cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:22px;
}

.invoice-cards div{
    background:white;
    border-radius:20px;
    padding:22px;
    border:1px solid #eaf0f7;
    box-shadow:0 8px 30px rgba(15,23,42,.06);
}

.invoice-cards span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
    text-transform:uppercase;
}

.invoice-cards strong{
    font-size:20px;
}

.invoice-grand-total{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:24px;
    margin-top:22px;
    padding-top:22px;
    border-top:1px solid #e5eaf1;
}

.invoice-grand-total span{
    color:#64748b;
    font-weight:800;
    font-size:16px;
}

.invoice-grand-total strong{
    font-size:34px;
    color:#0f172a;
}

@media(max-width:1000px){
    .invoice-cards{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
    .invoice-hero{display:block}
    .invoice-actions{margin-top:18px}
    .invoice-cards{grid-template-columns:1fr}
}

.customer-box{
margin-bottom:22px;
}

.customer-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

.customer-grid div{
background:#f8fafc;
border:1px solid #e6edf5;
border-radius:18px;
padding:18px;
}

.customer-grid span{
display:block;
font-size:12px;
font-weight:700;
color:#64748b;
text-transform:uppercase;
margin-bottom:6px;
}

.customer-grid strong{
font-size:17px;
color:#0f172a;
}

@media(max-width:1000px){
.customer-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:700px){
.customer-grid{
grid-template-columns:1fr;
}
}

@media print{
.sidebar,
.pro-topbar,
.footer,
.invoice-actions .secondary-btn{
display:none!important;
}

.main{
margin-left:0!important;
padding:0!important;
}

body{
background:white!important;
}

.invoice-hero{
box-shadow:none!important;
}

.panel,
.invoice-cards div{
box-shadow:none!important;
}
}

.did-number{
    font-size:16px;
    letter-spacing:.03em;
}

.copy-btn{
    border:0;
    background:#eff6ff;
    color:#1d4ed8;
    font-weight:800;
    padding:8px 12px;
    border-radius:10px;
    cursor:pointer;
}

.copy-btn:hover{
    background:#dbeafe;
}

.copy-link{
    margin-left:8px;
    text-decoration:none;
    font-size:15px;
    opacity:.65;
    transition:.2s;
    color:#2563eb;
}

.copy-link:hover{
    opacity:1;
}

.copy-link:visited{
    color:#2563eb;
}

.profile-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.info-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.info-list div{
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:16px;
}

.info-list span{
    display:block;
    font-size:12px;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    margin-bottom:7px;
}

.info-list strong{
    font-size:16px;
    color:#0f172a;
    word-break:break-word;
}

.security-placeholder{
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:20px;
}

.security-placeholder p{
    color:#64748b;
}

@media(max-width:1000px){
    .profile-grid{grid-template-columns:1fr}
    .info-list{grid-template-columns:1fr}
}

.profile-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.info-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.info-list div{
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:16px;
}

.info-list span{
    display:block;
    font-size:12px;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    margin-bottom:7px;
}

.info-list strong{
    font-size:16px;
    color:#0f172a;
    word-break:break-word;
}

.security-placeholder{
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:20px;
}

.security-placeholder p{
    color:#64748b;
}

@media(max-width:1000px){
    .profile-grid{grid-template-columns:1fr}
    .info-list{grid-template-columns:1fr}
}

.crypto-wallets{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:18px 0;
}

.crypto-card{
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:18px;
    padding:20px;
}

.crypto-card span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:8px;
}

.crypto-card strong{
    display:block;
    word-break:break-all;
    margin-bottom:12px;
}

.crypto-form{
    display:grid;
    grid-template-columns:1fr 1fr 2fr 160px;
    gap:12px;
    align-items:end;
}

.crypto-form label{
    display:block;
    font-size:13px;
    color:#475569;
    margin-bottom:6px;
    font-weight:800;
}

.crypto-form input,
.crypto-form select{
    width:100%;
    padding:13px 14px;
    border:1px solid #dbe3ef;
    border-radius:10px;
}

.alert-success{
    background:#dcfce7;
    color:#166534;
    padding:12px;
    border-radius:12px;
    margin:12px 0;
    font-weight:800;
}

.alert-error{
    background:#fee2e2;
    color:#991b1b;
    padding:12px;
    border-radius:12px;
    margin:12px 0;
    font-weight:800;
}

@media(max-width:1000px){
    .crypto-wallets{grid-template-columns:1fr}
    .crypto-form{grid-template-columns:1fr}
}

.crypto-admin-filter{
    grid-template-columns:180px 180px 1fr 190px 110px 110px;
    margin-bottom:18px;
}

.admin-action-box{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}

.admin-action-box input{
    padding:9px 10px;
    border:1px solid #dbe3ef;
    border-radius:10px;
    width:170px;
}

.admin-action-box button{
    padding:9px 14px;
    border-radius:10px;
    min-width:auto;
}

@media(max-width:1000px){
    .crypto-admin-filter{
        grid-template-columns:1fr;
    }
}

.qr-box{
    background:#fff;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:12px;
    width:206px;
    margin:12px 0;
}

.qr-box img{
    display:block;
    width:180px;
    height:180px;
}

.crypto-wallets{
    grid-template-columns:repeat(2,minmax(280px,1fr));
    gap:14px;
}

.crypto-card{
    padding:16px;
    display:grid;
    grid-template-columns:140px 1fr;
    gap:14px;
    align-items:center;
}

.crypto-card span{
    grid-column:1 / -1;
    margin-bottom:0;
}

.crypto-card strong{
    font-size:13px;
    line-height:1.35;
    margin-bottom:0;
}

.crypto-card .copy-btn{
    grid-column:1 / -1;
    padding:9px 12px;
}

.qr-box{
    width:132px;
    padding:8px;
    margin:0;
}

.qr-box img{
    width:116px;
    height:116px;
}

@media(max-width:1000px){
    .crypto-card{
        grid-template-columns:1fr;
    }
}

.pro-crypto-card{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    min-height:360px;
    padding:22px !important;
    text-align:center;
}

.crypto-card-head{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
}

.crypto-card-head div{
    text-align:left;
}

.crypto-title{
    display:block;
    font-size:18px !important;
    font-weight:900 !important;
    color:#0f172a !important;
}

.crypto-card-head small{
    color:#64748b;
    font-weight:800;
}

.crypto-card-head b{
    background:#eef6ff;
    color:#1d4ed8;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
}

.pro-qr{
    width:190px !important;
    height:190px;
    padding:10px !important;
    margin:8px auto 16px auto !important;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pro-qr img{
    width:170px !important;
    height:170px !important;
}

.wallet-address-box{
    width:100%;
    background:#f8fafc;
    border:1px solid #e6edf5;
    border-radius:14px;
    padding:12px;
    margin-bottom:14px;
}

.wallet-address-box label{
    display:block;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    color:#64748b;
    margin-bottom:5px;
}

.wallet-address-box strong{
    font-size:14px !important;
    word-break:break-all;
}

.wallet-actions{
    display:flex;
    gap:10px;
    width:100%;
}

.wallet-actions button{
    flex:1;
}

.crypto-warning{
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    border-radius:14px;
    padding:14px 16px;
    margin:16px 0 20px 0;
    font-weight:600;
}

@media(max-width:1000px){
    .wallet-actions{
        flex-direction:column;
    }
}

/* ===== FINAL WALLET DESIGN ===== */

.pro-crypto-card{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    padding:24px !important;
    min-height:430px;
}

.crypto-card-head{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.crypto-title{
    font-size:20px;
    font-weight:800;
    color:#0f172a;
}

.crypto-card-head b{
    background:#eef4ff;
    color:#2563eb;
    padding:6px 14px;
    border-radius:999px;
    font-size:12px;
}

.pro-qr{
    width:210px !important;
    height:210px !important;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:10px auto 18px auto !important;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
}

.pro-qr img{
    width:180px !important;
    height:180px !important;
}

.wallet-address-box{
    width:100%;
    max-width:420px;
    background:#f8fafc;
    border:1px solid #dbeafe;
    border-radius:14px;
    padding:14px;
    margin-bottom:16px;
}

.wallet-address-box label{
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:700;
    margin-bottom:6px;
    text-transform:uppercase;
}

.wallet-address-box strong{
    display:block;
    font-family:monospace;
    font-size:15px;
    word-break:break-all;
}

.wallet-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    width:100%;
}

.wallet-actions button{
    width:180px;
}

.secondary-btn{
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
}

.crypto-warning{
    background:#fff7ed;
    border:1px solid #fdba74;
    border-radius:14px;
    padding:14px 18px;
    margin:20px 0;
    color:#9a3412;
    font-weight:600;
}

@media(max-width:900px){

    .wallet-actions{
        flex-direction:column;
    }

    .wallet-actions button{
        width:100%;
    }

}


.wallet-selector-grid{
    max-width:420px;
    margin:18px auto 16px auto;
}

.wallet-selector-grid label{
    display:block;
    font-size:13px;
    font-weight:800;
    color:#475569;
    margin-bottom:7px;
}

.wallet-selector-grid select{
    width:100%;
    padding:14px;
    border:1px solid #dbe3ef;
    border-radius:12px;
    font-weight:700;
}

.selected-wallet-card{
    max-width:520px;
    margin:0 auto 18px auto;
    background:#f8fafc;
    border:1px solid #dbeafe;
    border-radius:22px;
    padding:26px;
    text-align:center;
}

.selected-wallet-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.selected-wallet-head div{
    text-align:left;
}

.selected-wallet-head span{
    display:block;
    font-size:24px;
    font-weight:900;
}

.selected-wallet-head small{
    color:#64748b;
    font-weight:800;
}

.selected-wallet-head b{
    background:#eef4ff;
    color:#2563eb;
    padding:8px 16px;
    border-radius:999px;
    font-size:13px;
}

.selected-qr{
    width:240px;
    height:240px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:10px;
    margin:0 auto 18px auto;
}

.selected-qr img{
    width:220px;
    height:220px;
}

.selected-address{
    background:#fff;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:15px;
    margin-bottom:16px;
}

.selected-address label{
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:7px;
}

.selected-address strong{
    font-family:monospace;
    font-size:16px;
}

.crypto-form{
    grid-template-columns:1fr 2fr 180px !important;
}

@media(max-width:1000px){
    .crypto-form{
        grid-template-columns:1fr !important;
    }
}


.wallet-selector-grid{
    max-width:420px;
    margin:18px auto 16px auto;
}

.wallet-selector-grid label{
    display:block;
    font-size:13px;
    font-weight:800;
    color:#475569;
    margin-bottom:7px;
}

.wallet-selector-grid select{
    width:100%;
    padding:14px;
    border:1px solid #dbe3ef;
    border-radius:12px;
    font-weight:700;
}

.selected-wallet-card{
    max-width:520px;
    margin:0 auto 18px auto;
    background:#f8fafc;
    border:1px solid #dbeafe;
    border-radius:22px;
    padding:26px;
    text-align:center;
}

.selected-wallet-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.selected-wallet-head div{
    text-align:left;
}

.selected-wallet-head span{
    display:block;
    font-size:24px;
    font-weight:900;
}

.selected-wallet-head small{
    color:#64748b;
    font-weight:800;
}

.selected-wallet-head b{
    background:#eef4ff;
    color:#2563eb;
    padding:8px 16px;
    border-radius:999px;
    font-size:13px;
}

.selected-qr{
    width:240px;
    height:240px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:10px;
    margin:0 auto 18px auto;
}

.selected-qr img{
    width:220px;
    height:220px;
}

.selected-address{
    background:#fff;
    border:1px solid #e6edf5;
    border-radius:16px;
    padding:15px;
    margin-bottom:16px;
}

.selected-address label{
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:7px;
}

.selected-address strong{
    font-family:monospace;
    font-size:16px;
}

.crypto-form{
    grid-template-columns:1fr 2fr 180px !important;
}

@media(max-width:1000px){
    .crypto-form{
        grid-template-columns:1fr !important;
    }
}


.crypto-warning ul{
    margin:8px 0 0 18px;
    padding:0;
}

.crypto-warning li{
    margin:4px 0;
}

.selected-wallet-card{
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.wallet-selector-grid{
    margin-top:22px;
}

.selected-wallet-head{
    border-bottom:1px solid #e6edf5;
    padding-bottom:14px;
}

.crypto-admin-summary{
    grid-template-columns:repeat(5,1fr);
    margin-bottom:22px;
}

@media(max-width:1200px){
    .crypto-admin-summary{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .crypto-admin-summary{
        grid-template-columns:1fr;
    }
}

.selected-address strong{
    word-break:break-all;
    line-height:1.5;
}

/* ===== Modern Telecom Theme v1 ===== */

.sidebar{
    background:#072b57 !important;
    border-right:0 !important;
}

.sidebar .brand{
    padding:24px 20px !important;
}

.sidebar a{
    border-radius:0 !important;
    margin:4px 0 !important;
    padding:14px 20px !important;
    color:#eaf3ff !important;
    font-weight:800 !important;
}

.sidebar a:hover,
.sidebar a.active{
    background:#1268f3 !important;
    color:#fff !important;
}

.sidebar .section-title,
.sidebar small{
    color:#9bbce3 !important;
}

.main{
    background:#f3f7fb !important;
}

.topbar,
.pro-topbar{
    border-radius:0 !important;
    box-shadow:none !important;
    border-bottom:1px solid #e2e8f0 !important;
}

.stat-card{
    border-radius:14px !important;
    box-shadow:none !important;
    border:1px solid #e6edf5 !important;
    min-height:110px !important;
}

.stat-card strong{
    font-size:28px !important;
}

.panel{
    border-radius:14px !important;
    box-shadow:none !important;
    border:1px solid #e6edf5 !important;
}

button,
.copy-btn,
.secondary-btn,
.logout-btn{
    border-radius:6px !important;
}

table th{
    background:#fff !important;
    color:#475569 !important;
    font-weight:900 !important;
}

.badge{
    border-radius:999px !important;
    padding:7px 12px !important;
}


/* ===== VoIP Dubai UI Polish - visual only ===== */

.topbar h1,
.pro-topbar h1{
    font-size:30px !important;
    letter-spacing:-.03em;
}

.stat-card{
    position:relative;
    overflow:hidden;
}

.stat-card:after{
    content:"";
    position:absolute;
    right:-28px;
    top:-28px;
    width:90px;
    height:90px;
    background:rgba(37,99,235,.08);
    border-radius:50%;
}

.stat-card span{
    font-size:13px !important;
    letter-spacing:.06em;
}

.stat-card strong{
    letter-spacing:-.04em;
}

.dashboard-grid .stat-card:nth-child(1) strong{
    color:#059669;
}

.dashboard-grid .stat-card:nth-child(2) strong{
    color:#ea580c;
}

.dashboard-grid .stat-card:nth-child(3) strong,
.dashboard-grid .stat-card:nth-child(4) strong{
    color:#2563eb;
}

.sidebar{
    box-shadow:8px 0 30px rgba(2,6,23,.12);
}

.sidebar a{
    transition:.18s ease;
}

.sidebar a:hover{
    transform:translateX(3px);
}

.panel h3{
    font-size:21px !important;
    letter-spacing:-.02em;
}

table th{
    font-size:13px !important;
    letter-spacing:.02em;
}

table td{
    padding-top:15px !important;
    padding-bottom:15px !important;
}

td:nth-child(2),
td:nth-child(3){
    font-family:Consolas, Monaco, monospace;
}

.badge{
    font-weight:900 !important;
    font-size:12px !important;
}

.copy-btn,
button,
.secondary-btn{
    transition:.18s ease;
}

.copy-btn:hover,
button:hover,
.secondary-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,.10);
}

.logout-btn{
    box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.quick-action,
.stat-card.stat-dark{
    background:linear-gradient(135deg,#0f172a,#1d4ed8) !important;
}

input,
select{
    transition:.15s ease;
}

input:focus,
select:focus{
    outline:none;
    border-color:#2563eb !important;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

footer,
.footer{
    color:#64748b !important;
}


/* ==========================================================
   Modern UI - Inter Font + Dashboard Improvements
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

html,
body,
button,
input,
select,
textarea{
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

/* Sidebar */

.sidebar{
    font-family:'Inter',sans-serif;
}

.sidebar a{
    font-size:15px;
    font-weight:600;
    letter-spacing:.2px;
    transition:.2s;
}

.sidebar a:hover{
    transform:translateX(3px);
}

.sidebar .menu-title{
    font-size:11px;
    font-weight:700;
    color:#8192af;
    text-transform:uppercase;
    letter-spacing:1.3px;
    margin-bottom:10px;
}

.sidebar .logo-title{
    font-size:27px;
    font-weight:800;
}

.sidebar .logo-subtitle{
    font-size:13px;
    font-weight:500;
    color:#c8d3e7;
}

/* Dashboard cards */

.card,
.stat-card{
    border-radius:18px;
}

.card-title,
.stat-title{
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#6b7a93;
}

.card-value,
.stat-value{
    font-size:38px;
    font-weight:800;
    line-height:1.1;
}

/* Tables */

table{
    font-size:14px;
}

thead th{
    font-size:13px;
    font-weight:700;
    color:#6b7a93;
    letter-spacing:.3px;
}

tbody td{
    font-size:14px;
    font-weight:500;
    padding-top:15px;
    padding-bottom:15px;
}

/* Buttons */

button,
.btn{
    font-weight:600;
    border-radius:12px;
    letter-spacing:.2px;
}

/* Badges */

.badge{
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    padding:6px 12px;
}

/* Header */

.page-title,
h1{
    font-weight:800;
    letter-spacing:-.5px;
}

/* Nice transitions */

*{
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease;
}


/* =========================================================
   VoIP Dubai Dashboard V2
   Visual redesign only — no application logic changes
   ========================================================= */

.vd-dashboard{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.vd-metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.vd-metric-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:18px;
    min-height:126px;
    padding:22px;
    background:#fff;
    border:1px solid #e4eaf2;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(15,23,42,.035);
    overflow:hidden;
}

.vd-metric-card::after{
    content:none !important;
}

.vd-metric-icon{
    flex:0 0 58px;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
}

.vd-metric-icon svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vd-icon-green{
    color:#16a34a;
    background:#e8f8ed;
}

.vd-icon-blue{
    color:#2563eb;
    background:#eaf1ff;
}

.vd-icon-purple{
    color:#7c3aed;
    background:#f1ebff;
}

.vd-icon-orange{
    color:#ea8a00;
    background:#fff1dc;
}

.vd-metric-content{
    min-width:0;
}

.vd-metric-content span{
    display:block;
    margin-bottom:7px;
    color:#344563;
    font-size:12px;
    font-weight:700;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.vd-metric-content strong{
    display:block;
    margin-bottom:7px;
    color:#10213f;
    font-size:28px;
    line-height:1.05;
    letter-spacing:-.035em;
    white-space:nowrap;
}

.vd-metric-content small{
    display:block;
    color:#718096;
    font-size:12px;
    font-weight:500;
}

.vd-value-green{
    color:#159447 !important;
}

.vd-value-orange{
    color:#ea6b11 !important;
}

.vd-value-blue{
    color:#2463d7 !important;
}

.vd-dashboard-columns{
    display:grid;
    grid-template-columns:minmax(0,2.25fr) minmax(290px,.75fr);
    gap:18px;
    align-items:start;
}

.vd-panel{
    background:#fff;
    border:1px solid #e4eaf2;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(15,23,42,.03);
    overflow:hidden;
}

.vd-panel-header{
    min-height:74px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:18px 22px;
    border-bottom:1px solid #edf1f6;
}

.vd-panel-header h3{
    margin:0;
    color:#101c34;
    font-size:18px !important;
    font-weight:750;
    letter-spacing:-.02em;
}

.vd-panel-header p{
    margin:4px 0 0;
    color:#7b879a;
    font-size:12px;
}

.vd-text-link{
    color:#175ff4;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.vd-text-link:hover{
    text-decoration:underline;
}

.vd-table-wrap{
    overflow-x:auto;
}

.vd-table{
    width:100%;
    border-collapse:collapse;
}

.vd-table th{
    padding:13px 18px !important;
    color:#53627a !important;
    background:#fbfcfe !important;
    border-bottom:1px solid #e8edf4;
    font-size:11px !important;
    font-weight:750 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase;
    text-align:left;
    white-space:nowrap;
}

.vd-table td{
    padding:13px 18px !important;
    color:#17243d;
    border-bottom:1px solid #eef2f7;
    font-size:12px !important;
    font-weight:500 !important;
    vertical-align:middle;
}

.vd-table tbody tr:last-child td{
    border-bottom:0;
}

.vd-table tbody tr:hover{
    background:#f9fbff;
}

.vd-mono{
    font-family:Consolas,Monaco,"Courier New",monospace !important;
    font-size:11.5px !important;
}

.vd-caller-cell{
    max-width:310px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.vd-side-stack{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.vd-summary-list{
    display:flex;
    flex-direction:column;
}

.vd-summary-list > div{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 20px;
    border-bottom:1px solid #edf1f6;
}

.vd-summary-list > div:last-child{
    border-bottom:0;
}

.vd-summary-list span{
    color:#58677e;
    font-size:13px;
    font-weight:600;
}

.vd-summary-list strong,
.vd-summary-list a{
    color:#16233d;
    font-size:14px;
    font-weight:750;
    text-decoration:none;
}

.vd-summary-list a{
    color:#175ff4;
}

.vd-topup-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:15px;
    min-height:122px;
    padding:20px;
    color:#fff;
    background:linear-gradient(135deg,#0d2250 0%,#153e91 55%,#1764ef 100%);
    border-radius:16px;
    box-shadow:0 14px 32px rgba(23,77,180,.22);
    text-decoration:none;
    overflow:hidden;
}

.vd-topup-card::after{
    content:"";
    position:absolute;
    right:-35px;
    top:-45px;
    width:135px;
    height:135px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.vd-topup-icon{
    position:relative;
    z-index:1;
    flex:0 0 50px;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.18);
    border-radius:14px;
}

.vd-topup-icon svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vd-topup-card > div:nth-child(2){
    position:relative;
    z-index:1;
    min-width:0;
}

.vd-topup-card small{
    display:block;
    margin-bottom:5px;
    color:#cddcff;
    font-size:10px;
    font-weight:750;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.vd-topup-card strong{
    display:block;
    margin-bottom:5px;
    color:#fff;
    font-size:20px;
    font-weight:800;
}

.vd-topup-card span{
    display:block;
    color:#dce7ff;
    font-size:12px;
}

.vd-topup-arrow{
    position:relative;
    z-index:1;
    margin-left:auto;
    font-size:25px;
    font-weight:400;
    transition:transform .18s ease;
}

.vd-topup-card:hover{
    transform:translateY(-2px);
}

.vd-topup-card:hover .vd-topup-arrow{
    transform:translateX(4px);
}

@media(max-width:1350px){
    .vd-metric-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .vd-dashboard-columns{
        grid-template-columns:1fr;
    }

    .vd-side-stack{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:760px){
    .vd-metric-grid{
        grid-template-columns:1fr;
    }

    .vd-side-stack{
        display:flex;
    }

    .vd-metric-card{
        min-height:112px;
        padding:18px;
    }

    .vd-metric-content strong{
        font-size:25px;
    }

    .vd-panel-header{
        padding:16px;
    }

    .vd-table th,
    .vd-table td{
        padding-left:14px !important;
        padding-right:14px !important;
    }
}

/* ===== Dashboard V2 final refinements ===== */

.vd-secondary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.vd-small-card{
    display:block;
    min-height:105px;
    padding:19px 21px;
    background:#fff;
    border:1px solid #e4eaf2;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(15,23,42,.03);
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.vd-small-card:hover{
    transform:translateY(-2px);
    border-color:#cbd9ef;
    box-shadow:0 10px 24px rgba(15,23,42,.07);
}

.vd-small-card span{
    display:block;
    margin-bottom:8px;
    color:#5f6f87;
    font-size:11px;
    font-weight:750;
    letter-spacing:.055em;
    text-transform:uppercase;
}

.vd-small-card strong{
    display:block;
    margin-bottom:7px;
    color:#13213b;
    font-size:23px;
    font-weight:800;
    line-height:1.05;
    letter-spacing:-.025em;
}

.vd-small-card small{
    color:#8490a3;
    font-size:12px;
    font-weight:500;
}

/* More comfortable Latest Calls rows */

.vd-table td{
    padding-top:16px !important;
    padding-bottom:16px !important;
}

.vd-table .badge{
    min-width:78px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    padding:7px 12px !important;
}

/* Stronger crypto top-up action */

.vd-topup-card{
    min-height:150px;
}

.vd-deposit-button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:max-content;
    margin-top:12px;
    padding:8px 14px;
    color:#133b89 !important;
    background:#fff;
    border-radius:9px;
    font-size:12px !important;
    font-weight:800 !important;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
}

.vd-topup-card:hover .vd-deposit-button{
    background:#eef5ff;
}

@media(max-width:1350px){
    .vd-secondary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .vd-secondary-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   Dashboard Typography (Professional SaaS)
   ========================================================== */

.dashboard-header h1,
.page-header h1{
    color:#111827;
    font-weight:700;
    letter-spacing:-.02em;
}

.dashboard-header small,
.page-header small{
    color:#64748b;
}

/* Statistic cards */

.stat-card span,
.vd-stat-card span{
    color:#64748b !important;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.stat-card strong,
.vd-stat-card strong{
    color:#0f172a !important;
    font-size:40px;
    font-weight:800;
    letter-spacing:-.03em;
    line-height:1;
}

.stat-card small,
.vd-stat-card small{
    color:#94a3b8 !important;
    font-size:13px;
    font-weight:500;
}

/* Panels */

.panel h3,
.vd-panel h3{
    color:#0f172a;
    font-weight:700;
}

.panel p,
.vd-panel p{
    color:#94a3b8;
}

/* Tables */

table thead th{
    color:#64748b !important;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

table tbody td{
    color:#334155;
    font-size:14px;
    font-weight:500;
}

/* Right summary */

.summary-card h3{
    color:#0f172a;
    font-weight:700;
}

.summary-card td:first-child{
    color:#64748b;
}

.summary-card td:last-child{
    color:#0f172a;
    font-weight:700;
}

/* Links */

a{
    color:#2563eb;
    transition:.2s;
}

a:hover{
    color:#1d4ed8;
}


/* Restore dashboard value colors */

.stat-card strong,
.vd-stat-card strong{
    color:inherit !important;
    font-size:40px;
    font-weight:800;
    letter-spacing:-.03em;
}

.stat-blue strong,
.balance-value{
    color:#16a34a !important;
}

.stat-orange strong{
    color:#ea580c !important;
}

.stat-green strong,
.stat-purple strong{
    color:#2563eb !important;
}


/* Dashboard without duplicated Account Summary */

.vd-dashboard-columns{
    grid-template-columns:minmax(0,1fr) 330px !important;
}

.vd-side-stack{
    display:flex !important;
    flex-direction:column;
}

.vd-topup-card{
    min-height:150px;
}

/* Keep dashboard card labels dark and readable */

.vd-metric-content span{
    color:#334155 !important;
}

.vd-panel-header h3{
    color:#0f172a !important;
}

.vd-panel-header p{
    color:#94a3b8 !important;
}

@media(max-width:1200px){
    .vd-dashboard-columns{
        grid-template-columns:1fr !important;
    }

    .vd-topup-card{
        max-width:none;
    }
}

/* =========================================================
   Dashboard analytics — Daily Spending and Top Destinations
   ========================================================= */

.vd-analytics-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);
    gap:18px;
    align-items:stretch;
}

.vd-spending-panel,
.vd-destinations-panel{
    min-height:330px;
}

.vd-period-pill{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 13px;
    color:#475569;
    background:#fff;
    border:1px solid #dce4ee;
    border-radius:9px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}

.vd-chart-wrap{
    padding:14px 20px 16px;
}

.vd-spending-chart{
    display:block;
    width:100%;
    height:auto;
    min-height:235px;
    overflow:visible;
}

.vd-grid-line{
    stroke:#e8edf4;
    stroke-width:1;
}

.vd-axis-text{
    fill:#718096;
    font-family:Inter,Arial,sans-serif;
    font-size:11px;
    font-weight:600;
}

.vd-chart-area{
    fill:url(#vdSpendFill);
}

.vd-chart-line{
    fill:none;
    stroke:#2563eb;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vd-chart-point{
    fill:#2563eb;
    stroke:#fff;
    stroke-width:2;
    cursor:pointer;
    transition:r .15s ease;
}

.vd-chart-point:hover{
    r:5;
}

.vd-destination-table-wrap{
    overflow-x:auto;
}

.vd-destination-table{
    width:100%;
    border-collapse:collapse;
}

.vd-destination-table th{
    padding:13px 16px !important;
    color:#65748b !important;
    background:#fbfcfe !important;
    border-bottom:1px solid #e8edf4;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.055em !important;
    text-align:left;
    text-transform:uppercase;
    white-space:nowrap;
}

.vd-destination-table td{
    padding:15px 16px !important;
    color:#25324a;
    border-bottom:1px solid #edf1f6;
    font-family:Inter,Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:550 !important;
    vertical-align:middle;
}

.vd-destination-table tbody tr:last-child td{
    border-bottom:0;
}

.vd-destination-table tbody tr:hover{
    background:#f9fbff;
}

.vd-destination-name{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.vd-destination-name strong{
    display:block;
    max-width:230px;
    overflow:hidden;
    color:#17233d;
    font-size:12px;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.vd-destination-dot{
    flex:0 0 9px;
    width:9px;
    height:9px;
    background:#2563eb;
    border-radius:50%;
    box-shadow:0 0 0 4px rgba(37,99,235,.10);
}

.vd-destination-cost{
    color:#159447 !important;
    font-weight:750 !important;
}

@media(max-width:1250px){
    .vd-analytics-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .vd-chart-wrap{
        padding-left:8px;
        padding-right:8px;
    }

    .vd-spending-chart{
        min-width:620px;
    }

    .vd-chart-wrap{
        overflow-x:auto;
    }
}


/* =========================================================
   Professional smooth dashboard chart
   ========================================================= */

.vd-chart-area{
    fill:url(#vdSpendFill) !important;
    stroke:none !important;
}

.vd-chart-line{
    fill:none !important;
    stroke:#2563eb !important;
    stroke-width:3.5 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    vector-effect:non-scaling-stroke;
    filter:drop-shadow(0 4px 5px rgba(37,99,235,.14));
}

.vd-grid-line{
    stroke:#e9eef5 !important;
    stroke-width:1 !important;
    stroke-dasharray:3 5;
}

.vd-spending-chart{
    overflow:visible;
}


/* =========================================================
   CDR page tabs
   ========================================================= */

.cdr-tabs{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:18px;
    padding:5px;
    background:#e8eef7;
    border:1px solid #dbe4ef;
    border-radius:12px;
}

.cdr-tabs a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 21px;
    color:#53647d;
    border-radius:9px;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
    transition:
        color .16s ease,
        background .16s ease,
        box-shadow .16s ease;
}

.cdr-tabs a:hover{
    color:#174fbf;
    background:rgba(255,255,255,.65);
}

.cdr-tabs a.active{
    color:#fff !important;
    background:#2563eb;
    box-shadow:0 6px 15px rgba(37,99,235,.23);
}

.cdr-table-wrap{
    width:100%;
    overflow-x:auto;
}

.cdr-mono{
    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace !important;
    font-size:12px !important;
}

.cdr-filter input[readonly]{
    color:#64748b;
    background:#f3f6fa;
    cursor:not-allowed;
}

.record-summary{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

@media(max-width:700px){
    .cdr-tabs{
        display:flex;
        width:100%;
    }

    .cdr-tabs a{
        flex:1;
        padding-left:10px;
        padding-right:10px;
    }
}


/* =========================================================
   Crypto admin TXID explorer links
   ========================================================= */

.crypto-txid-cell{
    max-width:290px;
    display:flex;
    align-items:flex-start;
    gap:8px;
}

.crypto-txid-link{
    display:inline-flex;
    align-items:flex-start;
    gap:6px;
    min-width:0;
    color:#175ff4;
    font-weight:650;
    text-decoration:none;
}

.crypto-txid-link:hover{
    color:#1248bb;
    text-decoration:underline;
}

.crypto-txid-text{
    display:block;
    max-width:235px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-family:Consolas,Monaco,"Courier New",monospace;
    font-size:12px;
}

.crypto-txid-open{
    flex:0 0 auto;
    font-size:14px;
    line-height:1.2;
}

.crypto-copy-txid{
    flex:0 0 auto;
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    color:#42526a;
    background:#f4f7fb;
    border:1px solid #dce4ee;
    border-radius:8px;
    cursor:pointer;
}

.crypto-copy-txid:hover{
    background:#eaf1ff;
    border-color:#bfd1f5;
}


/* =========================================================
   Client Telegram admin
   ========================================================= */

.admin-full-width{
    margin-left:0 !important;
}

.admin-top-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.telegram-admin-grid{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(280px,1fr);
    gap:18px;
    margin-bottom:18px;
}

.telegram-client-search{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.telegram-client-search input{
    flex:1;
}

.telegram-client-results{
    display:grid;
    gap:12px;
}

.telegram-client-card{
    display:grid;
    grid-template-columns:
        minmax(180px,1.2fr)
        minmax(180px,1fr)
        auto
        auto
        auto;
    align-items:end;
    gap:14px;
    padding:16px;
    background:#f8fafc;
    border:1px solid #e1e8f1;
    border-radius:12px;
}

.telegram-client-identity{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.telegram-client-identity strong{
    color:#102044;
    font-size:15px;
}

.telegram-client-identity span{
    color:#334155;
}

.telegram-client-identity small{
    color:#7b8ba6;
}

.telegram-chat-input{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.telegram-chat-input label{
    color:#53647d;
    font-size:12px;
    font-weight:750;
}

.telegram-check{
    display:flex;
    align-items:center;
    gap:7px;
    padding-bottom:10px;
    white-space:nowrap;
    font-size:13px;
    font-weight:650;
}

.telegram-help-steps{
    margin:0;
    padding-left:22px;
    color:#42526a;
    line-height:1.8;
}

.telegram-info-box{
    margin-top:18px;
    padding:14px;
    color:#874500;
    background:#fff7e9;
    border:1px solid #ffd89b;
    border-radius:10px;
    font-size:13px;
}

.telegram-list-filter{
    margin-bottom:18px;
}

.telegram-chat-code{
    display:inline-block;
    padding:6px 9px;
    color:#174fbf;
    background:#edf4ff;
    border:1px solid #d4e3ff;
    border-radius:7px;
    font-size:12px;
}

.telegram-edit-details{
    position:relative;
}

.telegram-edit-details summary{
    color:#1658dd;
    font-weight:750;
    cursor:pointer;
}

.telegram-edit-details[open]{
    min-width:240px;
}

.telegram-inline-edit{
    display:grid;
    gap:8px;
    margin-top:10px;
    padding:12px;
    background:#f8fafc;
    border:1px solid #dde5ef;
    border-radius:10px;
}

.telegram-inline-edit label{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:13px;
}

.danger-outline-btn{
    width:100%;
    margin-top:8px;
    color:#b42318;
    background:#fff;
    border:1px solid #f0b8b3;
}

.danger-outline-btn:hover{
    color:#fff;
    background:#c62828;
    border-color:#c62828;
}

@media(max-width:1000px){
    .telegram-admin-grid{
        grid-template-columns:1fr;
    }

    .telegram-client-card{
        grid-template-columns:1fr;
        align-items:stretch;
    }

    .telegram-check{
        padding-bottom:0;
    }
}


/* =========================================================
   Client Telegram search layout correction
   ========================================================= */

.telegram-client-search{
    display:grid !important;
    grid-template-columns:minmax(280px,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
}

.telegram-client-search input[type="text"]{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    padding:0 15px !important;
    box-sizing:border-box !important;
}

.telegram-client-search button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:130px !important;
    height:48px !important;
    padding:0 22px !important;
    white-space:nowrap !important;
}

.telegram-list-filter{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.telegram-list-filter input[type="text"]{
    width:420px !important;
    max-width:100% !important;
}

.telegram-list-filter button,
.telegram-list-filter .secondary-btn{
    width:auto !important;
    flex:0 0 auto !important;
}

@media(max-width:700px){
    .telegram-client-search{
        grid-template-columns:1fr !important;
    }

    .telegram-client-search button{
        width:100% !important;
    }

    .telegram-list-filter{
        align-items:stretch !important;
        flex-direction:column !important;
    }

    .telegram-list-filter input[type="text"],
    .telegram-list-filter button,
    .telegram-list-filter .secondary-btn{
        width:100% !important;
    }
}


/* VoipDubai Telegram assistant */

.telegram-panel {
    margin-top: 24px;
}

.telegram-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.telegram-panel-head p {
    margin: 5px 0 0;
    color: #64748b;
}

.telegram-benefits {
    display: grid;
    gap: 9px;
    margin: 18px 0;
}

.telegram-btn {
    border: 0;
    border-radius: 9px;
    padding: 12px 20px;
    background: #229ed9;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.telegram-note {
    display: block;
    margin-top: 12px;
    color: #64748b;
}

.telegram-connected-box {
    display: grid;
    gap: 5px;
    margin: 18px 0;
    padding: 15px;
    border-radius: 10px;
    background: #f0fdf4;
}

.telegram-connected-box span,
.telegram-setting-row small {
    color: #64748b;
}

.telegram-setting-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #e5e7eb;
}

.telegram-setting-row strong,
.telegram-setting-row small {
    display: block;
}

.telegram-setting-row small {
    margin-top: 4px;
}

.telegram-setting-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
}

.telegram-disconnect-form {
    margin-top: 12px;
}

.danger-link {
    border: 0;
    padding: 0;
    background: transparent;
    color: #dc2626;
    font-weight: 700;
    cursor: pointer;
}

.badge-neutral {
    background: #f1f5f9;
    color: #475569;
}

@media (max-width: 700px) {
    .telegram-panel-head {
        flex-direction: column;
    }

    .telegram-btn {
        width: 100%;
    }
}


/* ==========================================================
   VoipDubai Telegram Assistant — polished component
   ========================================================== */

.vd-telegram-card {
    margin-top: 24px;
    overflow: hidden;
    border: 1px solid #dfe7f1;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.vd-telegram-card,
.vd-telegram-card * {
    box-sizing: border-box;
}

.vd-telegram-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px;
    border-bottom: 1px solid #edf2f7;
    background:
        linear-gradient(
            135deg,
            rgba(34, 158, 217, .06),
            rgba(255, 255, 255, 0) 55%
        );
}

.vd-telegram-brand {
    display: flex;
    align-items: center;
    gap: 15px;
}

.vd-telegram-logo {
    display: flex;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 15px;
    background: linear-gradient(
        145deg,
        #2aabee,
        #168dcc
    );
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(34, 158, 217, .25);
}

.vd-telegram-brand h3 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: 19px;
    font-weight: 750;
    line-height: 1.25;
}

.vd-telegram-brand p {
    margin: 0;
    max-width: 650px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.5;
}

.vd-telegram-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 7px 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

.vd-telegram-status.is-connected {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.vd-telegram-status.is-disconnected {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #64748b;
}

.vd-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.vd-telegram-state {
    padding: 26px;
}

.vd-telegram-state[hidden] {
    display: none !important;
}

.vd-telegram-alert {
    margin: 20px 26px 0;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
}

.vd-telegram-alert.is-success {
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.vd-telegram-alert.is-error {
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.vd-telegram-intro h4,
.vd-section-heading h4 {
    margin: 0 0 6px;
    color: #0f172a;
    font-size: 16px;
}

.vd-telegram-intro p,
.vd-section-heading p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
}

.vd-telegram-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}

.vd-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-height: 94px;
    padding: 15px;
    border: 1px solid #e7edf4;
    border-radius: 12px;
    background: #fbfdff;
}

.vd-benefit-icon {
    display: inline-flex;
    flex: 0 0 25px;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #dcfce7;
    color: #15803d;
    font-size: 13px;
    font-weight: 800;
}

.vd-benefit-item strong,
.vd-benefit-item small {
    display: block;
}

.vd-benefit-item strong {
    margin-bottom: 4px;
    color: #1e293b;
    font-size: 13px;
}

.vd-benefit-item small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.vd-telegram-connect-form {
    margin: 0;
}

.vd-telegram-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 19px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(
        135deg,
        #2aabee,
        #168dcc
    );
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(34, 158, 217, .22);
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        opacity .16s ease;
}

.vd-telegram-primary-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(34, 158, 217, .28);
}

.vd-telegram-note {
    display: block;
    margin-top: 12px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

.vd-connected-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 17px;
    border: 1px solid #bbf7d0;
    border-radius: 13px;
    background:
        linear-gradient(
            135deg,
            #f0fdf4,
            #ffffff
        );
}

.vd-connected-icon {
    display: flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #22c55e;
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
}

.vd-connected-details {
    min-width: 0;
    flex: 1 1 auto;
}

.vd-connected-details strong,
.vd-connected-details span {
    display: block;
}

.vd-connected-details strong {
    margin-bottom: 3px;
    color: #14532d;
    font-size: 14px;
}

.vd-connected-details span {
    color: #64748b;
    font-size: 13px;
}

.vd-connected-details a {
    color: #168dcc;
    font-weight: 700;
    text-decoration: none;
}

.vd-open-telegram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #bae6fd;
    border-radius: 9px;
    background: #ffffff;
    color: #0369a1;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.vd-notification-section {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #edf2f7;
}

.vd-settings-form {
    margin-top: 16px;
}

.vd-setting-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 17px;
    border: 1px solid #e5ebf2;
    border-radius: 12px;
    background: #fbfdff;
    cursor: pointer;
}

.vd-setting-copy {
    min-width: 0;
}

.vd-setting-copy strong,
.vd-setting-copy small {
    display: block;
}

.vd-setting-copy strong {
    margin-bottom: 4px;
    color: #1e293b;
    font-size: 14px;
}

.vd-setting-copy small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.vd-switch {
    position: relative;
    display: inline-block;
    flex: 0 0 46px;
    width: 46px;
    height: 26px;
}

.vd-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.vd-switch-slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #cbd5e1;
    transition: background .2s ease;
}

.vd-switch-slider::before {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 5px rgba(15, 23, 42, .22);
    content: "";
    transition: transform .2s ease;
}

.vd-switch input:checked + .vd-switch-slider {
    background: #229ed9;
}

.vd-switch input:checked + .vd-switch-slider::before {
    transform: translateX(20px);
}

.vd-switch input:focus-visible + .vd-switch-slider {
    outline: 3px solid rgba(34, 158, 217, .22);
    outline-offset: 2px;
}

.vd-settings-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.vd-save-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 17px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #1e293b;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.vd-save-button:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.vd-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 22px;
    padding: 17px;
    border: 1px solid #fee2e2;
    border-radius: 12px;
    background: #fffafa;
}

.vd-danger-zone strong,
.vd-danger-zone small {
    display: block;
}

.vd-danger-zone strong {
    margin-bottom: 4px;
    color: #991b1b;
    font-size: 13px;
}

.vd-danger-zone small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.vd-danger-zone form {
    margin: 0;
}

.vd-disconnect-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #fecaca;
    border-radius: 9px;
    background: #ffffff;
    color: #dc2626;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.vd-disconnect-button:hover {
    border-color: #fca5a5;
    background: #fef2f2;
}

@media (max-width: 900px) {
    .vd-telegram-benefits {
        grid-template-columns: 1fr;
    }

    .vd-benefit-item {
        min-height: 0;
    }
}

@media (max-width: 650px) {
    .vd-telegram-header {
        flex-direction: column;
        padding: 20px;
    }

    .vd-telegram-state {
        padding: 20px;
    }

    .vd-telegram-brand {
        align-items: flex-start;
    }

    .vd-connected-banner,
    .vd-danger-zone {
        align-items: flex-start;
        flex-direction: column;
    }

    .vd-open-telegram,
    .vd-disconnect-button,
    .vd-telegram-primary-button {
        width: 100%;
    }

    .vd-setting-option {
        align-items: flex-start;
    }

    .vd-settings-actions {
        justify-content: stretch;
    }

    .vd-save-button {
        width: 100%;
    }
}


/* ==========================================================
   Modern secure customer login
   ========================================================== */

.login-modern{
    position:relative;
    overflow-x:hidden;
    padding:28px;
    background:
        radial-gradient(circle at 10% 15%,rgba(59,130,246,.28),transparent 30%),
        radial-gradient(circle at 90% 85%,rgba(14,165,233,.20),transparent 32%),
        linear-gradient(135deg,#06101f 0%,#0f2448 48%,#0b4ab7 100%);
}

.login-background-shape{
    position:fixed;
    border-radius:999px;
    pointer-events:none;
    filter:blur(2px);
    opacity:.38;
}

.login-shape-one{
    width:360px;
    height:360px;
    top:-150px;
    right:-100px;
    background:linear-gradient(135deg,#38bdf8,#2563eb);
}

.login-shape-two{
    width:290px;
    height:290px;
    bottom:-130px;
    left:-90px;
    background:linear-gradient(135deg,#2563eb,#06b6d4);
}

.login-container{
    position:relative;
    z-index:2;
    width:min(1080px,100%);
    min-height:680px;
    display:grid;
    grid-template-columns:1.02fr .98fr;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:30px;
    background:#fff;
    box-shadow:0 40px 100px rgba(2,8,23,.42);
}

.login-brand-panel{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:680px;
    padding:46px;
    color:#fff;
    overflow:hidden;
    background:
        linear-gradient(160deg,rgba(7,19,39,.96),rgba(14,65,155,.92)),
        linear-gradient(135deg,#071426,#2563eb);
}

.login-brand-panel:before{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    right:-230px;
    bottom:-180px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:50%;
    box-shadow:
        0 0 0 45px rgba(255,255,255,.035),
        0 0 0 90px rgba(255,255,255,.025);
}

.login-brand-content,
.login-mobile-brand{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
}

.login-main-logo{
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.32);
    border-radius:15px;
    background:linear-gradient(135deg,#60a5fa,#2563eb);
    box-shadow:0 12px 30px rgba(37,99,235,.35);
}

.login-main-logo span{
    color:#fff;
    font-size:18px;
    font-weight:900;
    letter-spacing:-.04em;
}

.login-brand-name{
    font-size:21px;
    font-weight:900;
    letter-spacing:-.02em;
}

.login-brand-type{
    margin-top:3px;
    color:#bfdbfe;
    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.login-welcome{
    position:relative;
    margin:auto 0 36px;
    max-width:470px;
}

.login-eyebrow{
    display:inline-flex;
    margin-bottom:18px;
    padding:8px 12px;
    border:1px solid rgba(191,219,254,.25);
    border-radius:999px;
    color:#bfdbfe;
    background:rgba(59,130,246,.14);
    font-size:11px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.login-welcome h1{
    margin:0;
    max-width:430px;
    font-size:42px;
    line-height:1.12;
    letter-spacing:-.045em;
}

.login-welcome p{
    max-width:455px;
    margin:20px 0 0;
    color:#cbdcf8;
    font-size:16px;
    line-height:1.7;
}

.login-features{
    position:relative;
    display:grid;
    gap:13px;
    margin-bottom:46px;
}

.login-feature{
    display:flex;
    align-items:center;
    gap:11px;
    color:#e0ecff;
    font-size:14px;
    font-weight:700;
}

.feature-icon{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border:1px solid rgba(147,197,253,.35);
    border-radius:50%;
    color:#dbeafe;
    background:rgba(37,99,235,.3);
    font-size:12px;
    font-weight:900;
}

.login-brand-footer{
    position:relative;
    color:#8eadd8;
    font-size:12px;
    font-weight:700;
}

.login-form-panel{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:46px 52px;
    background:linear-gradient(180deg,#fff,#f8fbff);
}

.login-form-wrapper{
    width:100%;
    max-width:410px;
}

.login-mobile-brand{
    display:none;
    margin-bottom:35px;
}

.login-heading{
    margin-bottom:25px;
}

.login-security-icon{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    margin-bottom:17px;
    border:1px solid #bfdbfe;
    border-radius:14px;
    color:#2563eb;
    background:#eff6ff;
}

.login-security-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.login-heading h2{
    margin:0;
    color:#0f172a;
    font-size:31px;
    letter-spacing:-.035em;
}

.login-heading p{
    margin:9px 0 0;
    color:#64748b;
    font-size:14px;
    line-height:1.6;
}

.login-alert{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-bottom:20px;
    padding:13px 14px;
    border:1px solid #fecaca;
    border-radius:12px;
    color:#991b1b;
    background:#fff1f2;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
}

.login-alert-icon{
    width:21px;
    height:21px;
    flex:0 0 21px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#dc2626;
    font-size:12px;
    font-weight:900;
}

.modern-login-form{
    display:grid;
    gap:18px;
}

.login-field label{
    display:block;
    margin-bottom:8px;
    color:#334155;
    font-size:13px;
    font-weight:800;
}

.login-input-wrap{
    position:relative;
}

.login-input-wrap input{
    height:50px;
    margin:0;
    padding:0 48px 0 46px;
    border:1px solid #d7e0ec;
    border-radius:12px;
    color:#0f172a;
    background:#fff;
    box-shadow:0 2px 5px rgba(15,23,42,.025);
    outline:none;
    transition:border-color .18s,box-shadow .18s,background .18s;
}

.login-input-wrap input::placeholder,
.captcha-row input::placeholder{
    color:#9aa8ba;
}

.login-input-wrap input:focus,
.captcha-row input:focus{
    border-color:#3b82f6;
    background:#fff;
    box-shadow:0 0 0 4px rgba(59,130,246,.12);
}

.login-input-icon{
    position:absolute;
    top:50%;
    left:16px;
    width:19px;
    height:19px;
    color:#64748b;
    transform:translateY(-50%);
    pointer-events:none;
}

.login-input-icon svg,
.password-toggle svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.password-toggle{
    position:absolute;
    top:50%;
    right:8px;
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    padding:9px;
    border:0;
    border-radius:9px;
    color:#64748b;
    background:transparent;
    transform:translateY(-50%);
}

.password-toggle:hover{
    color:#2563eb;
    background:#eff6ff;
}

.password-toggle .eye-closed{
    display:none;
}

.password-toggle.showing-password .eye-open{
    display:none;
}

.password-toggle.showing-password .eye-closed{
    display:block;
}

.captcha-row{
    display:grid;
    grid-template-columns:1fr 116px;
    gap:10px;
}

.captcha-question{
    height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 15px;
    border:1px dashed #93c5fd;
    border-radius:12px;
    background:#eff6ff;
}

.captcha-question span{
    color:#64748b;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.captcha-question strong{
    color:#1d4ed8;
    font-size:18px;
    letter-spacing:.04em;
}

.captcha-row input{
    width:100%;
    height:50px;
    margin:0;
    padding:0 12px;
    border:1px solid #d7e0ec;
    border-radius:12px;
    color:#0f172a;
    background:#fff;
    font-size:15px;
    text-align:center;
    outline:none;
}

.captcha-description{
    display:block;
    margin-top:7px;
    color:#94a3b8;
    font-size:11px;
    line-height:1.5;
}

.login-submit{
    position:relative;
    height:52px;
    margin-top:1px;
    padding:0 20px;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    box-shadow:0 12px 24px rgba(37,99,235,.25);
    transition:transform .15s,box-shadow .15s,opacity .15s;
}

.login-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 15px 28px rgba(37,99,235,.3);
}

.login-submit:disabled{
    cursor:not-allowed;
    opacity:.82;
    transform:none;
}

.login-spinner{
    display:none;
    width:20px;
    height:20px;
    margin:auto;
    border:2px solid rgba(255,255,255,.4);
    border-top-color:#fff;
    border-radius:50%;
    animation:login-spin .7s linear infinite;
}

.login-submit.is-loading .login-button-text{
    display:none;
}

.login-submit.is-loading .login-spinner{
    display:block;
}

@keyframes login-spin{
    to{transform:rotate(360deg)}
}

.login-support{
    display:flex;
    justify-content:center;
    gap:5px;
    margin-top:21px;
    color:#64748b;
    font-size:12px;
}

.login-support a{
    color:#2563eb;
    text-decoration:none;
    font-weight:800;
}

.login-support a:hover{
    text-decoration:underline;
}

.login-secure-footer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid #e5eaf1;
    color:#94a3b8;
    font-size:11px;
    font-weight:700;
}

.login-secure-footer svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

@media(max-width:900px){
    .login-modern{
        align-items:flex-start;
        padding:18px;
    }

    .login-container{
        display:block;
        width:min(520px,100%);
        min-height:auto;
        margin:auto;
        border-radius:24px;
    }

    .login-brand-panel{
        display:none;
    }

    .login-form-panel{
        min-height:auto;
        padding:40px 32px;
    }

    .login-mobile-brand{
        display:flex;
    }

    .login-mobile-brand .login-brand-name{
        color:#0f172a;
    }

    .login-mobile-brand .login-brand-type{
        color:#64748b;
    }
}

@media(max-width:520px){
    .login-modern{
        padding:10px;
    }

    .login-container{
        border-radius:20px;
    }

    .login-form-panel{
        padding:30px 22px;
    }

    .login-heading h2{
        font-size:27px;
    }

    .captcha-row{
        grid-template-columns:1fr 100px;
    }

    .login-support{
        flex-direction:column;
        align-items:center;
    }
}


/* ==========================================================
   VoIP Dubai Professional Admin Sidebar
   ========================================================== */

:root{
    --admin-sidebar-width:270px;
    --admin-sidebar-bg:#07111f;
    --admin-sidebar-bg-soft:#0d1b2d;
    --admin-sidebar-border:rgba(255,255,255,.08);
    --admin-sidebar-text:#d9e5f3;
    --admin-sidebar-muted:#7890aa;
    --admin-sidebar-accent:#2563eb;
    --admin-page-bg:#f3f7fc;
}

body.admin-with-sidebar{
    margin:0;
    min-height:100vh;
    padding-left:var(--admin-sidebar-width);
    background:var(--admin-page-bg);
}

body.admin-with-sidebar > .main{
    width:auto;
    max-width:none;
    margin:0;
    padding:26px;
}

/*
 * Hide the old duplicated navigation buttons.
 * Logout remains available in the sidebar.
 */
body.admin-with-sidebar .topbar .admin-top-actions,
body.admin-with-sidebar .topbar > a.logout-btn,
body.admin-with-sidebar .topbar > div:last-child > .secondary-btn,
body.admin-with-sidebar .topmenu{
    display:none !important;
}

.admin-sidebar{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    z-index:1200;
    display:flex;
    flex-direction:column;
    width:var(--admin-sidebar-width);
    overflow-y:auto;
    color:var(--admin-sidebar-text);
    background:
        radial-gradient(
            circle at 30px 20px,
            rgba(37,99,235,.24),
            transparent 190px
        ),
        linear-gradient(
            180deg,
            var(--admin-sidebar-bg-soft),
            var(--admin-sidebar-bg)
        );
    border-right:1px solid var(--admin-sidebar-border);
    box-shadow:12px 0 40px rgba(15,23,42,.11);
}

.admin-sidebar-brand{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:82px;
    padding:18px 20px;
    border-bottom:1px solid var(--admin-sidebar-border);
}

.admin-brand-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    flex:0 0 43px;
    color:#fff;
    background:linear-gradient(135deg,#2563eb,#60a5fa);
    border-radius:13px;
    box-shadow:0 10px 24px rgba(37,99,235,.35);
    font-size:15px;
    font-weight:900;
    letter-spacing:.4px;
}

.admin-brand-text{
    min-width:0;
}

.admin-brand-text strong{
    display:block;
    color:#fff;
    font-size:16px;
    line-height:1.25;
}

.admin-brand-text span{
    display:block;
    margin-top:3px;
    color:var(--admin-sidebar-muted);
    font-size:11px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.admin-sidebar-close{
    display:none;
    position:absolute;
    top:20px;
    right:15px;
    width:34px;
    height:34px;
    padding:0;
    color:#fff;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.admin-sidebar-navigation{
    flex:1;
    padding:18px 12px;
}

.admin-menu-label{
    margin:19px 11px 8px;
    color:#607a96;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.admin-menu-label:first-child{
    margin-top:2px;
}

.admin-menu-link{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:58px;
    margin:5px 0;
    padding:10px 12px;
    color:#b8cadc;
    border:1px solid transparent;
    border-radius:12px;
    text-decoration:none;
    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.admin-menu-link:hover{
    color:#fff;
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.06);
    transform:translateX(2px);
}

.admin-menu-link.active{
    color:#fff;
    background:linear-gradient(
        90deg,
        rgba(37,99,235,.30),
        rgba(37,99,235,.12)
    );
    border-color:rgba(96,165,250,.24);
    box-shadow:inset 3px 0 0 #60a5fa;
}

.admin-menu-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:35px;
    height:35px;
    flex:0 0 35px;
    color:#aac6e6;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.07);
    border-radius:10px;
    font-size:17px;
    font-weight:900;
}

.admin-menu-link.active .admin-menu-icon{
    color:#fff;
    background:#2563eb;
    border-color:#3b82f6;
    box-shadow:0 8px 20px rgba(37,99,235,.28);
}

.admin-menu-link > span:last-child{
    min-width:0;
}

.admin-menu-link strong{
    display:block;
    color:inherit;
    font-size:13px;
    font-weight:800;
    line-height:1.3;
}

.admin-menu-link small{
    display:block;
    overflow:hidden;
    margin-top:3px;
    color:#718aa5;
    font-size:10px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.admin-menu-link.active small{
    color:#a8c7ee;
}

.admin-sidebar-footer{
    padding:14px;
    border-top:1px solid var(--admin-sidebar-border);
}

.admin-session-card{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    padding:11px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
}

.admin-session-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    width:35px;
    height:35px;
    flex:0 0 35px;
    color:#fff;
    background:#1e3a5f;
    border-radius:50%;
    font-size:13px;
    font-weight:900;
}

.admin-session-card strong{
    display:block;
    color:#e7f0f9;
    font-size:12px;
}

.admin-session-card span{
    display:block;
    margin-top:2px;
    color:#718aa5;
    font-size:10px;
}

.admin-sidebar-logout{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    box-sizing:border-box;
    padding:11px 14px;
    color:#fecaca;
    background:rgba(220,38,38,.11);
    border:1px solid rgba(248,113,113,.19);
    border-radius:10px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    transition:.18s ease;
}

.admin-sidebar-logout:hover{
    color:#fff;
    background:#dc2626;
    border-color:#dc2626;
}

.admin-sidebar-copyright{
    margin-top:13px;
    color:#4f6781;
    font-size:9px;
    text-align:center;
}

.admin-mobile-menu-button{
    display:none;
    position:fixed;
    top:14px;
    left:14px;
    z-index:1100;
    width:44px;
    height:44px;
    padding:0;
    color:#fff;
    background:#0f172a;
    border:0;
    border-radius:11px;
    box-shadow:0 8px 24px rgba(15,23,42,.28);
    font-size:22px;
    cursor:pointer;
}

.admin-sidebar-overlay{
    display:none;
    position:fixed;
    inset:0;
    z-index:1150;
    background:rgba(2,6,23,.58);
    backdrop-filter:blur(2px);
}

body.admin-with-sidebar .topbar{
    border-radius:14px;
    box-shadow:0 1px 3px rgba(15,23,42,.05);
}

body.admin-with-sidebar .panel,
body.admin-with-sidebar .card{
    border:1px solid #e1e9f3;
    box-shadow:0 8px 25px rgba(15,23,42,.045);
}

@media(max-width:900px){
    body.admin-with-sidebar{
        padding-left:0;
    }

    body.admin-with-sidebar > .main{
        padding:72px 14px 20px;
    }

    .admin-mobile-menu-button{
        display:block;
    }

    .admin-sidebar{
        width:min(290px,86vw);
        transform:translateX(-105%);
        transition:transform .22s ease;
        box-shadow:20px 0 50px rgba(2,6,23,.30);
    }

    .admin-sidebar.is-open{
        transform:translateX(0);
    }

    .admin-sidebar-close{
        display:block;
    }

    .admin-sidebar-overlay.is-visible{
        display:block;
    }

    body.admin-menu-open{
        overflow:hidden;
    }
}

/* ==========================================================
   Premium Admin Sidebar Typography Polish
   ========================================================== */

body.admin-with-sidebar,
body.admin-with-sidebar input,
body.admin-with-sidebar select,
body.admin-with-sidebar button,
body.admin-with-sidebar textarea{
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.admin-brand-text strong{
    color:#ffffff;
    font-size:15px;
    font-weight:800;
    letter-spacing:-.15px;
}

.admin-brand-text span{
    color:#7f92aa;
    font-size:10px;
    font-weight:700;
    letter-spacing:.13em;
}

.admin-menu-label{
    color:#64748b;
    font-size:10px;
    font-weight:800;
    letter-spacing:.15em;
}

.admin-menu-link{
    color:#cbd5e1;
}

.admin-menu-link strong{
    color:#eaf1f8;
    font-size:13px;
    font-weight:750;
    letter-spacing:-.05px;
}

.admin-menu-link small{
    color:#8092a8;
    font-size:10px;
    font-weight:500;
}

.admin-menu-link:hover{
    color:#ffffff;
    background:rgba(255,255,255,.065);
}

.admin-menu-link:hover strong{
    color:#ffffff;
}

.admin-menu-link:hover small{
    color:#b8c7d9;
}

.admin-menu-link.active{
    color:#ffffff;
    background:linear-gradient(
        90deg,
        rgba(37,99,235,.30),
        rgba(37,99,235,.10)
    );
    border-color:rgba(96,165,250,.28);
    box-shadow:
        inset 3px 0 0 #60a5fa,
        0 8px 20px rgba(2,6,23,.12);
}

.admin-menu-link.active strong{
    color:#ffffff;
    font-weight:800;
}

.admin-menu-link.active small{
    color:#c7d2fe;
}

.admin-menu-icon{
    color:#a9bdd2;
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.07);
}

.admin-menu-link:hover .admin-menu-icon{
    color:#ffffff;
    background:rgba(255,255,255,.09);
}

.admin-menu-link.active .admin-menu-icon{
    color:#ffffff;
    background:#2563eb;
    border-color:#3b82f6;
    box-shadow:0 8px 18px rgba(37,99,235,.30);
}

.admin-session-card{
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.075);
}

.admin-session-card strong{
    color:#ffffff;
    font-size:12px;
    font-weight:800;
}

.admin-session-card span{
    position:relative;
    padding-left:12px;
    color:#9fb0c3;
    font-size:10px;
    font-weight:600;
}

.admin-session-card span::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:6px;
    height:6px;
    margin-top:-3px;
    background:#22c55e;
    border-radius:50%;
    box-shadow:0 0 0 3px rgba(34,197,94,.12);
}

.admin-sidebar-logout{
    color:#fecaca;
    font-size:12px;
    font-weight:800;
    letter-spacing:.01em;
}

.admin-sidebar-logout:hover{
    color:#ffffff;
    background:#dc2626;
    border-color:#dc2626;
}

.admin-sidebar-copyright{
    color:#526982;
    font-size:9px;
    font-weight:600;
    letter-spacing:.02em;
}

