* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;

    background: #08090b;

    color: white;
}
/* MAIN WRAPPER */

.admin-wrapper{

    display:flex;

    min-height:100vh;

    padding-top:70px;

}


/* SIDEBAR */


.sidebar{

    width:300px;

    background:#08090b;

    height:calc(100vh - 70px);

    position:fixed;

    top:70px;

    left:0;

    overflow-y:auto;

    padding:25px 15px;

}

/* Chrome scrollbar */

.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-track {
    background: #08090b;
}

.sidebar::-webkit-scrollbar-thumb {
    background: #444;

    border-radius: 10px;
}

.logo {
    font-size: 24px;

    font-weight: bold;

    margin-bottom: 45px;

    padding-left: 12px;
}

.admin-menu ul {
    list-style: none;
}

.admin-menu li {
    margin-bottom: 5px;
}

.admin-menu a,
.logout-btn {
    display: flex;

    align-items: center;

    gap: 15px;

    width: 100%;

    padding: 13px 12px;

    color: #c7c7c7;

    text-decoration: none;

    border: none;

    background: none;

    font-size: 15px;

    border-radius: 8px;

    cursor: pointer;
}

.admin-menu a:hover,
.logout-btn:hover {
    background: #1c1d20;

    color: white;
}

.admin-menu a.active {
    background: #27272a;

    color: #9BA5FF;

    border-left: 4px solid #9BA5FF;
}

.admin-menu a.active i {
    color: #9BA5FF;
}

.section-title {
    color: #999;

    font-size: 13px;

    margin-top: 25px;

    padding: 10px;
}

/* SUB MENU */

.submenu {
    list-style: none;

    padding-left: 20px;

    display: none;
}

.has-submenu.open > .submenu {
    display: block;
}

.submenu a {
    font-size: 14px;
}

.has-submenu > a span {
    margin-left: auto;

    transition: 0.3s;
}

.has-submenu.open > a span {
    transform: rotate(180deg);
}

.submenu li a {
    padding: 10px 15px;

    margin-left: 10px;

    font-size: 14px;

    color: #9ca3af;

    border-radius: 6px;
}

.submenu li a:hover {
    color: white;

    background: #1c1d20;
}


/* CONTENT */

.admin-main{

    margin-left:300px;

    width:calc(100% - 300px);

}

/* HEADER */

.topbar{

    height:70px;

    width:100%;

    background:#18181B;

    border-bottom:1px solid #252525;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 35px;

    position:fixed;

    top:0;

    left:0;

    z-index:1000;

}

.top-logo{

    font-size:24px;

    font-weight:bold;

}
.top-right{

    display:flex;

    align-items:center;

    gap:25px;

}


.search-box{

    width:245px;

    height:38px;

    border:1px solid #444;

    border-radius:8px;

    display:flex;

    align-items:center;

    gap:10px;

    padding:0 12px;

}

.search-box input{

    background:none;

    border:none;

    outline:none;

    color:white;

    width:100%;

}
.avatar{

    width:38px;

    height:38px;

    border-radius:50%;

    background:#050505;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:bold;

}

/* CONTENT */

.content {
    padding: 35px;
}

.content h1 {
    font-size: 34px;

    margin-bottom: 35px;
}

/* DASHBOARD CARDS */

.dashboard-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
}

.dashboard-card {
    background: #18191c;

    border: 1px solid #292929;

    border-radius: 12px;

    padding: 25px;
}

.dashboard-card h3 {
    margin-bottom: 10px;
}

/* DASHBOARD WELCOME CARD */

.welcome-card {
    display: flex;

    justify-content: space-between;

    align-items: center;
}

/* LEFT SIDE */

.welcome-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.welcome-text h3 {
    font-size: 22px;
    margin-bottom: 2px;
}

.welcome-text p {
    color: #a1a1aa;

    font-size: 15px;
}

/* RIGHT SIDE */

.logout-right {
    display: flex;

    align-items: center;
}

i {
    color: oklch(0.55 0.02 285.94);
}

.logout-right .logout-btn {
    display: flex;

    align-items: center;

    gap: 10px;

    background: #27272a;

    border: 1px solid #3f3f46;

    color: white;

    padding: 12px 20px;

    border-radius: 8px;
}

.logout-right .logout-btn i {
    color: oklch(0.55 0.02 285.94);
}

.logout-right .logout-btn:hover {
    background: #1c1d20;
}

/* DATA TABLE */

.dataTables_wrapper{
    background:#18181B;
    color:#fff;
    padding:10px;
    border-radius:20px;
    margin-top:20px;
}

.dataTables_length{

    margin-bottom:15px;

}

.dataTables_filter{

    margin-bottom:25px;

}

.dataTables_filter label{

    color:white;

}

.dataTables_filter input{

     width:180px;

    height:35px;

    border:1px solid #3a3a3a !important;

    border-radius:10px !important;

    background:#1d1d20 !important;

    color:#fff !important;

    padding:0 15px !important;

    outline:none;

}

.dataTables_filter input:focus{

    border-color:#9BA5FF !important;

    box-shadow:none !important;

}

.dataTables_length select{

    background:#1d1d20;

    color:#fff;

    border:1px solid #444;

    padding:6px;

    border-radius:6px;

}

.dataTables_info{

    color:#ddd;

    margin-top:15px;

}

.dataTables_paginate{

    margin-top:15px;

}

.dataTables_paginate .paginate_button{

    color:#fff !important;

    background:#1d1d20 !important;

    border:1px solid #333 !important;

    border-radius:6px;

    margin-left:4px;

}

.dataTables_paginate .paginate_button.current{

    background:#9BA5FF !important;

    color:#fff !important;

}

.dataTables_paginate .paginate_button:hover{

    background:#333 !important;

    color:#fff !important;

}

table.dataTable{

    border-collapse:collapse;

}

table.dataTable thead{

    background:#18191c;

}

table.dataTable tbody tr{

    background:#111214;

}

table.dataTable tbody tr:hover{
    background:#202124;
}

.table-responsive{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
}

.table-responsive::-webkit-scrollbar{
    height:8px;
}

.table-responsive::-webkit-scrollbar-thumb{
    background:#555;
    border-radius:20px;
}

.table-responsive::-webkit-scrollbar-track{
    background:#18181B;
}


/* Action Buttons */

.action-buttons{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:35px;

}

.btn-icon{

    width:38px;

    height:38px;

    display:flex;
    
    font-size:16px;
    
    align-items:center;

    justify-content:center;

    text-decoration:none;

    border:none;

    cursor:pointer;
    
    gap:8px;

}

.edit-btn,
.edit-btn i,
.edit-btn span{
    color:#9CA6FF !important;
}

.delete-btn, .delete-btn i{
    color:#EF4444;
    background:none !important;
}

.btn-icon i{
    font-size:16px;
}


/* Login Page */

.login-wrapper{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;

}

.login-card{

    width:500px;

    background:#18181B;

    border:1px solid #2d2d30;

    border-radius:18px;

    padding:45px;

    box-shadow:0 15px 35px rgba(0,0,0,.35);

}

.logo{

    text-align:center;

    font-size:1.25rem;

    margin-bottom:15px;

    font-weight:700;

}

.login-card h1{

    text-align:center;

    margin-bottom:30px;

    font-size:1.5rem;

}

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-size:15px;

    font-weight:600;

}

.form-group span{

    color:#ff5d5d;

}

.form-group input,
.form-group select{

    width:100%;

    height:35px;

    background:#18181B;

    border:1px solid #3c4655;

    border-radius:10px;

    color:White;

    padding:0 15px;

    outline:none;

    font-size:15px;

}

.form-group input:focus,
.form-group select:focus{

    border-color:#2F3B48;

}

.password-box{

    position:relative;

}

.password-box input{

    padding-right:55px;

}

.password-box button{

    position:absolute;

    top:50%;

    right:15px;

    transform:translateY(-50%);

    background:none;

    border:none;

    color:White;

    cursor:pointer;

    font-size:18px;

}

.password-box button:hover{

    color:#2F3B48;

}

.remember{

    margin:18px 0 28px;

}

.remember label{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:15px;

    color:#d1d5db;

}

.remember input{

    width:18px;

    height:18px;

}

.login-btn{

    width:100%;

    height:52px;

    border:none;

    border-radius:10px;

    background:#585DB4;

    color:white;

    font-size:17px;

    cursor:pointer;

    font-weight:600;

    transition:.3s;

}

.login-btn:hover{

    background:#686EB9;

}

.error{

    margin-top:20px;

    text-align:center;

    color:#ff6b6b;

    background:#311818;

    padding:12px;

    border-radius:8px;

}


/* nav bar profile button */

.profile{
    position:relative;
    cursor:pointer;
}

.profile-menu{
    position:absolute;
    top:45px;
    right:0;
    width:220px;
    background:#18181B;
    border:1px solid #2d2d30;
    border-radius:10px;
    display:none;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.4);
    z-index:9999;
}

.profile-menu.show{
    display:block;
}

.profile-header{
    display:flex;
    align-items:center;
    gap:12px;
    padding:18px;
}

.profile-header i{
    font-size:16px;
    color:oklch(0.55 0.02 285.94);
}

.profile-header h4{
    margin:0;
    color:#fff;
    font-size:15px;
}

.profile-header span{
    color:#9ca3af;
    font-size:13px;
}

.profile-divider{
    height:1px;
    background:#2d2d30;
}

.theme-switch{
    display:flex;
    justify-content:center;
    gap:10px;
    padding:15px;
}

.theme-btn{
    width:48px;
    height:38px;
    border:none;
    border-radius:8px;
    background:#222;
    color:#aaa;
    cursor:pointer;
    transition:.3s;
}

.theme-btn:hover{
    background:#333;
}

.theme-btn.active{
    background:#2d2d30;
    color:#9BA5FF;
}

.logout-item{
    width:100%;
    border:none;
    background:none;
    color:#fff;
    text-align:left;
    padding:15px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
    font-size:15px;
}

.logout-item:hover{
    background:#222;
}

.logout-item i{
    color:oklch(0.55 0.02 285.94);
}


/* Edit Page */

.form-card{

    max-width:1000px;

    margin:auto;

    background:#18181B;

    border:1px solid #2b2b30;

    border-radius:16px;

    padding:35px;

}

.form-header{

    margin-bottom:30px;

    border-bottom:1px solid #2b2b30;

    padding-bottom:18px;

}

.form-header h2{

    font-size:28px;

    color:#fff;

}

.form-group{

    margin-bottom:25px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    color:#d4d4d8;

    font-weight:600;

    font-size:15px;

}

.form-group input[type=text],

.form-group input[type=file],

.form-group textarea{

    width:100%;

    background:#111214;

    border:1px solid #34343a;

    color:#fff;

    padding:12px 15px;

    border-radius:10px;

    outline:none;

    transition:.3s;

    font-size:15px;

}

.form-group textarea{

    min-height:220px;

    resize:vertical;

}

.form-group input:focus,

.form-group textarea:focus{

    border-color:#9BA5FF;

    box-shadow:0 0 0 3px rgba(155,165,255,.18);

}

input[type=file]{

    cursor:pointer;

}

input[type=file]::file-selector-button{

    background:#585DB4;

    color:#fff;

    border:none;

    padding:10px 18px;

    border-radius:8px;

    margin-right:15px;

    cursor:pointer;

}

input[type=file]::file-selector-button:hover{

    background:#6c71d7;

}

.checkbox-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}

.checkbox-item{

    display:flex;

    align-items:center;

    gap:12px;

    background:#111214;

    border:1px solid #2f2f35;

    border-radius:10px;

    padding:12px;

    cursor:pointer;

    transition:.3s;

}

.checkbox-item:hover{

    border-color:#9BA5FF;

    background:#1d1d20;

}

.checkbox-item input{

    width:18px;

    height:18px;

}

.checkbox-item span{

    color:#ddd;

}

.file-upload{
    display:flex;
    align-items:center;
    gap:18px;
    padding:10px;
    border:1px solid #34343a;
    border-radius:12px;
    background:#111214;
    margin-top:20px;
    margin-bottom:20px;
}

.file-upload input{
    display:none;
}

.file-label{
    background:#585DB4;
    color:#fff;
    padding:8px 14px;
    border-radius:8px;
    font-size:14px;
    cursor:pointer;
    transition:.3s;
    white-space:nowrap;
}

.file-label:hover{
    background:#7075d8;
}

.file-upload span{
    color:#bbb;
    font-size:14px;
}

/* CKEditor */

.ck-editor {
    width: 100% !important;
}

.ck-editor__main {
    background: #111214 !important;
}

.ck-editor__editable {
    min-height: 300px !important;
    background: #111214 !important;
    color: #fff !important;
    border: none !important;
}

.ck.ck-editor__main > .ck-editor__editable {
    background: #111214 !important;
}

.ck.ck-toolbar {
    background: #1b1c1f !important;
    border: 1px solid #34343a !important;
}

.ck.ck-toolbar .ck-button {
    color: #ddd !important;
}

.ck.ck-toolbar .ck-button:hover {
    background: #2b2d31 !important;
}

.ck.ck-toolbar .ck-button.ck-on {
    background: #585DB4 !important;
    color: #fff !important;
}

.ck.ck-dropdown__panel {
    background: #1b1c1f !important;
    color: white !important;
}

.ck.ck-list {
    background: #1b1c1f !important;
}

.ck.ck-list__item .ck-button {
    color: white !important;
}

.ck.ck-list__item .ck-button:hover {
    background: #2b2d31 !important;
}

.save-btn{

    background:#585DB4;

    color:#fff;

    border:none;

    padding:14px 28px;

    border-radius:10px;

    font-size:15px;

    cursor:pointer;

    display:flex;

    align-items:center;

    gap:10px;

    transition:.3s;

}

.save-btn:hover{

    background:#6c71d7;

}

.error-box{

    margin-top:25px;

    padding:15px;

    background:#4a1818;

    border:1px solid #ff4444;

    color:#fff;

    border-radius:10px;

}

.page-header{
    display:flex;
    align-items:center;
}

.page-header h2{
    margin-right:auto;
}

.add-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #585DB4;
    color: #fff;
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 8px;
    transition: .3s;
}

.add-btn:hover{
    background: #6c71d7;
}

.success-box{

    background:#1f4b29;

    color:#fff;

    padding:12px 18px;

    border-radius:8px;

    margin-bottom:20px;

}

.admin-table{

    width:100%;

}

.btn{

    border:none;

    padding:8px 14px;

    border-radius:8px;

    color:#fff;

    cursor:pointer;

}

.btn-success{

    background:#16a34a;

}

.btn-danger{

    background:#dc2626;

}

.checkbox-group {
    margin-top: 15px;
}


.checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
}


.checkbox-input {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer;
}

/* Main Box */
.select2-container--default .select2-selection--multiple{
    background:#111214 !important;
    border:1px solid #34343a !important;
    border-radius:8px !important;
    min-height:45px !important;
    padding:6px;
    margin-bottom:20px;
}


.select2-container--default .select2-selection__choice{
    background:#585DB4 !important;
    border:none !important;
    color:#fff !important;
    font-size:14px;
}

.select2-container--default .select2-dropdown{
    background:#111214 !important;
    border:1px solid #34343a !important;
}


.select2-container--default .select2-results{
    background:#111214 !important;
}


.select2-container--default .select2-results__option{
    background:#111214 !important;
    color:#fff !important;
    padding:10px 15px;
}

.select2-container--default .select2-results__option--highlighted{
    background:#585DB4 !important;
    color:#fff !important;
}


.select2-container--default .select2-results__option[aria-selected="true"]{
    background:#2b2b30 !important;
    color:#9BA5FF !important;
}


.select2-search--dropdown{
    background:#111214 !important;
}

.select2-search--dropdown .select2-search__field{
    background:#18181B !important;
    border:1px solid #34343a !important;
    color:#fff !important;
}


.table-card{
    background:#18181B;
    border:1px solid #2b2b30;
    border-radius:15px;
    padding:25px;
    margin-top:20px;
}

.table-search-form{
    margin-bottom:20px;
}

.search-group{
    display:flex;
    gap:12px;
}

.search-input{
    width:320px;
    height:45px;
    background:#111214;
    border:1px solid #34343a;
    border-radius:8px;
    color:#fff;
    padding:0 15px;
}

.search-input:focus{
    border-color:#585DB4;
    outline:none;
}

.search-btn{
    background:#585DB4;
    color:#fff;
    border:none;
    padding:0 22px;
    border-radius:8px;
    cursor:pointer;
}

.search-btn:hover{
    background:#6d72d7;
}

.status-badge{
    padding:6px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
}

.status-success{
    background:#134e2c;
    color:#22c55e;
}

.status-danger{
    background:#4b1616;
    color:#ef4444;
}

.pagination-wrapper{
    margin-top:25px;
}

.suspend-btn{
    background:none;
    border:none;
    color:#f59e0b;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    margin-left:20px;
    margin-right:25px;
}

.suspend-btn i{
    color:#f59e0b;
}

.suspend-btn:hover{
    color:#fbbf24;
}

.suspend-btn:hover i{
    color:#fbbf24;
}

.table-footer{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    padding:15px 20px;
    border-top:1px solid #2b2b30;
    background:#18181B;
}

.pagination-wrapper nav{
    margin:0;
}

.pagination{
    display:flex;
    align-items:center;
    gap:8px;
    list-style:none;
    margin:0;
    padding:0;
}

.pagination li{
    list-style:none;
}

.pagination li a,
.pagination li span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 12px;
    border-radius:8px;
    border:1px solid #34343a;
    background:#111214;
    color:#fff;
    text-decoration:none;
}

.pagination li.active span{
    background:#585DB4;
    border-color:#585DB4;
    color:#fff;
}

.pagination li a:hover{
    background:#585DB4;
    border-color:#585DB4;
}

.pagination li.disabled span{
    color:#777;
    background:#1b1b1d;
}


.user-profile{
    display:flex;
    align-items:center;
    gap:25px;
    margin-bottom:30px;
}

.avatar-img{
    width:90px;
    height:90px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #34343a;
}

.avatar-shape{
    width:90px;
    height:90px;
    border-radius:50%;
    background:#585DB4;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    font-weight:bold;
}

.user-profile-info h3{
    margin-bottom:8px;
}

.user-profile-info p{
    color:#9ca3af;
    margin-bottom:10px;
}

.break-text{
    word-break:break-word;
    white-space:pre-wrap;
}

.page-actions{
    justify-content:flex-start;
    gap:15px;
    margin-top:25px;
}

.mt-30{
    margin-top:30px;
}

.section-heading{
    margin-bottom:20px;
}

.purchase-badge{
    display:inline-block;
    padding:4px 8px;
    border-radius:6px;
    font-size:11px;
    font-weight:600;
}

.purchase-title{
    margin-top:8px;
    font-weight:600;
    color:#fff;
}

.payment-token{
    max-width:220px;
    word-break:break-all;
    font-family:monospace;
    font-size:12px;
    color:#9ca3af;
}

.empty-state{
    text-align:center;
    color:#888;
    padding:25px;
}

.table-responsive{
    overflow-x:auto;
}

.table-responsive table{
    min-width:900px;
}

.admin-table th{
    background:#202124;
    color:#fff;
    padding:14px;
    text-align:left;
}

.admin-table td{
    padding:14px;
    border-bottom:1px solid #2b2b30;
}

.admin-table tr:hover td{
    background:#1d1d20;
}

.admin-table a{
    color:#9BA5FF;
    text-decoration:none;
    font-weight:600;
}

.admin-table a:hover{
    text-decoration:underline;
}

#ordersTable{
    width:100% !important;
}

#ordersTable th,
#ordersTable td{
    white-space:nowrap;
    vertical-align:middle;
}


.details-table{
    width:100%;
}

.details-table th{
    width:220px;
    background:#202124;
    color:#fff;
}

.details-table td{
    color:#ddd;
}

.btn-secondary{
    background:#374151;
}

.btn-secondary:hover{
    background:#4b5563;
}

.mt-30{
    margin-top:30px;
}

.table-link{
    color:#9BA5FF;
    font-weight:600;
    text-decoration:none;
}

.table-link:hover{
    text-decoration:underline;
}

.purchase-subtitle{
    color:#9ca3af;
    font-size:12px;
}

#topicsTable td,
#topicsTable th{
    white-space:nowrap;
    vertical-align:middle;
}

/* Category Header */
.category-card{
    margin-top:25px;
}

.category-row td{
    background:#25262b !important;
    color:#9BA5FF !important;
    font-size:16px;
    font-weight:700;
    border-top:2px solid #585DB4;
    border-bottom:2px solid #585DB4;
}

.topic-image{
    width:150px;
    height:90px;
    object-fit:cover;
    border-radius:8px;
    border:1px solid #34343a;
}

.topic-audio{
    width:250px;
}

.empty-text{
    color:#888;
}

.category-row:hover td{
    background:#25262b !important;
}