/* ============================================
   TRADECRAFT DASHBOARD - MAIN STYLES
   ============================================ */
   
   :root {

    --primary-color:#3B82F6;
    --secondary-color:#8B5CF6;

    --success-color:#10B981;
    --warning-color:#F59E0B;
    --danger-color:#EF4444;

    --bg-dark:#0B1220;
    --bg-darker:#08101D;
    --bg-secondary:#111827;
    --bg-light:#1E293B;

    --card-bg:#16213E;
    --card-border:#24324A;

    --text-primary:#F8FAFC;
    --text-secondary:#CBD5E1;
    --text-muted:#94A3B8;

    --border-color:#334155;

    --header-bg:linear-gradient(
    90deg,
    #0F172A,
    #111827,
    #1E293B
    );

    --nav-active-bg:linear-gradient(
    135deg,
    #3B82F6,
    #4F46E5
    );

    --nav-active-color:#ffffff;
}

/*:root {*/
/*    --primary-color: #d4af37;*/
/*    --secondary-color: #ebd999;*/
/*    --danger-color: #ff4d4d;*/
/*    --warning-color: #ffcc00;*/
/*    --success-color: #28a745;*/

    /* Black and gold palette */
/*    --bg-dark: #0a0a0a;*/
/*    --bg-darker: #050505;*/
/*    --bg-secondary: #141414;*/
/*    --bg-light: #1f1f1f;*/

    /* Card / panel black */
/*    --card-bg: #121212;*/
/*    --card-border: #2c2c2c;*/

/*    --text-primary: #f5f5f5;*/
/*    --text-secondary: #cccccc;*/
/*    --text-muted: #888888;*/

/*    --border-color: #2c2c2c;*/

    /* Header: Black to Dark Gold */
/*    --header-bg: linear-gradient(90deg,*/
/*            #000000 0%,*/
/*            #111111 25%,*/
/*            #222222 50%,*/
/*            #2e2500 75%,*/
/*            #423500 100%);*/

    /* Active sidebar item */
/*    --nav-active-bg: linear-gradient(90deg, #d4af37 0%, #a88a29 100%);*/
/*    --nav-active-color: #000000;*/
/*}*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-primary);
    overflow-x: hidden;
}

/* ============================================
   PAGE LOADER
   ============================================ */

.page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse at 30% 40%, rgba(212, 175, 55, 0.18) 0%, transparent 60%),
        radial-gradient(ellipse at 75% 70%, rgba(255, 204, 0, 0.13) 0%, transparent 55%),
        linear-gradient(160deg, #111111 0%, #050505 50%, #0a0a0a 100%);
    transition: opacity 0.55s ease, transform 0.55s ease;
    pointer-events: all;
}

.page-loader.loader-fade-out {
    opacity: 0;
    transform: scale(1.03);
    pointer-events: none;
}

.loader-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    animation: loaderEntrance 0.5s ease both;
}

@keyframes loaderEntrance {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Brand logo inside loader */
.loader-logo {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.loader-logo .brand-primary {
    color: var(--primary-color);
}

.loader-logo .brand-accent {
    color: var(--secondary-color);
}

/* Triple ring spinner */
.loader-spinner {
    position: relative;
    width: 72px;
    height: 72px;
}

.spinner-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid transparent;
    animation: spinRing 1.2s linear infinite;
}

/* Outer ring — primary blue */
.spinner-ring {
    border-top-color: var(--primary-color);
    border-right-color: rgba(212, 175, 55, 0.25);
}

/* Middle ring — teal */
.spinner-ring--2 {
    inset: 10px;
    border-top-color: transparent;
    border-bottom-color: var(--secondary-color);
    border-left-color: rgba(235, 217, 153, 0.25);
    animation-duration: 0.9s;
    animation-direction: reverse;
}

/* Inner ring — accent purple/red */
.spinner-ring--3 {
    inset: 22px;
    border-top-color: #ffcc00;
    border-right-color: rgba(255, 204, 0, 0.2);
    animation-duration: 0.7s;
}

@keyframes spinRing {
    to {
        transform: rotate(360deg);
    }
}

/* Animated progress bar */
.loader-bar-wrap {
    width: 180px;
    height: 3px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 99px;
    overflow: hidden;
}

.loader-bar {
    height: 100%;
    width: 0%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), #ffcc00);
    background-size: 200% 100%;
    animation: barFill 2.5s ease forwards, barShimmer 1.5s linear infinite;
}

@keyframes barFill {
    0% {
        width: 0%;
    }

    40% {
        width: 60%;
    }

    80% {
        width: 85%;
    }

    100% {
        width: 100%;
    }
}

@keyframes barShimmer {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 200% 0%;
    }
}

/* Loading text */
.loader-text {
    font-size: 13px;
    color: var(--text-muted);
    letter-spacing: 0.4px;
    animation: loaderPulse 1.6s ease-in-out infinite;
}

@keyframes loaderPulse {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

/* ============================================
   LOGIN & AUTH PAGES
   ============================================ */

.login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 10px !important;
    background:
    radial-gradient(circle at top right,#fff6d6 0%,transparent 28%),
    radial-gradient(circle at bottom left,#fdf1bf 0%,transparent 25%),
    linear-gradient(135deg,#ffffff,#f8f9fc);

    position:relative;
    overflow:hidden;
}


.login-page::after{

content:"";

position:absolute;

left:-120px;
bottom:-120px;

width:320px;
height:320px;

background:linear-gradient(
135deg,
#ffe89a,
#d4af37);

border-radius:50%;

opacity:.15;

}

.login-page::before{

content:"";

position:absolute;

top:-120px;
right:-120px;

width:420px;
height:420px;

background:linear-gradient(
135deg,
#f7d76a,
#d4af37);

border-radius:50%;

opacity:.18;

}

.login-container {
    width: 100%;
    max-width: 500px;
    padding: 20px;
    position: relative;
    z-index: 1;
}

.login-box{

background:#fff;

border:1px solid #ecd89f;

border-radius:28px;

padding:55px;

max-width:520px;

box-shadow:

0 20px 60px rgba(0,0,0,.08);

position:relative;

overflow:hidden;

}

.login-box::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:7px;

background:linear-gradient(
90deg,
#d4af37,
#f7d76a);

}

.register-box {
    padding: 40px 35px;
}

.forgot-box {
    padding: 40px 35px;
}

.login-header {
    text-align: center;
    margin-bottom: 20px;
}

.logo-section img {
    height: 80px;
    width: auto;
    object-fit: contain;
}

.login-title{

font-size:36px;

font-weight:700;

color:#163a6b;

margin-bottom:10px;

}

.login-subtitle{

color:#707b8d;

font-size:15px;

line-height:28px;

}

.login-form {
    margin-bottom: 20px;
}

.form-label{

font-weight:600;

font-size:14px;

color:#163a6b;

}

.form-control{

height:40px;

border-radius:14px;

border:2px solid #ececec;

background:#fff;

color:#163a6b;

padding-left:18px;

transition:.35s;

}

.form-control::placeholder {
    color: var(--text-muted);
}

.form-control:focus{

border-color:#d4af37;

box-shadow:

0 0 0 5px rgba(212,175,55,.15);

}

.form-check-label {
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
}

.form-check-input {
    width: 18px;
    height: 18px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
}

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.forgot-link{

color:#d4af37;

font-weight:600;

text-decoration:none;

}

.forgot-link:hover{

color:#163a6b;

}

.cloudflare-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    background-color: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 6px;
    font-size: 13px;
    color: var(--success-color);
}

.btn-sign-in{

height:56px;

background:

linear-gradient(
90deg,
#d4af37,
#f7d76a);

border:none;

border-radius:14px;

font-size:17px;

font-weight:700;

color:#163a6b;

transition:.35s;

box-shadow:

0 12px 25px rgba(212,175,55,.35);

}

.btn-sign-in:hover{

transform:translateY(-4px);

box-shadow:

0 20px 40px rgba(212,175,55,.45);

}

.btn-sign-in:active {
    transform: translateY(0);
}

.register-section {
    text-align: center;
    margin: 25px 0;
    padding: 10px 0;
}

.register-section p {
    font-size: 13px;
    color: var(--text-secondary);
}

.register-link{

color:#163a6b;

font-weight:700;

}

.register-link:hover{

color:#d4af37;

}

.login-footer{

border-top:1px solid #f0f0f0;

padding-top:20px;

color:#8c8c8c;

}

.login-footer p {
    font-size: 12px;
    color: var(--text-muted);
}

/* Success Modal */
.modal-content {
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ============================================
   DASHBOARD LAYOUT
   ============================================ */

.dashboard-body{
    background:
    linear-gradient(
    135deg,
    #0B1220,
    #111827,
    #0F172A
    );

    min-height:100vh;
}

/* Header */
.top-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: var(--header-bg);
    border-bottom: 1px solid var(--border-color);
    z-index: 1000;
    display: flex;
    align-items: center;
}

.header-content {
    width: 100%;
    min-width: 0;
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.sidebar-toggle {
    display: none;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    color: white;
    font-size: 18px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.sidebar-toggle:hover {
    background: rgba(255, 255, 255, 0.22);
}

.logo-small {
    display: none;
}

.brand-name {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}

.brand-name .brand-primary {
    color: var(--primary-color);
}

.brand-name .brand-accent {
    color: var(--secondary-color);
    margin-left: 6px;
}

.brand-name::after {
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--warning-color));
    border-radius: 999px;
    content: '';
    height: 2px;
    left: 50%;
    position: absolute;
    top: calc(100% + 7px);
    transform: translateX(-50%);
    width: 72px;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.notification-btn {
    position: relative;
    background: none;
    border: none;
    color: white;
    font-size: 18px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.notification-btn:hover {
    transform: scale(1.1);
}

.notification-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: var(--danger-color);
    color: white;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
}

.user-menu {
    position: relative;
}

.user-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    font-size: 14px;
    white-space: nowrap;
}

.user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: var(--bg-darker);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    min-width: 200px;
    display: none;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    margin-top: 10px;
    z-index: 1001;
}

.user-dropdown.active {
    display: flex;
}

.dropdown-item {
    padding: 12px 16px;
    color: var(--text-secondary);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    font-size: 13px;
}

.dropdown-item:hover {
    background-color: var(--bg-secondary);
    color: var(--primary-color);
}

.dropdown-divider {
    margin: 8px 0;
    border-color: var(--border-color);
}

/* Sidebar */
.sidebar {
    position: fixed;
    left: 0;
    top: 70px;
    width: 250px;
    height: calc(100vh - 70px);
     background:#111827;
    border-right:1px solid rgba(255,255,255,.05);
    overflow-y: auto;
    z-index: 999;
    transition: transform 0.3s ease;
}

.sidebar.hidden {
    transform: translateX(-100%);
}

.sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
    position: relative;
    background: aliceblue;
    border-bottom: 1px solid var(--border-color);
}

.sidebar-logo .logo-full {
    min-height: 60px;
    position: relative;
    width: 100%;
}

.close-sidebar {
    display: none;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    color: white;
    font-size: 16px;
    cursor: pointer;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.close-sidebar:hover {
    background: rgba(255, 255, 255, 0.22);
}

.sidebar-nav {
    padding: 20px 10px;
}

.nav-section {
    margin-bottom: 25px;
}

.nav-section-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 12px;
    padding: 0 10px;
    letter-spacing: 0.5px;
}

.nav-link {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    margin-bottom: 5px;
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.3s ease;
    font-size: 13px;
    position: relative;
    border: 0;
    background: transparent;
    text-align: left;
}

.nav-link:hover {
    background-color: rgba(212, 175, 55, 0.18);
    color: #ebd999;
}

/*.nav-link.active {*/
/*    background: linear-gradient(90deg, #d4af37 0%, #a88a29 100%);*/
/*    color: #000000;*/
/*    box-shadow: 0 2px 12px rgba(212, 175, 55, 0.45);*/
/*}*/
.nav-link.active{
    background:linear-gradient(135deg,#3B82F6,#4F46E5);
    color:white;
    box-shadow:0 0 20px rgba(59,130,246,.3);
}

.nav-link.danger {
    color: var(--danger-color);
}

.nav-link i:first-child {
    width: 20px;
    text-align: center;
}

.nav-link span {
    flex: 1;
}

.nav-link i:last-child {
    font-size: 10px;
    margin-left: auto;
}

.nav-link.logout {
    color: var(--danger-color);
}

.nav-dropdown-toggle.open .nav-chevron {
    transform: rotate(90deg);
}

.nav-chevron {
    transition: transform 0.2s ease;
}

.nav-submenu {
    display: none;
    flex-direction: column;
    gap: 8px;
    padding: 0 0 8px 48px;
}

.nav-submenu.open {
    display: flex;
}

.nav-sublink {
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
}

.nav-sublink::before {
    content: '';
    position: absolute;
    left: -16px;
    top: 50%;
    width: 7px;
    height: 7px;
    border: 2px solid currentColor;
    border-radius: 50%;
    transform: translateY(-50%);
}

.nav-sublink:hover,
.nav-sublink.active {
    color: var(--primary-color);
}

.sidebar-overlay {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 998;
}

.sidebar-overlay.active {
    display: block;
}

/* Main Content */
.main-content {
    margin-left: 250px;
    margin-top: 70px;
    width: calc(100% - 250px);
    min-height: calc(100vh - 70px);
    padding: 30px;
    overflow: hidden;
}

.page-heading {
    margin-bottom: 26px;
}

.page-heading h1 {
    color: var(--text-primary);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px;
}

.breadcrumb-line {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-primary);
    font-size: 14px;
}

.breadcrumb-line a {
    color: var(--text-primary);
    text-decoration: none;
}

.breadcrumb-line a:hover {
    color: var(--primary-color);
}

.settings-panel {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 7px;
    padding: 20px;
    margin-bottom: 24px;
}

.notification-panel {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 7px;
    padding: 20px;
    margin-bottom: 24px;
}

.reminder-panel {
    background-color: #0c1e3a;
    border: 1px solid #1a3660;
    border-radius: 4px;
    color: var(--text-primary);
    padding: 14px 16px;
    margin-bottom: 16px;
}

.reminder-panel div {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.reminder-panel i {
    color: #126cff;
    font-size: 16px;
}

.reminder-panel p {
    margin: 2px 0 0;
    font-size: 14px;
    line-height: 1.4;
}

.notification-panel h2 {
    color: var(--warning-color);
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

.notification-panel p {
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.balance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

.balance-card {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 10px;
    padding: 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.balance-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
}

.balance-card.summary-card {
    border-width: 1px;
}

.balance-card.summary-card.green {
    border-color: #10b981;
}

.balance-card.summary-card.yellow {
    border-color: #ffb020;
}

.balance-card h2 {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

.balance-card div {
    color: var(--text-primary);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
}

.service-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.85fr);
    gap: 24px;
    align-items: start;
}

.service-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.remarks-input {
    min-height: 84px;
    padding-top: 12px;
    resize: vertical;
}

.check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-primary);
    font-size: 14px;
}

.check-row input {
    width: 16px;
    height: 16px;
}

.report-panel {
    overflow: hidden;
}

.boxed-report-panel {
    border: 1px solid #202936;
    border-radius: 10px;
    padding: 18px 22px 22px 22px;
    margin-left: 4px;
    background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);
}

.report-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: -8px -20px 0;
    padding: 0 0 8px;
    border-bottom: 1px solid #202936;
}

.report-search {
    max-width: 184px;
    margin-right: 0;
}

.report-table-wrap {
    margin: 0 -12px;
    padding: 0 12px;
}

.report-table {
    min-width: 1040px;
}

.report-table thead {
    background-color: #0d1117;
}

.report-table tbody tr {
    background-color: #090d12;
    color: var(--text-primary);
    border-bottom: 1px solid #202936;
}

.report-table tbody td {
    color: var(--text-primary);
}

.table-footer-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 14px;
    color: #6f8199;
}

.rows-control {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.rows-control {
    padding-left: 8px;
}

/* Top banner showing totals */
.total-banner {
    background: #3a2a1d;
    color: #f4b36d;
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 12px;
}

/* Filter controls row used in Network pages */
.filters-row {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 6px;
}

.filter-input {
    width: 180px;
}

.filter-select {
    width: 160px;
}

/* Filters panel card (matches screenshot) */
.filters-panel {
    background-color: rgba(13, 17, 23, 0.45);
    border: 1px solid #202936;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.filters-panel .filter-input,
.filters-panel .filter-select {
    height: 44px;
    padding: 10px 14px;
    border-radius: 6px;
    background-color: #090d12;
    border: 1px solid #252c36;
    color: var(--text-primary);
}

.filters-panel .filter-input::placeholder,
.filters-panel .filter-select::placeholder {
    color: var(--text-muted);
}

.filters-panel .btn-orange {
    min-height: 44px;
    padding: 8px 18px;
    box-shadow: 0 6px 20px rgba(255, 159, 67, 0.12);
}

/* Ensure the filters row compresses nicely on small widths */
@media (max-width: 880px) {
    .filters-row {
        gap: 10px;
    }

    .filter-input,
    .filter-select {
        width: 140px;
    }
}

/* ensure horizontal scrollbar on small widths doesn't show ugly outlines */
.filters-panel::-webkit-scrollbar {
    height: 8px;
}

.filters-panel::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 6px;
}

/* Ensure table area has clear spacing from left/right */
.report-panel .settings-panel+.total-banner,
.report-panel .settings-panel+.report-toolbar {
    margin-left: 0;
    margin-right: 0;
}

/* Make DataTables search align consistently */
.report-panel .dataTables_filter input {
    width: 220px;
}

.rows-control select {
    width: 60px;
    height: 30px;
    padding: 0 10px;
}

.pagination-mini {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pagination-mini button {
    width: 28px;
    height: 28px;
    border: 1px solid #465261;
    background-color: #2b343f;
    color: var(--text-primary);
    border-radius: 50%;
    font-size: 13px;
}

.pagination-mini button.active {
    border-color: var(--warning-color);
    background-color: var(--warning-color);
}

.dt-container {
    color: var(--text-primary);
    max-width: 100%;
}

.dt-container .dt-scroll {
    max-width: 100%;
}

.dt-container .dt-layout-row {
    margin: 0;
    padding: 12px 0;
}

.dt-container .dt-layout-row:first-child {
    align-items: center;
    border-bottom: 1px solid #202936;
    margin: -8px -20px 0;
    min-height: 62px;
    padding: 0 0 10px 20px;
}

.dt-container label,
.dt-container .dt-info,
.dt-container .dt-layout-cell {
    color: var(--text-primary);
    font-size: 14px;
}

.dt-container .dt-search input,
.dt-container .dt-length select {
    background-color: #090d12;
    border: 1px solid #252c36;
    border-radius: 5px;
    color: var(--text-primary);
    min-height: 34px;
    padding: 6px 12px;
}

.dt-container .dt-search input {
    width: 184px;
}

.dt-container .dt-search input::placeholder {
    color: var(--text-muted);
}

.dt-container .dt-search label {
    display: none;
}

.dt-container .dt-paging {
    display: flex;
    gap: 8px;
}

.dt-container .dt-paging .dt-paging-button {
    min-width: 28px;
    height: 28px;
    border: 1px solid #465261;
    background: #2b343f;
    color: var(--text-primary) !important;
    border-radius: 50%;
    padding: 0 8px;
    font-size: 13px;
}

.dt-container .dt-paging .dt-paging-button.current,
.dt-container .dt-paging .dt-paging-button.current:hover {
    border-color: var(--warning-color);
    background: var(--warning-color);
    color: #ffffff !important;
}

.dt-container .dt-paging .dt-paging-button.disabled {
    opacity: 0.45;
}

.dt-container .dt-scroll-body {
    border-bottom: 0 !important;
    scrollbar-color: var(--warning-color) #252c36;
}

.dt-container .dt-scroll-head table,
.dt-container .dt-scroll-body table {
    margin: 0 !important;
}

.dt-container .dt-scroll-head {
    background-color: #20242a;
    border-bottom: 0 !important;
}

.dt-container .dt-scroll-body thead {
    visibility: collapse;
}

.dt-container .dt-scroll-body thead th,
.dt-container .dt-scroll-body thead td {
    height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
    line-height: 0 !important;
}

.dt-container .dt-scroll-body::-webkit-scrollbar {
    height: 8px;
}

.dt-container .dt-scroll-body::-webkit-scrollbar-track {
    background: #151a21;
}

.dt-container .dt-scroll-body::-webkit-scrollbar-thumb {
    background: var(--warning-color);
    border-radius: 4px;
}

table.dataTable,
table.dataTable th,
table.dataTable td {
    border-color: #202936;
    color: var(--text-primary);
}

table.dataTable thead th,
table.dataTable thead td {
    color: var(--text-primary);
    border-bottom: 1px solid #202936;
    background-color: #20242a;
    padding-top: 14px;
    padding-bottom: 14px;
}

table.dataTable tbody tr {
    background-color: #090d12;
}

table.dataTable tbody td {
    color: var(--text-primary);
    padding-top: 13px;
    padding-bottom: 13px;
}

table.dataTable tbody tr:hover {
    background-color: #101720;
}

.settings-panel h2 {
    font-size: 17px;
    font-weight: 700;
    margin: -20px -20px 20px;
    padding: 16px 20px;
    border-bottom: 1px solid #202936;
    color: var(--text-primary);
}

.settings-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 18px;
}

.wallet-settings-form {
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: center;
}

.support-form {
    display: grid;
    row-gap: 18px;
    padding: 12px 0;
}

.support-row {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.support-row label {
    display: inline-block;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 600;
}

.support-row textarea {
    min-height: 140px;
}

.support-form .form-actions {
    grid-column: 1 / -1;
    padding-top: 12px;
}

@media (max-width: 820px) {
    .support-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .support-row label {
        margin-bottom: 8px;
    }
}

.form-row {
    min-width: 0;
}

.form-row-full {
    grid-column: 1 / -1;
}

.form-row label {
    display: block;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 9px;
}

.input-group-dark {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.input-group-dark span,
.input-group-dark button {
    width: 38px;
    min-width: 38px;
    border: 1px solid #252c36;
    background-color: #242629;
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px 0 0 5px;
}

.input-group-dark input,
.plain-input-dark {
    width: 100%;
    min-width: 0;
    height: 38px;
    background-color: #090d12;
    border: 1px solid #252c36;
    color: var(--text-primary);
    padding: 0 14px;
    border-radius: 5px;
    font-size: 14px;
}

.input-group-dark input {
    flex: 1 1 auto;
    min-width: 0;
    border-left: 0;
    border-radius: 0 5px 5px 0;
}

.input-group-action input {
    border-radius: 5px 0 0 5px;
}

.input-group-action span+input {
    border-left: 0;
    border-radius: 0;
}

.input-group-action button {
    border-left: 0;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
    flex: 0 0 38px;
}

.plain-input-dark::placeholder,
.input-group-dark input::placeholder {
    color: var(--text-muted);
}

.form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}

.form-actions-left {
    justify-content: flex-start;
}

.btn-orange {
    background-color: var(--warning-color);
    color: #ffffff;
    border: 0;
    border-radius: 6px;
    min-height: 36px;
    padding: 8px 18px;
    font-weight: 600;
}

.otp-group .btn-otp {
    width: 92px;
    min-width: 92px;
    flex-basis: 92px;
    padding: 0 14px;
    color: var(--primary-color);
    background-color: #090d12;
    border-color: var(--primary-color);
    white-space: nowrap;
}

.field-help-danger {
    color: #ff2020;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    margin: 6px 0 0;
}

.business-report-table {
    min-width: 1250px;
}

.table-responsive-dark {
    width: 100%;
    overflow-x: auto;
}

.table-responsive-dark.datatable-wrap {
    overflow-x: visible;
}

.wallet-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    color: var(--text-primary);
}

.wallet-table th,
.wallet-table td {
    padding: 12px 20px;
    font-size: 14px;
    vertical-align: middle;
}

.wallet-table thead {
    background-color: #20242a;
}

.wallet-table tbody tr {
    background-color: #090d12;
    color: var(--text-primary);
    border-bottom: 1px solid #202936;
}

.wallet-table tbody td {
    color: var(--text-primary);
}

/* Small left spacing for tables to avoid clipping of first column/row numbers */
.table-responsive-dark {
    padding-left: 6px;
}

.wallet-table th:first-child,
.wallet-table td:first-child {
    padding-left: 28px;
}

.btn-delete {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 7px;
    background-color: #ff1111;
    color: #ffffff;
}

/* Welcome Section */
.welcome-section {
    
    background: linear-gradient( 135deg, rgba(59,130,246,.15), rgba(139,92,246,.15) );
    border-radius:20px;
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.08);
    
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid var(--border-color);*/
    /*border-radius: 12px;*/
    padding: 20px;
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

.welcome-message h5 {
    font-size: 16px;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.welcome-message i {
    font-size: 20px;
    color: var(--primary-color);
}

.affiliate-link {
    flex: 1;
    min-width: 0;
}

.affiliate-link h6 {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 8px;
    font-weight: 600;
}

.link-box {
    display: flex;
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.link-input {
    flex: 1;
    min-width: 0;
    background-color: rgba(42, 57, 78, 0.5);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
}

.btn-copy {
    background-color: var(--primary-color);
    border: none;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.btn-copy:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(74, 158, 255, 0.3);
}

/* Wallet Cards */
.wallet-section {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.wallet-card {
background:rgba(22,33,62,.85);
backdrop-filter:blur(15px);
border:1px solid rgba(255,255,255,.08);
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.25);
    
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid var(--border-color);*/
    /*border-radius: 10px;*/
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
    cursor: pointer;
}

/*.wallet-card:hover {*/
/*    transform: translateY(-4px);*/
/*    border-color: var(--primary-color);*/
/*    box-shadow: 0 8px 20px rgba(74, 158, 255, 0.2);*/
/*}*/

.wallet-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, rgba(74, 158, 255, 0.2) 0%, rgba(0, 212, 170, 0.1) 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wallet-content h6 {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 5px;
    font-weight: 500;
}

.wallet-amount {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-color);
}

/* Income Section */
.income-section {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.income-card {
    background:rgba(22,33,62,.85);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid var(--border-color);*/
    /*border-radius: 10px;*/
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

/*.income-card:hover {*/
/*    transform: translateY(-4px);*/
/*    border-color: var(--primary-color);*/
/*}*/

.income-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, rgba(74, 158, 255, 0.2) 0%, rgba(0, 212, 170, 0.1) 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.income-content h6 {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 5px;
}

/* Income Types Section */
.income-types-section {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

.income-type-card {
    background:rgba(22,33,62,.85);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
        
    min-height: 142px;
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid #202936;*/
    /*border-radius: 7px;*/
    padding: 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: 1fr auto;
    align-items: start;
    gap: 18px;
    transition: all 0.3s ease;
}

/*.income-type-card:hover {*/
/*    transform:translateY(-6px);*/
/*    box-shadow:0 20px 40px rgba(0,0,0,.35);*/
/*    border-color:rgba(59,130,246,.4);*/
    
/*    border-color: var(--primary-color);*/
/*    box-shadow: 0 8px 20px rgba(74, 158, 255, 0.15);*/
/*}*/

.wallet-card:nth-child(1){
background:
linear-gradient(
135deg,
rgba(59,130,246,.18),
rgba(59,130,246,.05)
);
}

.wallet-card:nth-child(2){
background:
linear-gradient(
135deg,
rgba(139,92,246,.18),
rgba(139,92,246,.05)
);
}

.income-card{
background:
linear-gradient(
135deg,
rgba(16,185,129,.18),
rgba(16,185,129,.05)
);
}

.type-icon {
    width: 36px;
    height: 36px;
    background: #e9fbff;
    color: #0aa7c2;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-column: 2;
    grid-row: 1;
    margin-top: 6px;
}

.type-icon-cyan {
    background: #e9fbff;
    color: #05a9c8;
}

.type-icon-green {
    background: #e7fffb;
    color: #00a99b;
}

.type-icon-orange {
    background: #fff0e8;
    color: #ff6a2a;
}

.type-icon-purple {
    background: #eeeeff;
    color: #1d2be8;
}

.type-content {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

.type-label {
    font-size: 14px;
    color: var(--text-primary);
    line-height: 1.35;
    margin-top: 4px;
}

.type-amount {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
}

.view-all-link {
    color: var(--text-primary);
    text-decoration: underline;
    font-size: 14px;
    transition: color 0.3s ease;
    grid-column: 1 / -1;
    grid-row: 2;
    padding-top: 16px;
    border-top: 1px solid #202936;
}

.view-all-link:hover {
    color: var(--primary-color);
}

/* Profile Section */
.profile-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.profile-card {
    background:rgba(22,33,62,.85);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    
    
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid #202936;*/
    /*border-radius: 7px;*/
    padding: 20px;
}

.profile-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    padding-bottom: 0;
    border-bottom: 0;
}

.profile-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--primary-color);
    flex-shrink: 0;
}

.profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 5px;
}

.profile-id {
    font-size: 13px;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

.status-badge {
    color: var(--success-color);
    font-size: 12px;
}

.status-dot {
    width: 6px;
    height: 6px;
    background-color: var(--warning-color);
    border-radius: 50%;
    display: inline-block;
}

/* Small pill badges used in tables (Achieved / Not-Achieve) */
.badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
}

.badge-success {
    background-color: #10b981;
    color: #ffffff;
}

.badge-warning {
    background-color: #ffb020;
    color: #1a1a1a;
}

.profile-details {
    margin-bottom: 6px;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 2px 0;
    border-bottom: 0;
    font-size: 14px;
    line-height: 1.3;
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-label {
    color: var(--text-primary);
    font-size: 12px;
}

.detail-value {
    color: var(--text-primary);
    font-weight: 500;
    text-align: right;
    font-size: 12px;
}

.btn-edit-profile {
    display: block;
    text-align: right;
    color: var(--warning-color);
    text-decoration: underline;
    font-size: 13px;
    margin-bottom: 4px;
    cursor: pointer;
}

.btn-closing-report {
    width: 100%;
    padding: 8px 12px;
    background: linear-gradient(135deg, var(--primary-color) 0%, #007bff 100%);
    border: none;
    color: white;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-closing-report:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(74, 158, 255, 0.3);
}

.business-details-card {
    background:rgba(22,33,62,.85);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
        
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid #202936;*/
    /*border-radius: 7px;*/
    padding: 0 20px 20px;
}


.wallet-card:hover,
.income-card:hover,
.profile-card:hover,
.business-details-card:hover,
.capping-card:hover,
.income-type-card:hover{

transform:translateY(-6px);

box-shadow:
0 20px 40px rgba(0,0,0,.35);

border-color:
rgba(59,130,246,.4);
}

.card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 -20px 18px;
    padding: 16px 20px;
    border-bottom: 1px solid #202936;
    display: flex;
    align-items: center;
    gap: 8px;
}

.details-grid {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.detail-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    font-size: 14px;
    line-height: 1.35;
}

.detail-item .detail-label {
    font-size: 14px;
    color: var(--text-primary);
}

.detail-item .detail-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
    text-align: right;
}

/* Footer */
.dashboard-footer {
    background:#111827;
    border-top:1px solid rgba(255,255,255,.05);
    
    margin-left: 250px;
    width: calc(100% - 250px);
    padding: 20px 30px;
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border-top: 1px solid var(--border-color);*/
    text-align: center;
}

.footer-content p {
    font-size: 12px;
    color: var(--text-muted);
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1200px) {

    .wallet-section,
    .income-section,
    .income-types-section {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-section {
        grid-template-columns: 1fr;
    }

    .details-grid {
        grid-template-columns: 1fr;
    }

    .service-layout {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   RESPONSIVE - TABLET (≤1024px)
   ============================================ */
@media (max-width: 1024px) {

    /* Collapse sidebar off-canvas on tablets */
    .sidebar {
        transform: translateX(-100%);
        z-index: 1050;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.5);
    }

    .sidebar.active {
        transform: translateX(0);
    }

    .sidebar-overlay {
        display: none;
        top: 70px;
    }

    .sidebar-overlay.active {
        display: block;
    }

    /* Show hamburger + brand logo in header */
    .sidebar-toggle {
        display: flex;
    }

    .logo-small {
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .logo-small .brand-name {
        font-size: 20px;
    }

    /* Push main content to full width */
    .main-content {
        margin-left: 0;
        width: 100%;
    }

    .dashboard-footer {
        margin-left: 0;
        width: 100%;
    }

    /* Show close button inside sidebar */
    .close-sidebar {
        display: flex;
    }
}

/* ============================================
   RESPONSIVE - MOBILE (≤768px)
   ============================================ */
@media (max-width: 768px) {
    .top-header {
        height: 60px;
    }

    .header-content {
        padding: 0 14px;
        position: relative;
    }

    .header-left {
        gap: 10px;
        min-width: 0;
        flex-shrink: 0;
    }

    .header-right {
        gap: 10px;
        flex-shrink: 0;
    }

    /* Hide the "Profile" label — show only avatar + chevron */
    .user-btn>span {
        display: none;
    }

    .user-btn {
        gap: 6px;
        font-size: 12px;
    }

    .user-avatar {
        width: 34px;
        height: 34px;
    }

    .logo-small .brand-name {
        font-size: 16px;
    }

    /* Sidebar slides from left under 60px header */
    .sidebar {
        top: 60px;
        height: calc(100vh - 60px);
        width: 260px;
        transform: translateX(-100%);
        z-index: 1050;
        box-shadow: 4px 0 32px rgba(0, 0, 0, 0.6);
    }

    .sidebar.active {
        transform: translateX(0);
    }

    .sidebar-overlay {
        top: 60px;
    }

    .sidebar-overlay.active {
        display: block;
    }

    /* Full-width content area */
    .main-content {
        margin-left: 0;
        margin-top: 60px;
        width: 100%;
        min-height: calc(100vh - 60px);
        padding: 16px 14px;
    }

    .dashboard-footer {
        margin-left: 0;
        width: 100%;
    }

    /* Show close button */
    .close-sidebar {
        display: flex;
    }

    .welcome-section {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px;
        gap: 16px;
    }

    .affiliate-link {
        min-width: 0;
        width: 100%;
    }

    .link-input {
        font-size: 12px;
        text-overflow: ellipsis;
    }

    .wallet-section {
        grid-template-columns: 1fr;
    }

    .income-section {
        grid-template-columns: 1fr;
    }

    .income-types-section {
        grid-template-columns: 1fr;
    }

    .profile-section {
        grid-template-columns: 1fr;
    }

    .settings-form,
    .wallet-settings-form {
        grid-template-columns: 1fr;
    }

    .form-row,
    .form-row-full,
    .form-actions {
        grid-column: 1;
    }

    .settings-panel {
        padding: 16px;
    }

    .settings-panel h2 {
        margin: -16px -16px 16px;
        padding: 14px 16px;
    }

    .balance-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .service-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .report-toolbar {
        margin: -4px -16px 0;
        padding: 0 16px 8px;
    }

    .report-search {
        max-width: none;
    }

    .table-footer-controls {
        align-items: flex-start;
        flex-direction: column;
    }

    .details-grid {
        grid-template-columns: 1fr;
    }

    .service-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .login-box {
        padding: 35px 25px;
    }

    .login-title {
        font-size: 24px;
    }

    .logo-section img {
        height: 60px;
    }

    .header-content {
        padding: 0 12px;
    }

    .notification-btn {
        font-size: 16px;
    }

    .notification-badge {
        top: -7px;
        right: -7px;
        width: 18px;
        height: 18px;
        font-size: 10px;
    }

    .wallet-card {
        min-height: 104px;
    }

    .income-card {
        min-height: 104px;
    }

    .income-type-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .main-content {
        padding: 14px 12px;
    }

    .details-grid {
        grid-template-columns: 1fr;
    }

    .input-group-dark {
        min-width: 0;
    }

    .otp-group {
        flex-wrap: wrap;
    }

    .otp-group input {
        flex: 1;
    }

    .otp-group .btn-otp {
        width: 100%;
        border-left: 1px solid var(--primary-color);
        border-radius: 5px;
        margin-top: 8px;
        height: 38px;
    }

    .detail-row,
    .detail-item {
        flex-direction: column;
        gap: 2px;
    }

    .detail-value,
    .detail-item .detail-value {
        text-align: right;
    }
}

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-darker);
}

::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color);
}/* ============================================
   ACTIVE BOT / SERVICE PAGES
   ============================================ */

.active-bot-content {
    min-height: 100vh;
    padding: 30px 0;
}

.page-heading {
    background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);
    border-left: 5px solid var(--primary-color);
    padding: 25px 30px;
    margin: 0 20px 30px;
    border-radius: 8px;
}

.page-heading h1 {
    color: var(--primary-color);
    font-size: 32px;
    margin: 0 0 10px;
    font-weight: 700;
}

.breadcrumb-line {
    color: var(--text-muted);
    font-size: 14px;
}

.breadcrumb-line a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s;
}

.breadcrumb-line a:hover {
    color: var(--secondary-color);
}

.notification-panel {
    background: linear-gradient(135deg, var(--primary-color) 0%, #a88a29 100%);
    color: #000;
    padding: 20px 30px;
    margin: 0 20px 30px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.2);
}

.notification-panel h2 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 600;
}

.notification-panel p {
    margin: 0;
    font-size: 14px;
    opacity: 0.95;
}

.balance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 0 20px 30px;
}

.balance-card {
    background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);
    border: 1px solid var(--card-border);
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}

.balance-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.3);
}

.balance-card h2 {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 0 0 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.balance-card div {
    color: var(--primary-color);
    font-size: 32px;
    font-weight: 700;
}

.service-layout {
    margin: 0 20px 30px;
}

.settings-panel {
    background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);
    border: 1px solid var(--card-border);
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

.settings-panel h2 {
    color: var(--primary-color);
    font-size: 22px;
    margin: 0 0 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
    font-weight: 700;
}

.service-form {
    max-width: 600px;
}

.form-row {
    margin-bottom: 20px;
}

.form-row label {
    display: block;
    color: var(--text-primary);
    font-size: 14px;
    margin-bottom: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.plain-input-dark,
.remarks-input {
    width: 100%;
    background: rgba(30,30,30,0.5);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    padding: 12px 15px;
    border-radius: 6px;
    font-size: 14px;
    transition: all 0.3s;
    font-family: inherit;
}

.plain-input-dark:focus,
.remarks-input:focus {
    outline: none;
    background: rgba(30,30,30,0.8);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.15);
}

.plain-input-dark::placeholder,
.remarks-input::placeholder {
    color: var(--text-muted);
}

.input-group-dark {
    position: relative;
}

.password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 16px;
    padding: 5px 10px;
    transition: color 0.3s;
}

.password-toggle:hover {
    color: var(--primary-color);
}

.remarks-input {
    min-height: 100px;
    resize: vertical;
}

.btn-primary-action {
    background: linear-gradient(135deg, var(--primary-color) 0%, #a88a29 100%);
    color: #000;
    border: none;
    padding: 12px 40px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.2);
}

.btn-primary-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}

.btn-primary-action:active {
    transform: translateY(0);
}

@media (max-width: 768px) {
    .page-heading h1 {
        font-size: 24px;
    }

    .balance-grid {
        grid-template-columns: 1fr;
    }

    .settings-panel {
        padding: 20px;
    }

    .service-form {
        max-width: 100%;
    }
}

/* ============================================
   PACKAGE CAPPING METER  (index.php)
   ============================================ */

.capping-section {
    margin-bottom: 28px;
}

.capping-card {
    background:rgba(22,33,62,.85);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    
    /*background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);*/
    /*border: 1px solid var(--card-border);*/
    /*border-radius: 14px;*/
    overflow: hidden;
    /*box-shadow: 0 4px 24px rgba(0,0,0,0.35);*/
    transition: box-shadow 0.3s;
}

/*.capping-card:hover {*/
/*    transform:translateY(-6px);*/
/*    box-shadow:0 20px 40px rgba(0,0,0,.35);*/
/*    border-color:rgba(59,130,246,.4);*/
    
    /*box-shadow: 0 8px 32px rgba(212,175,55,0.12);*/
/*}*/

/* Header bar */
.capping-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    background: linear-gradient(90deg, rgb(1 34 77) 0%, #1a1a1a 100%);
    border-bottom: 1px solid var(--card-border);
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
}

.capping-header i {
    color: var(--primary-color);
    font-size: 16px;
}

.cap-badge {
    margin-left: auto;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.cap-badge--active {
    background: rgba(16,185,129,0.15);
    color: #10b981;
    border: 1px solid rgba(16,185,129,0.3);
}

.cap-badge--full {
    background: rgba(239,68,68,0.15);
    color: #ef4444;
    border: 1px solid rgba(239,68,68,0.3);
}

/* Body: chart + stats side by side */
.capping-body {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    padding: 28px 28px 24px;
}

/* === SVG Donut === */
.capping-chart-wrap {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.capping-svg {
    width: 190px;
    height: 190px;
    filter: drop-shadow(0 0 18px rgba(212,175,55,0.18));
}

.capping-arc {
    transition: stroke-dashoffset 1.2s cubic-bezier(0.4,0,0.2,1);
}

.cap-topped-msg {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 16px;
    background: rgba(239,68,68,0.12);
    border: 1px solid rgba(239,68,68,0.3);
    border-radius: 8px;
    color: #ef4444;
    font-size: 13px;
    font-weight: 600;
}

/* === Stats Grid === */
.capping-stats {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.cap-stat {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--card-border);
    border-radius: 10px;
    padding: 14px 18px;
    transition: background 0.2s, border-color 0.2s;
}

.cap-stat:hover {
    background: rgba(212,175,55,0.05);
    border-color: rgba(212,175,55,0.2);
}

.cap-stat--full {
    grid-column: 1 / -1;
}

.cap-stat--remain .cap-stat-value {
    color: #10b981;
}

.cap-stat--danger .cap-stat-value {
    color: #ef4444;
}

.cap-stat-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cap-stat-label i {
    color: var(--primary-color);
    font-size: 10px;
}

.cap-stat-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.1;
}

.cap-stat-value.gold {
    color: var(--primary-color);
}

/* Progress bar inside stat */
.cap-progress-bar-wrap {
    height: 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.07);
    overflow: hidden;
    margin: 8px 0 6px;
}

.cap-progress-bar {
    height: 100%;
    border-radius: 999px;
    transition: width 1.2s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}

.cap-progress-bar::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);
    animation: shimmerBar 2s linear infinite;
}

@keyframes shimmerBar {
    from { transform: translateX(-100%); }
    to   { transform: translateX(100%); }
}

.cap-progress-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 4px;
}

/* Responsive */
@media (max-width: 768px) {
    .capping-body {
        flex-direction: column;
        padding: 20px;
        align-items: center;
    }

    .capping-stats {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .cap-stat--full {
        grid-column: 1;
    }
}
