/* ==========================================================
   TECHMINEHUB THEME v3
   PART 1
   RESET / ROOT / BODY / BACKGROUND / LAYOUT
========================================================== */

:root{

    --bg:#050b16;
    --bg2:#09121f;

    --card:#101826;
    --card2:#162233;

    --border:#22344d;

    --blue:#2d8cff;
    --blue2:#5ab6ff;

    --green:#22d36e;
    --red:#ff5b5b;

    --text:#ffffff;
    --muted:#8ea7c5;

    --radius:18px;

}

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;

    background:#050b16;

    color:#fff;

    overflow-x:hidden;

    min-height:100vh;

    position:relative;

}

/* ================= BACKGROUND ================= */

body::before{

    content:"";

    position:fixed;

    inset:0;

    z-index:-2;

    background:

    radial-gradient(circle at 15% 10%,rgba(59,130,246,.28),transparent 30%),

    radial-gradient(circle at 85% 15%,rgba(124,58,237,.16),transparent 28%),

    radial-gradient(circle at 50% 95%,rgba(14,165,233,.12),transparent 35%),

    linear-gradient(180deg,#050b16,#09121f);

}

body::after{

    content:"";

    position:fixed;

    inset:0;

    z-index:-1;

    background-image:

    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

    background-size:60px 60px;

    opacity:.18;

    pointer-events:none;

}

/* ================= LINKS ================= */

a{

    color:#5ab6ff;

    text-decoration:none;

    transition:.25s;

}

a:hover{

    color:#89ccff;

}

/* ================= CONTAINER ================= */

.container,

.container-fluid{

    max-width:1500px;

    margin:auto;

    padding-left:20px;

    padding-right:20px;

}

/* ================= PAGE ================= */

.page{

    padding:25px 0;

}

/* ================= HEADINGS ================= */

h1{

    font-size:34px;

    font-weight:800;

    color:#fff;

}

h2{

    font-size:26px;

    font-weight:700;

    color:#fff;

}

h3{

    font-size:20px;

    font-weight:700;

}

h4{

    font-size:17px;

    font-weight:700;

}

p{

    color:var(--muted);

    line-height:1.7;

}

/* ================= CARDS ================= */

.card{

    background:linear-gradient(180deg,var(--card),var(--card2));

    border:1px solid rgba(90,182,255,.10);

    border-radius:18px;

    overflow:hidden;

    box-shadow:

    0 12px 35px rgba(0,0,0,.35);

    transition:.25s;

}

.card:hover{

    transform:translateY(-3px);

    border-color:#2d8cff;

    box-shadow:

    0 15px 40px rgba(0,0,0,.45),

    0 0 18px rgba(45,140,255,.18);

}

.card-header{

    background:transparent;

    border-bottom:1px solid rgba(255,255,255,.06);

    padding:18px 22px;

    font-weight:700;

    color:#fff;

}

.card-body{

    padding:22px;

}

.card-footer{

    border-top:1px solid rgba(255,255,255,.06);

    background:transparent;

    padding:18px 22px;

}

/* ================= SHADOW ================= */

.shadow{

    box-shadow:

    0 10px 30px rgba(0,0,0,.30);

}

/* ================= SCROLLBAR ================= */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#08101d;

}

::-webkit-scrollbar-thumb{

    background:#2d8cff;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#60b6ff;

}

/* ==========================================================
   TECHMINEHUB THEME v3
   PART 2
   HEADER / NAVBAR / MENU
========================================================== */

/* ================= HEADER ================= */

header{

    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(8,15,28,.82);

    backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(255,255,255,.05);

}

/* ================= NAVBAR ================= */

.navbar{

    max-width:1500px;

    margin:auto;

    height:72px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 20px;

}

/* ================= LOGO ================= */

.navbar-brand{

    display:flex;

    align-items:center;

    gap:14px;

    color:#fff;

    text-decoration:none;

    font-weight:800;

    font-size:24px;

}

.navbar-brand img{

    width:42px;

    height:42px;

    object-fit:contain;

}

.navbar-brand i{

    font-size:34px;

    color:#4ea3ff;

    filter:drop-shadow(0 0 12px rgba(78,163,255,.45));

}

.navbar-brand small{

    display:block;

    font-size:11px;

    font-weight:500;

    color:#8ea7c5;

    margin-top:2px;

}

/* ================= MENU ================= */

.navbar-nav{

    display:flex;

    align-items:center;

    gap:8px;

    list-style:none;

}

.navbar-nav li{

    list-style:none;

}

.navbar-nav a{

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 16px;

    border-radius:12px;

    color:#d8e4f5;

    text-decoration:none;

    font-size:14px;

    font-weight:600;

    transition:.25s;

}

.navbar-nav a:hover{

    background:rgba(45,140,255,.12);

    color:#fff;

}

.navbar-nav .active>a{

    background:#2d8cff;

    color:#fff;

}

/* ================= DROPDOWN ================= */

.dropdown-menu{

    background:#101826;

    border:1px solid rgba(255,255,255,.06);

    border-radius:14px;

    padding:10px;

    box-shadow:

    0 20px 45px rgba(0,0,0,.45);

}

.dropdown-menu a{

    border-radius:10px;

    padding:10px 14px;

}

.dropdown-menu a:hover{

    background:#1b2a42;

}

/* ================= BUTTONS ================= */

.btn{

    border-radius:12px;

    padding:10px 18px;

    font-weight:700;

    transition:.25s;

}

.btn-primary{

    background:#2d8cff;

    border:none;

    color:#fff;

}

.btn-primary:hover{

    background:#4ea3ff;

    box-shadow:

    0 10px 25px rgba(45,140,255,.35);

}

.btn-outline-primary{

    border:1px solid rgba(45,140,255,.35);

    color:#5ab6ff;

    background:transparent;

}

.btn-outline-primary:hover{

    background:#2d8cff;

    color:#fff;

}

/* ================= BADGES ================= */

.badge{

    padding:6px 12px;

    border-radius:20px;

    font-size:11px;

    font-weight:700;

    letter-spacing:.5px;

}

.badge-success{

    background:rgba(34,211,110,.15);

    color:#2df598;

}

.badge-danger{

    background:rgba(255,91,91,.12);

    color:#ff8b8b;

}

.badge-primary{

    background:rgba(45,140,255,.15);

    color:#7fc4ff;

}

/* ==========================================================
   TECHMINEHUB THEME v3
   PART 3
   TABLES / FORMS / STATS
========================================================== */

/* ================= TABLES ================= */

.table{

    width:100%;

    border-collapse:collapse;

    background:linear-gradient(180deg,#101826,#162233);

    border-radius:18px;

    overflow:hidden;

    border:1px solid rgba(90,182,255,.08);

}

.table thead{

    background:#162235;

}

.table thead th{

    padding:16px;

    color:#7fc4ff;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.table tbody td{

    padding:15px 16px;

    border-bottom:1px solid rgba(255,255,255,.04);

    color:#dce8f8;

    font-size:14px;

}

.table tbody tr{

    transition:.20s;

}

.table tbody tr:hover{

    background:rgba(45,140,255,.08);

}

/* ================= FORMS ================= */

.form-control{

    height:46px;

    border-radius:12px;

    background:#101826;

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    transition:.25s;

}

.form-control:focus{

    background:#101826;

    color:#fff;

    border-color:#2d8cff;

    box-shadow:

    0 0 0 3px rgba(45,140,255,.18);

}

.form-select{

    height:46px;

    border-radius:12px;

    background:#101826;

    color:#fff;

    border:1px solid rgba(255,255,255,.08);

}

.form-select:focus{

    border-color:#2d8cff;

    box-shadow:

    0 0 0 3px rgba(45,140,255,.18);

}

input::placeholder{

    color:#7e94b3;

}

/* ================= STAT CARDS ================= */

.stats-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:18px;

}

.stat-card{

    background:linear-gradient(180deg,#111b2a,#172336);

    border:1px solid rgba(255,255,255,.05);

    border-radius:16px;

    padding:18px;

    transition:.25s;

}

.stat-card:hover{

    transform:translateY(-3px);

    border-color:#2d8cff;

    box-shadow:

    0 12px 30px rgba(45,140,255,.18);

}

.stat-title{

    color:#8ea7c5;

    font-size:13px;

    margin-bottom:8px;

}

.stat-value{

    font-size:28px;

    font-weight:800;

    color:#fff;

}

.stat-icon{

    width:48px;

    height:48px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:14px;

    background:rgba(45,140,255,.12);

    color:#5ab6ff;

    font-size:20px;

    margin-bottom:14px;

}

/* ================= ALERTS ================= */

.alert{

    border:none;

    border-radius:14px;

    padding:16px 18px;

}

.alert-success{

    background:rgba(34,211,110,.12);

    color:#2df598;

}

.alert-danger{

    background:rgba(255,91,91,.12);

    color:#ff8b8b;

}

.alert-warning{

    background:rgba(255,197,41,.12);

    color:#ffd866;

}

/* ================= PAGINATION ================= */

.pagination{

    gap:8px;

}

.page-link{

    border:none;

    border-radius:10px;

    background:#101826;

    color:#7fc4ff;

    padding:10px 14px;

}

.page-link:hover{

    background:#2d8cff;

    color:#fff;

}

.page-item.active .page-link{

    background:#2d8cff;

    color:#fff;

}

/* ================= LOADING ================= */

@keyframes pulseGlow{

    0%{

        opacity:.6;

    }

    50%{

        opacity:1;

    }

    100%{

        opacity:.6;

    }

}

.loading{

    animation:pulseGlow 1.3s infinite;

}

/* ==========================================================
   TECHMINEHUB THEME v3
   PART 4
   FOOTER / RESPONSIVE / UTILITIES
========================================================== */

/* ================= FOOTER ================= */

footer{

    margin-top:50px;

    padding:25px 0;

    border-top:1px solid rgba(255,255,255,.05);

    color:#8ea7c5;

    font-size:13px;

}

.footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.footer a{

    color:#5ab6ff;

}

.footer a:hover{

    color:#9fd6ff;

}

/* ================= ICONS ================= */

.icon-box{

    width:42px;

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:12px;

    background:rgba(45,140,255,.12);

    color:#5ab6ff;

}

/* ================= LIST GROUP ================= */

.list-group{

    border-radius:16px;

    overflow:hidden;

}

.list-group-item{

    background:#101826;

    color:#dce8f8;

    border-color:rgba(255,255,255,.05);

}

.list-group-item:hover{

    background:#162235;

}

/* ================= MODAL ================= */

.modal-content{

    background:#101826;

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    color:#fff;

}

.modal-header{

    border-bottom:1px solid rgba(255,255,255,.05);

}

.modal-footer{

    border-top:1px solid rgba(255,255,255,.05);

}

/* ================= TOOLTIP ================= */

.tooltip-inner{

    background:#101826;

    color:#fff;

    border:1px solid rgba(45,140,255,.20);

}

/* ================= BADGES ================= */

.badge-online{

    background:rgba(34,211,110,.12);

    color:#2df598;

    border:1px solid rgba(34,211,110,.30);

}

.badge-offline{

    background:rgba(255,91,91,.12);

    color:#ff8b8b;

    border:1px solid rgba(255,91,91,.25);

}

/* ================= ANIMATIONS ================= */

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-3px);

    }

    100%{

        transform:translateY(0);

    }

}

.float{

    animation:floatCard 4s ease-in-out infinite;

}

@keyframes pulseBlue{

    0%{

        box-shadow:0 0 0 rgba(45,140,255,.0);

    }

    50%{

        box-shadow:0 0 20px rgba(45,140,255,.30);

    }

    100%{

        box-shadow:0 0 0 rgba(45,140,255,.0);

    }

}

.pulse{

    animation:pulseBlue 2s infinite;

}

/* ================= UTILITIES ================= */

.text-blue{

    color:#5ab6ff;

}

.text-green{

    color:#2df598;

}

.text-red{

    color:#ff8b8b;

}

.text-muted{

    color:#8ea7c5 !important;

}

.bg-card{

    background:#101826;

}

.rounded-xl{

    border-radius:18px;

}

.shadow-blue{

    box-shadow:0 0 25px rgba(45,140,255,.18);

}

/* ================= RESPONSIVE ================= */

@media(max-width:1200px){

    .container,
    .container-fluid{

        max-width:100%;

    }

    .navbar{

        height:auto;

        padding:15px;

        flex-wrap:wrap;

    }

    .navbar-nav{

        flex-wrap:wrap;

        justify-content:center;

    }

}

@media(max-width:768px){

    h1{

        font-size:28px;

    }

    h2{

        font-size:22px;

    }

    .card-header{

        padding:14px 16px;

    }

    .card-body{

        padding:16px;

    }

    .table{

        font-size:13px;

    }

    .footer{

        flex-direction:column;

        text-align:center;

    }

    .stats-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:480px){

    .navbar-brand{

        font-size:18px;

    }

    .navbar-brand img{

        width:34px;

        height:34px;

    }

    .btn{

        width:100%;

    }

    .table thead{

        display:none;

    }

    .table tbody td{

        display:block;

        width:100%;

    }

}

/* =====================================================
   CENTER CONTENT LAYOUT
=====================================================*/

.dashboard-container-main{

    position:relative;

    max-width:1150px !important;

    margin:0 auto;

    transition:.25s;

}

/* Large monitors */

@media(min-width:1600px){

    .dashboard-container-main{

        max-width:1180px !important;

    }

}

/* Desktop */

@media(max-width:1599px){

    .dashboard-container-main{

        max-width:1080px !important;

    }

}

/* Laptop */

@media(max-width:1400px){

    .dashboard-container-main{

        max-width:980px !important;

    }

}

/* Tablet */

@media(max-width:1199px){

    .dashboard-container-main{

        max-width:100% !important;

    }

}

/* ==========================================
   NAVBAR
========================================== */

.custom-navbar .navbar-collapse{

    justify-content:flex-start;

}

.navbar-menu{

    display:flex;

    align-items:center;

    gap:12px;

    margin-left:40px;

}

.navbar-menu .nav-link{

    padding:10px 16px;

    border-radius:10px;

    color:#c8d7ea;

    font-weight:600;

    transition:.25s;

}

.navbar-menu .nav-link:hover{

    color:#fff;

    background:rgba(45,140,255,.12);

}

.navbar-menu .nav-link.active{

    background:#2d8cff;

    color:#fff;

    box-shadow:0 8px 22px rgba(45,140,255,.30);

}

/* ==========================================
   NAVBAR
========================================== */

.custom-navbar .navbar-collapse{

    display:flex;

    align-items:center;

}

.main-site-link{

    width:180px;

    display:flex;

    align-items:center;

    gap:8px;

    text-decoration:none;

    color:#8ec5ff;

    font-weight:700;

    transition:.25s;

}

.main-site-link:hover{

    color:#ffffff;

}

.navbar-menu{

    display:flex;

    gap:10px;

}

.navbar-menu .nav-link{

    padding:10px 18px;

    border-radius:10px;

    color:#cfd9e8;

    font-weight:600;

    transition:.25s;

}

.navbar-menu .nav-link:hover{

    background:rgba(45,140,255,.12);

    color:#fff;

}

.navbar-menu .nav-link.active{

    background:#2d8cff;

    color:#fff;

    box-shadow:0 8px 20px rgba(45,140,255,.25);

}